The best Hacker News stories from Show from the past day
Latest posts:
Show HN: OpenSign – Open source alternative to DocuSign
Show HN: OpenSign – Open source alternative to DocuSign
Show HN: OpenSign – Open source alternative to DocuSign
Show HN: Pākiki Proxy – An intercepting proxy for penetration testing
Hey HN,
I've been working on an intercepting proxy for penetration testing over the last few years in my spare time.<p>Some points of difference from the existing tools:<p>* The UIs are built using the native platform frameworks, meaning they look and behave like other applications on the desktop.<p>* It has a fully embedded and integrated Python scripting engine.<p>* It’s fully native meaning it’s nicer on system resources.<p>* It has a number of built in scripts to automate reconnaissance, content discovery, authorisation checks, etc.<p>* The core of it is open source.<p>I'm really keen to get any feedback!
Show HN: Pākiki Proxy – An intercepting proxy for penetration testing
Hey HN,
I've been working on an intercepting proxy for penetration testing over the last few years in my spare time.<p>Some points of difference from the existing tools:<p>* The UIs are built using the native platform frameworks, meaning they look and behave like other applications on the desktop.<p>* It has a fully embedded and integrated Python scripting engine.<p>* It’s fully native meaning it’s nicer on system resources.<p>* It has a number of built in scripts to automate reconnaissance, content discovery, authorisation checks, etc.<p>* The core of it is open source.<p>I'm really keen to get any feedback!
Show HN: Pākiki Proxy – An intercepting proxy for penetration testing
Hey HN,
I've been working on an intercepting proxy for penetration testing over the last few years in my spare time.<p>Some points of difference from the existing tools:<p>* The UIs are built using the native platform frameworks, meaning they look and behave like other applications on the desktop.<p>* It has a fully embedded and integrated Python scripting engine.<p>* It’s fully native meaning it’s nicer on system resources.<p>* It has a number of built in scripts to automate reconnaissance, content discovery, authorisation checks, etc.<p>* The core of it is open source.<p>I'm really keen to get any feedback!
Show HN: Biblos – Semantic Bible Embedded Vector Search and Claude LLM
Introducing Biblos, a simple tool for semantic search and summarization of Bible passages. Leveraging Chroma for vector search with BAAI BGE embeddings, semantically find related verses across the Bible. The tool employs Anthropic's Claude LLM model for generating high-quality summaries of retrieved passages, contextualizing your search topic. Built on a Retrieval Augmented Generation (RAG) architecture, the app implements a simple Streamlit Web UI using Python. Deployed using render.com, the app is available at <a href="https://biblos.app" rel="nofollow noreferrer">https://biblos.app</a><p>Note: Search by just topic/keywords, e.g. "Kingdom of Heaven", for broader results!
Show HN: Biblos – Semantic Bible Embedded Vector Search and Claude LLM
Introducing Biblos, a simple tool for semantic search and summarization of Bible passages. Leveraging Chroma for vector search with BAAI BGE embeddings, semantically find related verses across the Bible. The tool employs Anthropic's Claude LLM model for generating high-quality summaries of retrieved passages, contextualizing your search topic. Built on a Retrieval Augmented Generation (RAG) architecture, the app implements a simple Streamlit Web UI using Python. Deployed using render.com, the app is available at <a href="https://biblos.app" rel="nofollow noreferrer">https://biblos.app</a><p>Note: Search by just topic/keywords, e.g. "Kingdom of Heaven", for broader results!
Show HN: Biblos – Semantic Bible Embedded Vector Search and Claude LLM
Introducing Biblos, a simple tool for semantic search and summarization of Bible passages. Leveraging Chroma for vector search with BAAI BGE embeddings, semantically find related verses across the Bible. The tool employs Anthropic's Claude LLM model for generating high-quality summaries of retrieved passages, contextualizing your search topic. Built on a Retrieval Augmented Generation (RAG) architecture, the app implements a simple Streamlit Web UI using Python. Deployed using render.com, the app is available at <a href="https://biblos.app" rel="nofollow noreferrer">https://biblos.app</a><p>Note: Search by just topic/keywords, e.g. "Kingdom of Heaven", for broader results!
Show HN: ScratchDB – Open-Source Snowflake on ClickHouse
Hello! For the past year I’ve been working on a fully-managed data warehouse built on Clickhouse. I built this because I was frustrated with how much work was required to run an OLAP database in prod: re-writing my app to do batch inserts, managing clusters and needing to look up special CREATE TABLE syntax every time I made a change. I found pricing for other warehouses confusing (what is a “credit” exactly?) and worried about getting capacity-planning wrong.<p>I was previously building accounting software for firms with millions of transactions. I desperately needed to move from Postgres to an OLAP database but didn’t know where to start. I eventually built abstractions around Clickhouse: My application code called an insert() function but in the background I had to stand up Kafka for streaming, bulk loading, DB drivers, Clickhouse configs, and manage schema changes.<p>This was all a big distraction when all I wanted was to save data and get it back. So I decided to build a better developer experience around it. The software is open-source: <a href="https://github.com/scratchdata/ScratchDB">https://github.com/scratchdata/ScratchDB</a> and and the paid offering is a hosted version: <a href="https://www.scratchdb.com/">https://www.scratchdb.com/</a>.<p>It's called “ScratchDB” because the idea is to make it easy to get started from scratch. It’s a massively simpler abstraction on top of Clickhouse.<p>ScratchDB provides two endpoints [1]: one to insert data and another to query. When you send any JSON, it automatically creates tables and columns based on the structure [2]. Because table creation is automated, you can just start sending data and the system will just work [3]. It also means you can use Scratch as any webhook destination without prior setup [4,5]. When you query, just pass SQL as a query param and it returns JSON.<p>It handles streaming and bulk loading data. When data is inserted, I append it to a file on disk, which is then bulk loaded into Clickhouse. The overall goal is for the platform to automatically handle managing shards and replicas.<p>The whole thing runs on regular servers. Hetzner has become our cloud of choice, along with Backblaze B2 and SQS. It is written in Go. From an architecture perspective I try to keep things simple - want folks to make economical use of their servers.<p>So far ScratchDB has ingested about 2 TB of data and 4,000 requests/second on about $100 worth of monthly server costs.<p>Feel free to download it and play around - if you’re interested in this stuff then I’d love to chat! Really looking for feedback on what is hard about analytical databases and what would make the developer experience easier!<p>[1] <a href="https://scratchdb.com/docs">https://scratchdb.com/docs</a><p>[2] <a href="https://scratchdb.com/blog/flatten-json/">https://scratchdb.com/blog/flatten-json/</a><p>[3] <a href="https://scratchdb.com/blog/scratchdb-email-signups/">https://scratchdb.com/blog/scratchdb-email-signups/</a><p>[4] <a href="https://scratchdb.com/blog/stripe-data-ingest/">https://scratchdb.com/blog/stripe-data-ingest/</a><p>[5] <a href="https://scratchdb.com/blog/shopify-data-ingest/">https://scratchdb.com/blog/shopify-data-ingest/</a>
Show HN: ScratchDB – Open-Source Snowflake on ClickHouse
Hello! For the past year I’ve been working on a fully-managed data warehouse built on Clickhouse. I built this because I was frustrated with how much work was required to run an OLAP database in prod: re-writing my app to do batch inserts, managing clusters and needing to look up special CREATE TABLE syntax every time I made a change. I found pricing for other warehouses confusing (what is a “credit” exactly?) and worried about getting capacity-planning wrong.<p>I was previously building accounting software for firms with millions of transactions. I desperately needed to move from Postgres to an OLAP database but didn’t know where to start. I eventually built abstractions around Clickhouse: My application code called an insert() function but in the background I had to stand up Kafka for streaming, bulk loading, DB drivers, Clickhouse configs, and manage schema changes.<p>This was all a big distraction when all I wanted was to save data and get it back. So I decided to build a better developer experience around it. The software is open-source: <a href="https://github.com/scratchdata/ScratchDB">https://github.com/scratchdata/ScratchDB</a> and and the paid offering is a hosted version: <a href="https://www.scratchdb.com/">https://www.scratchdb.com/</a>.<p>It's called “ScratchDB” because the idea is to make it easy to get started from scratch. It’s a massively simpler abstraction on top of Clickhouse.<p>ScratchDB provides two endpoints [1]: one to insert data and another to query. When you send any JSON, it automatically creates tables and columns based on the structure [2]. Because table creation is automated, you can just start sending data and the system will just work [3]. It also means you can use Scratch as any webhook destination without prior setup [4,5]. When you query, just pass SQL as a query param and it returns JSON.<p>It handles streaming and bulk loading data. When data is inserted, I append it to a file on disk, which is then bulk loaded into Clickhouse. The overall goal is for the platform to automatically handle managing shards and replicas.<p>The whole thing runs on regular servers. Hetzner has become our cloud of choice, along with Backblaze B2 and SQS. It is written in Go. From an architecture perspective I try to keep things simple - want folks to make economical use of their servers.<p>So far ScratchDB has ingested about 2 TB of data and 4,000 requests/second on about $100 worth of monthly server costs.<p>Feel free to download it and play around - if you’re interested in this stuff then I’d love to chat! Really looking for feedback on what is hard about analytical databases and what would make the developer experience easier!<p>[1] <a href="https://scratchdb.com/docs">https://scratchdb.com/docs</a><p>[2] <a href="https://scratchdb.com/blog/flatten-json/">https://scratchdb.com/blog/flatten-json/</a><p>[3] <a href="https://scratchdb.com/blog/scratchdb-email-signups/">https://scratchdb.com/blog/scratchdb-email-signups/</a><p>[4] <a href="https://scratchdb.com/blog/stripe-data-ingest/">https://scratchdb.com/blog/stripe-data-ingest/</a><p>[5] <a href="https://scratchdb.com/blog/shopify-data-ingest/">https://scratchdb.com/blog/shopify-data-ingest/</a>
Show HN: ScratchDB – Open-Source Snowflake on ClickHouse
Hello! For the past year I’ve been working on a fully-managed data warehouse built on Clickhouse. I built this because I was frustrated with how much work was required to run an OLAP database in prod: re-writing my app to do batch inserts, managing clusters and needing to look up special CREATE TABLE syntax every time I made a change. I found pricing for other warehouses confusing (what is a “credit” exactly?) and worried about getting capacity-planning wrong.<p>I was previously building accounting software for firms with millions of transactions. I desperately needed to move from Postgres to an OLAP database but didn’t know where to start. I eventually built abstractions around Clickhouse: My application code called an insert() function but in the background I had to stand up Kafka for streaming, bulk loading, DB drivers, Clickhouse configs, and manage schema changes.<p>This was all a big distraction when all I wanted was to save data and get it back. So I decided to build a better developer experience around it. The software is open-source: <a href="https://github.com/scratchdata/ScratchDB">https://github.com/scratchdata/ScratchDB</a> and and the paid offering is a hosted version: <a href="https://www.scratchdb.com/">https://www.scratchdb.com/</a>.<p>It's called “ScratchDB” because the idea is to make it easy to get started from scratch. It’s a massively simpler abstraction on top of Clickhouse.<p>ScratchDB provides two endpoints [1]: one to insert data and another to query. When you send any JSON, it automatically creates tables and columns based on the structure [2]. Because table creation is automated, you can just start sending data and the system will just work [3]. It also means you can use Scratch as any webhook destination without prior setup [4,5]. When you query, just pass SQL as a query param and it returns JSON.<p>It handles streaming and bulk loading data. When data is inserted, I append it to a file on disk, which is then bulk loaded into Clickhouse. The overall goal is for the platform to automatically handle managing shards and replicas.<p>The whole thing runs on regular servers. Hetzner has become our cloud of choice, along with Backblaze B2 and SQS. It is written in Go. From an architecture perspective I try to keep things simple - want folks to make economical use of their servers.<p>So far ScratchDB has ingested about 2 TB of data and 4,000 requests/second on about $100 worth of monthly server costs.<p>Feel free to download it and play around - if you’re interested in this stuff then I’d love to chat! Really looking for feedback on what is hard about analytical databases and what would make the developer experience easier!<p>[1] <a href="https://scratchdb.com/docs">https://scratchdb.com/docs</a><p>[2] <a href="https://scratchdb.com/blog/flatten-json/">https://scratchdb.com/blog/flatten-json/</a><p>[3] <a href="https://scratchdb.com/blog/scratchdb-email-signups/">https://scratchdb.com/blog/scratchdb-email-signups/</a><p>[4] <a href="https://scratchdb.com/blog/stripe-data-ingest/">https://scratchdb.com/blog/stripe-data-ingest/</a><p>[5] <a href="https://scratchdb.com/blog/shopify-data-ingest/">https://scratchdb.com/blog/shopify-data-ingest/</a>
Show HN: Prompt-Engineering Tool: AI-to-AI Testing for LLM
Spelltest framework simulates conversations between AI ‘synthetic users' in an environment to test and refine LLM-based applications. It ensures your app converse with utmost accuracy and relevance. Post-chat, Spelltest assesses responses, providing qualitative and quantitative feedback on performance. Suitable for both chat and completion modes.<p>When to use:
- After modifying your prompt.
- When your LLM provider updates.
- As a CI step for you repo.<p>All feedback and collaborations appreciated!
Show HN: Tonic Validate Metrics – an open-source RAG evaluation metrics package
Hey HN, Joe and Ethan from Tonic.ai here. We just released a new open-source python package for evaluating the performance of Retrieval Augmented Generation (RAG) systems.<p>Earlier this year, we started developing a RAG-powered app to enable companies to talk to their free-text data safely.<p>During our experimentation, however, we realized that using such a new method meant that there weren’t industry-standards for evaluation metrics to measure the accuracy of RAG performance. We built Tonic Validate Metrics (tvalmetrics, for short) to easily calculate the benchmarks we needed to meet in building our RAG system.<p>We’re sharing this python package with the hope that it will be as useful for you as it has been for us and become a key part of the toolset you use to build LLM-powered applications. We also made Tonic Validate Metrics open-source so that it can thrive and evolve with your contributions!<p>Please take it for a spin and let us know what you think in the comments.<p>Docs: <a href="https://docs.tonic.ai/validate" rel="nofollow noreferrer">https://docs.tonic.ai/validate</a><p>Repo: <a href="https://github.com/TonicAI/tvalmetrics">https://github.com/TonicAI/tvalmetrics</a><p>Tonic Validate: <a href="https://validate.tonic.ai" rel="nofollow noreferrer">https://validate.tonic.ai</a>
Show HN: Orbital – Dynamically unifying APIs and data with no glue code
Hey HN,<p>I'm excited to share Orbital, a new approach for unifying APIs and Data sources!<p>Rather than relying on glue code to bridge endpoints, Orbital leverages annotations in schemas & API specs to build the integration dynamically.<p>The traditional method of crafting glue code often becomes repetitive and burdensome to maintain in the long run.<p>With Orbital, developers embed tags to their existing API specs (OAP, Protobuf, etc), indicating where data can be sourced, and publish these specs to Orbital (which runs self-hosted).<p>Consumers query these tags with our TaxiQL language,
and Orbital generates the integration on the fly. That could be merging multiple APIs, blending API and database queries,
or enriching event streams to craft custom message payloads.<p>It feels a lot like writing GraphQL, but there's no resolvers to maintain, and producers are free to use a variety of API Spec languages.<p>The beauty of using tags over field names is the adaptability. As API developers update and publish their specs, the integration remains seamless and automatically adjusts.<p>Under the hood, the tags (and associated query language) are actually Taxi - an OSS meta-language and toolchain we build (and have shared previously). Orbital is a query engine that executes TaxiQL queries, generating the integration.<p>We've been working on this for a while, and have a number of production deployments. We recently made the move to make the source available on Github under a mix of Apache 2 (Open Core) and BuSL.<p>In a nutshell, Orbital excels in Data Composition (covering APIs, DBs), crafting Bespoke Event Streams, and streamlining ELT workloads into databases.<p>Excited to hear your thoughts and feedback!
Show HN: Instant API – Build type-safe web APIs with JavaScript
Hey there HN! I just wrapped up an all-day documentation spree for Instant API, a JavaScript framework for easily building web APIs that implements type safety at the HTTP interface. It uses a function-as-a-service approach combined with a slightly modified JSDoc spec to automatically enforce parameter and schema validation before HTTP requests make it through to your code. You just write comments above your endpoint functions and voila, enforced type safety contracts between your API endpoints and your developers. OpenAPI specifications are generated automatically as a byproduct of simply building your endpoints.<p>This eliminates the need for most schema validation libraries, automates user input sanitization, and prevents your team from developing carpal tunnel syndrome trying to keep your OpenAPI / Swagger specifications up-to-date. We developed it as a side effect of building our own serverless API platform, where it has scaled to handle over 100M requests from users per day. This is an early release, but Instant API has had about six years of consistent development as proprietary software to get to the point it is at today. We have spent the last couple of months modernizing it.<p>We have command line tools that make building, testing, and deploying Instant API to Vercel or AWS a breeze. Additionally, there is a sister package, Instant ORM, that provides a Ruby on Rails-like model management, migration and querying suite for Postgres. Everything you need to build an API from scratch.<p>Finally -- LLMs and chatbots are the the top of the hype cycle right now. We aren't immune, and have developed a number of LLM-integrated tools ourselves. Instant API comes with first-class Server-Sent Event support for building your own assistants and a few other nifty tools that help with AI integrations and chatbot webhook responses, like executing endpoints as background jobs.<p>This has been a huge labor of love -- it has become our "JavaScript on Rails" suite -- and we hope y'all enjoy it!
Show HN: Instant API – Build type-safe web APIs with JavaScript
Hey there HN! I just wrapped up an all-day documentation spree for Instant API, a JavaScript framework for easily building web APIs that implements type safety at the HTTP interface. It uses a function-as-a-service approach combined with a slightly modified JSDoc spec to automatically enforce parameter and schema validation before HTTP requests make it through to your code. You just write comments above your endpoint functions and voila, enforced type safety contracts between your API endpoints and your developers. OpenAPI specifications are generated automatically as a byproduct of simply building your endpoints.<p>This eliminates the need for most schema validation libraries, automates user input sanitization, and prevents your team from developing carpal tunnel syndrome trying to keep your OpenAPI / Swagger specifications up-to-date. We developed it as a side effect of building our own serverless API platform, where it has scaled to handle over 100M requests from users per day. This is an early release, but Instant API has had about six years of consistent development as proprietary software to get to the point it is at today. We have spent the last couple of months modernizing it.<p>We have command line tools that make building, testing, and deploying Instant API to Vercel or AWS a breeze. Additionally, there is a sister package, Instant ORM, that provides a Ruby on Rails-like model management, migration and querying suite for Postgres. Everything you need to build an API from scratch.<p>Finally -- LLMs and chatbots are the the top of the hype cycle right now. We aren't immune, and have developed a number of LLM-integrated tools ourselves. Instant API comes with first-class Server-Sent Event support for building your own assistants and a few other nifty tools that help with AI integrations and chatbot webhook responses, like executing endpoints as background jobs.<p>This has been a huge labor of love -- it has become our "JavaScript on Rails" suite -- and we hope y'all enjoy it!
Show HN: A note-keeping system on top of Fossil SCM
Show HN: A note-keeping system on top of Fossil SCM
Show HN: A note-keeping system on top of Fossil SCM