The best Hacker News stories from Show from the past week
Latest posts:
Show HN: Sshx, a web-based collaborative terminal
Show HN: WireHub – easily create and share WireGuard networks
WireHub is a side project I've been working on, on and off, for close to a year now. It's made with django and minimal javascript.<p>It's a hosted WireGuard config generator/manager, that you can invite others to join your networks and manage their own configs/devices.<p>It's still very much a beta, maybe an mvp, but I just wanted to get some early from the community.<p>Thanks!
Show HN: WireHub – easily create and share WireGuard networks
WireHub is a side project I've been working on, on and off, for close to a year now. It's made with django and minimal javascript.<p>It's a hosted WireGuard config generator/manager, that you can invite others to join your networks and manage their own configs/devices.<p>It's still very much a beta, maybe an mvp, but I just wanted to get some early from the community.<p>Thanks!
Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby
From the company behind Dolt—the world's first fully versioned database—comes DoltgreSQL, which implements PostgreSQL's variant of SQL.<p>DoltgreSQL is at a very early stage, and we have quite a lot of work left to do, but we'd love to hear all thoughts and opinions! You can read more in the announcement blog post: <a href="https://www.dolthub.com/blog/2023-11-01-announcing-doltgresql/" rel="nofollow noreferrer">https://www.dolthub.com/blog/2023-11-01-announcing-doltgresq...</a>
Show HN: MicroTCP, a minimal TCP/IP stack
Show HN: MicroTCP, a minimal TCP/IP stack
Show HN: Light implementation of Event Sourcing using PostgreSQL as event store
Hi everyone,<p>If you have a Java Spring Boot application with a PostgreSQL database, you can implement Event Sourcing without introducing new specialized databases or frameworks.<p>If you have an application dealing with an entity called Order, you should adopt Event Sourcing to keep track of all changes, and know how the Order got into the current state.<p>Event Sourcing gives you:<p>1. the true history of the system (audit and traceability),<p>2. the ability to put the system in any prior state (debugging),<p>3. the ability to create read projections from events as needed to respond to new demands.<p>There are several well-known specialized frameworks and databases for Event Sourcing: EventStoreDB, Marten, Eventuate, to name a few.
But adopting a new framework or database you are not familiar with may stop you from trying the Event Sourcing pattern in your project. But you can actually implement Event Sourcing with a few classes and use PostgreSQL as an event store.<p>The "postgresql-event-sourcing" project is a reference implementation of an event-sourced system that uses PostgreSQL as an event store built with Spring Boot. Fork the repository and use it as a template for your projects. Or clone the repository and run end-to-end tests to see how everything works together.<p>The project describes in detail:<p>- database model for storing events,<p>- synchronous and asynchronous event handlers,<p>- CQRS,<p>- Transactional Outbox pattern,<p>- Polling Publisher pattern,<p>- optimized publisher that uses PostgreSQL LISTEN/NOTIFY capabilities,<p>- and more.<p>This project can be easily extended to comply with your domain model.<p>The source code is available on GitHub <<a href="https://github.com/eugene-khyst/postgresql-event-sourcing">https://github.com/eugene-khyst/postgresql-event-sourcing</a>>.
Show HN: Light implementation of Event Sourcing using PostgreSQL as event store
Hi everyone,<p>If you have a Java Spring Boot application with a PostgreSQL database, you can implement Event Sourcing without introducing new specialized databases or frameworks.<p>If you have an application dealing with an entity called Order, you should adopt Event Sourcing to keep track of all changes, and know how the Order got into the current state.<p>Event Sourcing gives you:<p>1. the true history of the system (audit and traceability),<p>2. the ability to put the system in any prior state (debugging),<p>3. the ability to create read projections from events as needed to respond to new demands.<p>There are several well-known specialized frameworks and databases for Event Sourcing: EventStoreDB, Marten, Eventuate, to name a few.
But adopting a new framework or database you are not familiar with may stop you from trying the Event Sourcing pattern in your project. But you can actually implement Event Sourcing with a few classes and use PostgreSQL as an event store.<p>The "postgresql-event-sourcing" project is a reference implementation of an event-sourced system that uses PostgreSQL as an event store built with Spring Boot. Fork the repository and use it as a template for your projects. Or clone the repository and run end-to-end tests to see how everything works together.<p>The project describes in detail:<p>- database model for storing events,<p>- synchronous and asynchronous event handlers,<p>- CQRS,<p>- Transactional Outbox pattern,<p>- Polling Publisher pattern,<p>- optimized publisher that uses PostgreSQL LISTEN/NOTIFY capabilities,<p>- and more.<p>This project can be easily extended to comply with your domain model.<p>The source code is available on GitHub <<a href="https://github.com/eugene-khyst/postgresql-event-sourcing">https://github.com/eugene-khyst/postgresql-event-sourcing</a>>.
Phind Model beats GPT-4 at coding, with GPT-3.5 speed and 16k context
Hi HN,<p>We’re excited to announce that Phind now defaults to our own model that matches and exceeds GPT-4’s coding abilities while running 5x faster. You can now get high quality answers for technical questions in 10 seconds instead of 50.<p>The current 7th-generation Phind Model is built on top of our open-source CodeLlama-34B fine-tunes that were the first models to beat GPT-4’s score on HumanEval and are still the best open source coding models overall by a wide margin: <a href="https://huggingface.co/spaces/bigcode/bigcode-models-leaderboard" rel="nofollow noreferrer">https://huggingface.co/spaces/bigcode/bigcode-models-leaderb...</a>.<p>This new model has been fine-tuned on an additional 70B+ tokens of high quality code and reasoning problems and exhibits a HumanEval score of 74.7%. However, we’ve found that HumanEval is a poor indicator of real-world helpfulness. After deploying previous iterations of the Phind Model on our service, we’ve collected detailed feedback and noticed that our model matches or exceeds GPT-4’s helpfulness most of the time on real-world questions. Many in our Discord community have begun using Phind exclusively with the Phind Model despite also having unlimited access to GPT-4.<p>One of the Phind Model’s key advantages is that it's very fast. We’ve been able to achieve a 5x speedup over GPT-4 by running our model on H100s using the new TensorRT-LLM library from NVIDIA. We can achieve up to 100 tokens per second single-stream while GPT-4 runs around 20 tokens per second at best.<p>Another key advantage of the Phind Model is context – it supports up to 16k tokens. We currently allow inputs of up to 12k tokens on the website and reserve the remaining 4k for web results.<p>There are still some rough edges with the Phind Model and we’ll continue improving it constantly. One area where it still suffers is consistency — on certain challenging questions where it is capable of getting the right answer, the Phind Model might take more generations to get to the right answer than GPT-4.<p>We’d love to hear your feedback.<p>Cheers,<p>The Phind Team
Phind Model beats GPT-4 at coding, with GPT-3.5 speed and 16k context
Hi HN,<p>We’re excited to announce that Phind now defaults to our own model that matches and exceeds GPT-4’s coding abilities while running 5x faster. You can now get high quality answers for technical questions in 10 seconds instead of 50.<p>The current 7th-generation Phind Model is built on top of our open-source CodeLlama-34B fine-tunes that were the first models to beat GPT-4’s score on HumanEval and are still the best open source coding models overall by a wide margin: <a href="https://huggingface.co/spaces/bigcode/bigcode-models-leaderboard" rel="nofollow noreferrer">https://huggingface.co/spaces/bigcode/bigcode-models-leaderb...</a>.<p>This new model has been fine-tuned on an additional 70B+ tokens of high quality code and reasoning problems and exhibits a HumanEval score of 74.7%. However, we’ve found that HumanEval is a poor indicator of real-world helpfulness. After deploying previous iterations of the Phind Model on our service, we’ve collected detailed feedback and noticed that our model matches or exceeds GPT-4’s helpfulness most of the time on real-world questions. Many in our Discord community have begun using Phind exclusively with the Phind Model despite also having unlimited access to GPT-4.<p>One of the Phind Model’s key advantages is that it's very fast. We’ve been able to achieve a 5x speedup over GPT-4 by running our model on H100s using the new TensorRT-LLM library from NVIDIA. We can achieve up to 100 tokens per second single-stream while GPT-4 runs around 20 tokens per second at best.<p>Another key advantage of the Phind Model is context – it supports up to 16k tokens. We currently allow inputs of up to 12k tokens on the website and reserve the remaining 4k for web results.<p>There are still some rough edges with the Phind Model and we’ll continue improving it constantly. One area where it still suffers is consistency — on certain challenging questions where it is capable of getting the right answer, the Phind Model might take more generations to get to the right answer than GPT-4.<p>We’d love to hear your feedback.<p>Cheers,<p>The Phind Team
Show HN: how I built the largest open database of Australian law
Show HN: how I built the largest open database of Australian law
Show HN: WireHole combines WireGuard, Pi-hole, and Unbound with an easy UI
WireHole offers a unified docker-compose project that integrates WireGuard, PiHole, and Unbound, complete with a user interface. This solution is designed to empower users to swiftly set up and manage either a full or split-tunnel WireGuard VPN. It features ad-blocking capabilities through PiHole and enhanced DNS caching and privacy options via Unbound. The intuitive UI makes deployment and ongoing management straightforward, providing a comprehensive VPN solution with added privacy features.
Show HN: WireHole combines WireGuard, Pi-hole, and Unbound with an easy UI
WireHole offers a unified docker-compose project that integrates WireGuard, PiHole, and Unbound, complete with a user interface. This solution is designed to empower users to swiftly set up and manage either a full or split-tunnel WireGuard VPN. It features ad-blocking capabilities through PiHole and enhanced DNS caching and privacy options via Unbound. The intuitive UI makes deployment and ongoing management straightforward, providing a comprehensive VPN solution with added privacy features.
Show HN: WireHole combines WireGuard, Pi-hole, and Unbound with an easy UI
WireHole offers a unified docker-compose project that integrates WireGuard, PiHole, and Unbound, complete with a user interface. This solution is designed to empower users to swiftly set up and manage either a full or split-tunnel WireGuard VPN. It features ad-blocking capabilities through PiHole and enhanced DNS caching and privacy options via Unbound. The intuitive UI makes deployment and ongoing management straightforward, providing a comprehensive VPN solution with added privacy features.
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: 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>