The best Hacker News stories from Show from the past day
Latest posts:
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>>.
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
Show HN: Gobeats, a Google Drive command line music player
Show HN: Launch a private Ethereum Testnet with all clients and MEV infra
We've been working with the Ethereum Foundation & Flashbots to build tooling and infrastructure for developers to test various workflows for Ethereum. As part of that work, anyone can now spin up a local Ethereum dev net with the entire Flashbots mev-boost infra (relayer, builder, boost) using the ethereum-package. This package supports all EL and CL client types, works on Kubernetes for scale testing, and comes with a few bells and whistles like metrics, mock-builders, and beacon chain explorers.<p>This is the de-facto tool for teams modifying and testing the consensus layer.<p>Here's a full tutorial - <a href="https://docs.kurtosis.com/how-to-full-mev-with-ethereum-package/" rel="nofollow noreferrer">https://docs.kurtosis.com/how-to-full-mev-with-ethereum-pack...</a>
Show HN: I made a ChatGPT UI that looks like Slack
Show HN: YCombinato – A domain-hacked "Hacker News" client
Hi HN,<p>This is a little "HN Reader" experiment I made using a domain hack of "news.ycombinato.com" <- <i>notice the "r" is missing</i>.<p>Basically, I thought it would be cool to make a "clone" of the "Hacker News" URL so you can quickly navigate to "YCombinato" from any post on "news.ycombinator" by just <i>dropping the r</i> in the domain. The benefit is a few extra features like; sorting, searching etc...<p>Unfortunately I realized it's essentially a phishing attack :( according to the browser, which means there will probably be a warning message on most browsers... but it's still usable and hopefully people find it enjoyable.<p>There's so many "Hacker News" clients now that it's almost equivalent to the TODO app for web developers. This project does take it pretty far by replicating the URL, so if moderators are unhappy with it, please let me know<p>It's a static site using the [1] algolia API, but I tried hard to make it fast and snappy. It's fully [2] open-source and hosted on github too.<p>Anyway, thought I'd share it, let me know what you think!<p>[1] <a href="https://hn.algolia.com/api" rel="nofollow noreferrer">https://hn.algolia.com/api</a><p>[2] <a href="https://github.com/benwinding/ycombinato">https://github.com/benwinding/ycombinato</a>
Show HN: Unlogged – open-source record and replay for Java
Hello HN! Parth, and Shardul here. We have been building unlogged.io for the last 21 months. We started as a time travel debugger and pivoted to record and replay with assertions, mocking, and code coverage. You can save the replays in the form of a JSON and commit them to your git.<p>Both Parth and I come from an e-commerce/payments background where production bugs meant heavy financial losses. Big billion days/Black Friday sales meant months of code freezes with low productivity. Before committing the code, we wanted to replay production traffic and know the breaking changes right away, like in sub-second. Kind of like unit+integration tests on steroids.<p>So, we built an SDK that adds probes to the code in compile time. The SDK logs code execution, in detail.<p>Git: <a href="https://github.com/unloggedio/unlogged-sdk">https://github.com/unloggedio/unlogged-sdk</a><p>We also built an IDE plugin that keeps monitoring code changes, hot reloads these changes, replays the relevant methods, and alerts on failing replays. It also lets developers call Java methods directly, mock downstream methods in run time, highlight code coverage in real-time, and show performance numbers for methods with inlay hints. (right above each method)<p>Git: <a href="https://github.com/unloggedio/intellij-java-plugin">https://github.com/unloggedio/intellij-java-plugin</a><p>We are excited to launch the first version of our product that replays with assertions + mocking + code coverage reports right inside the IDE.<p>Link to our IntelliJ plugin: <a href="https://plugins.jetbrains.com/plugin/18529-unlogged/" rel="nofollow noreferrer">https://plugins.jetbrains.com/plugin/18529-unlogged/</a><p>Record and Replay Demo: <a href="https://www.youtube.com/watch?v=muCyE-doEB0">https://www.youtube.com/watch?v=muCyE-doEB0</a><p>Define Assertions on Replay: <a href="https://www.youtube.com/watch?v=YKsi1p634-M">https://www.youtube.com/watch?v=YKsi1p634-M</a><p>Track Code Coverage: <a href="https://www.youtube.com/watch?v=NMmp954kfaU">https://www.youtube.com/watch?v=NMmp954kfaU</a><p>Generate JUnit Test Cases: <a href="https://www.youtube.com/watch?v=rTUmg5b1Z_Q">https://www.youtube.com/watch?v=rTUmg5b1Z_Q</a><p>Mocking when replaying: <a href="https://www.youtube.com/watch?v=O_aqU1u-Kmw">https://www.youtube.com/watch?v=O_aqU1u-Kmw</a><p>Documentation: <a href="http://read.unlogged.io/" rel="nofollow noreferrer">http://read.unlogged.io/</a><p>Roadmap:<p>1. Create a production logger<p>-So that the performance impact is minimal<p>-out of the box masking PII from production logs<p>-creating meaningful input/return value combinations from production traffic to be replayed locally.<p>2. Creating a CI test runner that can integrate with CI/CD pipelines.<p>3. Auto-Replaying API endpoints of only the changed code.<p>4. Real-time alerts for the performance impact of code changes.<p>5. Creating a dashboard with reports, email/slack alerts.
Show HN: Unlogged – open-source record and replay for Java
Hello HN! Parth, and Shardul here. We have been building unlogged.io for the last 21 months. We started as a time travel debugger and pivoted to record and replay with assertions, mocking, and code coverage. You can save the replays in the form of a JSON and commit them to your git.<p>Both Parth and I come from an e-commerce/payments background where production bugs meant heavy financial losses. Big billion days/Black Friday sales meant months of code freezes with low productivity. Before committing the code, we wanted to replay production traffic and know the breaking changes right away, like in sub-second. Kind of like unit+integration tests on steroids.<p>So, we built an SDK that adds probes to the code in compile time. The SDK logs code execution, in detail.<p>Git: <a href="https://github.com/unloggedio/unlogged-sdk">https://github.com/unloggedio/unlogged-sdk</a><p>We also built an IDE plugin that keeps monitoring code changes, hot reloads these changes, replays the relevant methods, and alerts on failing replays. It also lets developers call Java methods directly, mock downstream methods in run time, highlight code coverage in real-time, and show performance numbers for methods with inlay hints. (right above each method)<p>Git: <a href="https://github.com/unloggedio/intellij-java-plugin">https://github.com/unloggedio/intellij-java-plugin</a><p>We are excited to launch the first version of our product that replays with assertions + mocking + code coverage reports right inside the IDE.<p>Link to our IntelliJ plugin: <a href="https://plugins.jetbrains.com/plugin/18529-unlogged/" rel="nofollow noreferrer">https://plugins.jetbrains.com/plugin/18529-unlogged/</a><p>Record and Replay Demo: <a href="https://www.youtube.com/watch?v=muCyE-doEB0">https://www.youtube.com/watch?v=muCyE-doEB0</a><p>Define Assertions on Replay: <a href="https://www.youtube.com/watch?v=YKsi1p634-M">https://www.youtube.com/watch?v=YKsi1p634-M</a><p>Track Code Coverage: <a href="https://www.youtube.com/watch?v=NMmp954kfaU">https://www.youtube.com/watch?v=NMmp954kfaU</a><p>Generate JUnit Test Cases: <a href="https://www.youtube.com/watch?v=rTUmg5b1Z_Q">https://www.youtube.com/watch?v=rTUmg5b1Z_Q</a><p>Mocking when replaying: <a href="https://www.youtube.com/watch?v=O_aqU1u-Kmw">https://www.youtube.com/watch?v=O_aqU1u-Kmw</a><p>Documentation: <a href="http://read.unlogged.io/" rel="nofollow noreferrer">http://read.unlogged.io/</a><p>Roadmap:<p>1. Create a production logger<p>-So that the performance impact is minimal<p>-out of the box masking PII from production logs<p>-creating meaningful input/return value combinations from production traffic to be replayed locally.<p>2. Creating a CI test runner that can integrate with CI/CD pipelines.<p>3. Auto-Replaying API endpoints of only the changed code.<p>4. Real-time alerts for the performance impact of code changes.<p>5. Creating a dashboard with reports, email/slack alerts.
Show HN: Web app to generate AI pictures with logos "hidden" in them
Hey there<p>Some time ago I built a site that generates AI pictures in a style of GitHub logo (<a href="https://octoart.vercel.app/" rel="nofollow noreferrer">https://octoart.vercel.app/</a>). It's completely free, and even official GitHub accounts in Twitter and Instagram (yes turns out they have Instagram) posted about it. It was fun.<p>So I thought it would be cool to build an app that works with any logo, so people can generate nice branded pictures with their logo.<p>I went on to build <a href="https://logopictureai.com/" rel="nofollow noreferrer">https://logopictureai.com/</a>. It's build with Next.js, Replicate API and Supabase.<p>It's a very early version, I built it in a weekend.<p>It works like this: your upload a logo, type a prompt (or select a predefined one), select number of variations to generate and click a button. Images will be delivered to your email in 2-3 minutes.<p>As I said, it's pretty early and I am not sure if it's really useful. It works decently with most logos, but sometimes can generate something weird.<p>Anyways, would love to hear your thought. Thanks!
Show HN: Web app to generate AI pictures with logos "hidden" in them
Hey there<p>Some time ago I built a site that generates AI pictures in a style of GitHub logo (<a href="https://octoart.vercel.app/" rel="nofollow noreferrer">https://octoart.vercel.app/</a>). It's completely free, and even official GitHub accounts in Twitter and Instagram (yes turns out they have Instagram) posted about it. It was fun.<p>So I thought it would be cool to build an app that works with any logo, so people can generate nice branded pictures with their logo.<p>I went on to build <a href="https://logopictureai.com/" rel="nofollow noreferrer">https://logopictureai.com/</a>. It's build with Next.js, Replicate API and Supabase.<p>It's a very early version, I built it in a weekend.<p>It works like this: your upload a logo, type a prompt (or select a predefined one), select number of variations to generate and click a button. Images will be delivered to your email in 2-3 minutes.<p>As I said, it's pretty early and I am not sure if it's really useful. It works decently with most logos, but sometimes can generate something weird.<p>Anyways, would love to hear your thought. Thanks!
Show HN: Kimchi Reader – Immersive Korean Learning with a Popup Dictionary
Actually, it is yet another tool to learn a language through immersion (classic set of features, watch on youtube/netflix, read a website or book). It has a popup dictionary so you can click on a word and it will show the definition. Nothing new in that regard, except that it has been made with only Korean in mind and does not plan to extends to other languages.<p>I was learning and still am learning Korean (now using my own tool to learn!). I initially made the tool for myself because none of the tools out there could correctly figure out what a word was in the text. And that's where the biggest challenge was: recognizing the lemma.<p>A lemma is the dictionary form of a word. An example in English would be "break, breaks, broke, broken and breaking" all becoming "break". In Korean a word cannot always accurately be returned to the lemma; this might lead to several possibilities. Then the reader, with the context can understand which one ends up being the correct one.<p>Zero IA was used, pure rules based bruteforcing. I do perhaps intend later to use AI, but as a layer on top. I wanted to make sure I can parse massive amounts with cheap computation first. This open me doors to more crazy ideas for later.<p>You can see a live example on the landing page. Any feedback is appreciated!
Show HN: Kimchi Reader – Immersive Korean Learning with a Popup Dictionary
Actually, it is yet another tool to learn a language through immersion (classic set of features, watch on youtube/netflix, read a website or book). It has a popup dictionary so you can click on a word and it will show the definition. Nothing new in that regard, except that it has been made with only Korean in mind and does not plan to extends to other languages.<p>I was learning and still am learning Korean (now using my own tool to learn!). I initially made the tool for myself because none of the tools out there could correctly figure out what a word was in the text. And that's where the biggest challenge was: recognizing the lemma.<p>A lemma is the dictionary form of a word. An example in English would be "break, breaks, broke, broken and breaking" all becoming "break". In Korean a word cannot always accurately be returned to the lemma; this might lead to several possibilities. Then the reader, with the context can understand which one ends up being the correct one.<p>Zero IA was used, pure rules based bruteforcing. I do perhaps intend later to use AI, but as a layer on top. I wanted to make sure I can parse massive amounts with cheap computation first. This open me doors to more crazy ideas for later.<p>You can see a live example on the landing page. Any feedback is appreciated!
Show HN: Kimchi Reader – Immersive Korean Learning with a Popup Dictionary
Actually, it is yet another tool to learn a language through immersion (classic set of features, watch on youtube/netflix, read a website or book). It has a popup dictionary so you can click on a word and it will show the definition. Nothing new in that regard, except that it has been made with only Korean in mind and does not plan to extends to other languages.<p>I was learning and still am learning Korean (now using my own tool to learn!). I initially made the tool for myself because none of the tools out there could correctly figure out what a word was in the text. And that's where the biggest challenge was: recognizing the lemma.<p>A lemma is the dictionary form of a word. An example in English would be "break, breaks, broke, broken and breaking" all becoming "break". In Korean a word cannot always accurately be returned to the lemma; this might lead to several possibilities. Then the reader, with the context can understand which one ends up being the correct one.<p>Zero IA was used, pure rules based bruteforcing. I do perhaps intend later to use AI, but as a layer on top. I wanted to make sure I can parse massive amounts with cheap computation first. This open me doors to more crazy ideas for later.<p>You can see a live example on the landing page. Any feedback is appreciated!
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: how I built the largest open database of Australian law
Show HN: BetterOCR combines and corrects multiple OCR engines with an LLM