The best Hacker News stories from Show from the past day
Latest posts:
Show HN: Private, text to entity-relationship diagram tool
Show HN: Keep – Create production alerts from plain English
Hi Hacker News! Shahar and Tal from Keep Here.<p>We were tired of creating alerts for our applications, so we've built an open-source GitHub Bot that lets you write application alerts using plain English. The code is open-sourced: <a href="https://github.com/keephq/keep">https://github.com/keephq/keep</a> so you can review it yourself.<p>Every developer and DevOps professional is familiar with the fact that in order to ensure your application works in production, you need to access your observability tool's user interface (such as Grafana, Datadog, New Relic, etc.) and carefully determine how to create alerts that effectively monitor your application.<p>Instead, by installing Keep, every time you open a PR, the bot combines the alert description (alerts under the .keep directory) with the tool context (mostly the configuration of the alerts you already have) to generate (GPT) new alerts that keep you monitored.<p>So, for example, if you create a .keep/db-timeout.yaml and open a PR, the bot will comment on the PR with the actual alert you can deploy to your tool.<p># The alert text in plain English
alert: |
Alert when the connections to the database are slower than 5 seconds for more than 5 minutes
provider: grafana<p>You can Install the bot and connect your providers via <a href="https://platform.keephq.dev">https://platform.keephq.dev</a> (after login, you'll start the installation flow) or just clone the repository and use docker-compose to start the web app and the installation flow.<p>Demo Video - <a href="https://www.loom.com/share/23541a03944c4dca99b0504a1753d1b4" rel="nofollow">https://www.loom.com/share/23541a03944c4dca99b0504a1753d1b4</a>
Show HN: Keep – Create production alerts from plain English
Hi Hacker News! Shahar and Tal from Keep Here.<p>We were tired of creating alerts for our applications, so we've built an open-source GitHub Bot that lets you write application alerts using plain English. The code is open-sourced: <a href="https://github.com/keephq/keep">https://github.com/keephq/keep</a> so you can review it yourself.<p>Every developer and DevOps professional is familiar with the fact that in order to ensure your application works in production, you need to access your observability tool's user interface (such as Grafana, Datadog, New Relic, etc.) and carefully determine how to create alerts that effectively monitor your application.<p>Instead, by installing Keep, every time you open a PR, the bot combines the alert description (alerts under the .keep directory) with the tool context (mostly the configuration of the alerts you already have) to generate (GPT) new alerts that keep you monitored.<p>So, for example, if you create a .keep/db-timeout.yaml and open a PR, the bot will comment on the PR with the actual alert you can deploy to your tool.<p># The alert text in plain English
alert: |
Alert when the connections to the database are slower than 5 seconds for more than 5 minutes
provider: grafana<p>You can Install the bot and connect your providers via <a href="https://platform.keephq.dev">https://platform.keephq.dev</a> (after login, you'll start the installation flow) or just clone the repository and use docker-compose to start the web app and the installation flow.<p>Demo Video - <a href="https://www.loom.com/share/23541a03944c4dca99b0504a1753d1b4" rel="nofollow">https://www.loom.com/share/23541a03944c4dca99b0504a1753d1b4</a>
Show HN: Ezno, a TypeScript checker written in Rust, is now open source
Show HN: Ezno, a TypeScript checker written in Rust, is now open source
Show HN: Ezno, a TypeScript checker written in Rust, is now open source
Show HN: Arroyo – Write SQL on streaming data
Hey HN,<p>Arroyo is a modern, open-source stream processing engine, that lets anyone write complex queries on event streams just by writing SQL—windowing, aggregating, and joining events with sub-second latency.<p>Today data processing typically happens in batch data warehouses like BigQuery and Snowflake despite the fact that most of the data is coming in as streams. Data teams have to build complex orchestration systems to handle late-arriving data and job failures while trying to minimize latency. Stream processing offers an alternative approach, where the query is compiled into a streaming program that constantly updates as new data comes in, providing low-latency results as soon as the data is available.<p>I started the Arroyo project after spending the past five years building real-time platforms at Lyft and Splunk. I saw first hand how hard it is for users to build correct, reliable pipelines on top of existing systems like Flink and Spark Streaming, and how hard those pipelines are to operate for infra teams. I saw the need for a new system that would be easy enough for any data team to adopt, built on modern foundations and with the lessons of the past decade of research and industry development.<p>Arroyo works by taking SQL queries and compiling them into an optimized streaming dataflow program, a distributed DAG of computation with nodes that read from sources (like Kafka), perform stateful computations, and eventually write results to sinks. That state is consistently snapshotted using a variation of the Chandy-Lamport checkpointing algorithm for fault-tolerance and to enable fast rescaling and updates of the pipelines. The entire system is easy to self-host on Kubernetes and Nomad.<p>See it in action here: <a href="https://www.youtube.com/watch?v=X1Nv0gQy9TA">https://www.youtube.com/watch?v=X1Nv0gQy9TA</a> or follow the getting started guide (<a href="https://doc.arroyo.dev/getting-started">https://doc.arroyo.dev/getting-started</a>) to run it locally.
Show HN: Arroyo – Write SQL on streaming data
Hey HN,<p>Arroyo is a modern, open-source stream processing engine, that lets anyone write complex queries on event streams just by writing SQL—windowing, aggregating, and joining events with sub-second latency.<p>Today data processing typically happens in batch data warehouses like BigQuery and Snowflake despite the fact that most of the data is coming in as streams. Data teams have to build complex orchestration systems to handle late-arriving data and job failures while trying to minimize latency. Stream processing offers an alternative approach, where the query is compiled into a streaming program that constantly updates as new data comes in, providing low-latency results as soon as the data is available.<p>I started the Arroyo project after spending the past five years building real-time platforms at Lyft and Splunk. I saw first hand how hard it is for users to build correct, reliable pipelines on top of existing systems like Flink and Spark Streaming, and how hard those pipelines are to operate for infra teams. I saw the need for a new system that would be easy enough for any data team to adopt, built on modern foundations and with the lessons of the past decade of research and industry development.<p>Arroyo works by taking SQL queries and compiling them into an optimized streaming dataflow program, a distributed DAG of computation with nodes that read from sources (like Kafka), perform stateful computations, and eventually write results to sinks. That state is consistently snapshotted using a variation of the Chandy-Lamport checkpointing algorithm for fault-tolerance and to enable fast rescaling and updates of the pipelines. The entire system is easy to self-host on Kubernetes and Nomad.<p>See it in action here: <a href="https://www.youtube.com/watch?v=X1Nv0gQy9TA">https://www.youtube.com/watch?v=X1Nv0gQy9TA</a> or follow the getting started guide (<a href="https://doc.arroyo.dev/getting-started">https://doc.arroyo.dev/getting-started</a>) to run it locally.
Show HN: Arroyo – Write SQL on streaming data
Hey HN,<p>Arroyo is a modern, open-source stream processing engine, that lets anyone write complex queries on event streams just by writing SQL—windowing, aggregating, and joining events with sub-second latency.<p>Today data processing typically happens in batch data warehouses like BigQuery and Snowflake despite the fact that most of the data is coming in as streams. Data teams have to build complex orchestration systems to handle late-arriving data and job failures while trying to minimize latency. Stream processing offers an alternative approach, where the query is compiled into a streaming program that constantly updates as new data comes in, providing low-latency results as soon as the data is available.<p>I started the Arroyo project after spending the past five years building real-time platforms at Lyft and Splunk. I saw first hand how hard it is for users to build correct, reliable pipelines on top of existing systems like Flink and Spark Streaming, and how hard those pipelines are to operate for infra teams. I saw the need for a new system that would be easy enough for any data team to adopt, built on modern foundations and with the lessons of the past decade of research and industry development.<p>Arroyo works by taking SQL queries and compiling them into an optimized streaming dataflow program, a distributed DAG of computation with nodes that read from sources (like Kafka), perform stateful computations, and eventually write results to sinks. That state is consistently snapshotted using a variation of the Chandy-Lamport checkpointing algorithm for fault-tolerance and to enable fast rescaling and updates of the pipelines. The entire system is easy to self-host on Kubernetes and Nomad.<p>See it in action here: <a href="https://www.youtube.com/watch?v=X1Nv0gQy9TA">https://www.youtube.com/watch?v=X1Nv0gQy9TA</a> or follow the getting started guide (<a href="https://doc.arroyo.dev/getting-started">https://doc.arroyo.dev/getting-started</a>) to run it locally.
Show HN: Arroyo – Write SQL on streaming data
Hey HN,<p>Arroyo is a modern, open-source stream processing engine, that lets anyone write complex queries on event streams just by writing SQL—windowing, aggregating, and joining events with sub-second latency.<p>Today data processing typically happens in batch data warehouses like BigQuery and Snowflake despite the fact that most of the data is coming in as streams. Data teams have to build complex orchestration systems to handle late-arriving data and job failures while trying to minimize latency. Stream processing offers an alternative approach, where the query is compiled into a streaming program that constantly updates as new data comes in, providing low-latency results as soon as the data is available.<p>I started the Arroyo project after spending the past five years building real-time platforms at Lyft and Splunk. I saw first hand how hard it is for users to build correct, reliable pipelines on top of existing systems like Flink and Spark Streaming, and how hard those pipelines are to operate for infra teams. I saw the need for a new system that would be easy enough for any data team to adopt, built on modern foundations and with the lessons of the past decade of research and industry development.<p>Arroyo works by taking SQL queries and compiling them into an optimized streaming dataflow program, a distributed DAG of computation with nodes that read from sources (like Kafka), perform stateful computations, and eventually write results to sinks. That state is consistently snapshotted using a variation of the Chandy-Lamport checkpointing algorithm for fault-tolerance and to enable fast rescaling and updates of the pipelines. The entire system is easy to self-host on Kubernetes and Nomad.<p>See it in action here: <a href="https://www.youtube.com/watch?v=X1Nv0gQy9TA">https://www.youtube.com/watch?v=X1Nv0gQy9TA</a> or follow the getting started guide (<a href="https://doc.arroyo.dev/getting-started">https://doc.arroyo.dev/getting-started</a>) to run it locally.
Show HN: I built an AI language teacher to get you speaking
Hello Hacker News,<p>When learning foreign languages, I made the most progress by speaking them throughout the day, every day. So I made a site where you can *speak* to an AI language teacher to practice both listening and speaking.<p># The product<p>*What I have now:*<p>* Multilingual speech recognition: You can ask a question in English and get an answer in your target language.
* Feedback on your grammar.
* Suggestions: See examples of what to say next to keep the conversation flowing.
* Speed: Choose a lower speed for beginners or a faster one for advanced levels.
* Translations: Click to see a translation into English (or another language).
* Role-playing: Practice real-life situations.
* Available to learn American English, British English, Australian English, French, Spanish from Spain, Spanish from Mexico, Brazilian Portuguese, European Portuguese, Russian, and more.<p>*What I'd like to add:*<p>* More Situations/Characters/Customizations: A "Creator mode".
* Feedback on your pronunciation.
* Text-based responses (Type or click – would feel like a "Create Your Own Adventure" book!)
* A dictionary.
* Phonetics: Zoom in and repeat a sound to help you hear phonemes and words more clearly.
* …and so much more!…<p># The startup<p>Been working on this for 6-7 months now.<p>I love this project and got lots of laudatory comments about it, but still find it hard to make it take off. 31% of people come back to it, traffic is growing through word of mouth with language teachers in schools or Telegram or private intranets sharing it with others. So that's nice. But nice words alone don't pay the bills.<p>My goal is to achieve enough growth to cover costs, which would then allow me to focus 100% on the product (currently it's more like 50% of my time). But I'm not there yet.<p>A challenge I see is that most places forbid self-promotion. So I'm just not sure how on Earth I'm supposed to have a product take off. I could pay for ads, but I use AdBlock everywhere so this feels out of character. I'm a big fan of Pieter Levels (@levelsio on Twitter) because he's doing things solo, so I'm trying to emulate the same kind of success. But it seems that something is missing.<p>What features would you find most useful? How can I better market this without resorting to ads?<p>Thanks for reading! If you've got thoughts or ideas, I would love to hear them.<p>Cheers,
Fabien
Show HN: I built an AI language teacher to get you speaking
Hello Hacker News,<p>When learning foreign languages, I made the most progress by speaking them throughout the day, every day. So I made a site where you can *speak* to an AI language teacher to practice both listening and speaking.<p># The product<p>*What I have now:*<p>* Multilingual speech recognition: You can ask a question in English and get an answer in your target language.
* Feedback on your grammar.
* Suggestions: See examples of what to say next to keep the conversation flowing.
* Speed: Choose a lower speed for beginners or a faster one for advanced levels.
* Translations: Click to see a translation into English (or another language).
* Role-playing: Practice real-life situations.
* Available to learn American English, British English, Australian English, French, Spanish from Spain, Spanish from Mexico, Brazilian Portuguese, European Portuguese, Russian, and more.<p>*What I'd like to add:*<p>* More Situations/Characters/Customizations: A "Creator mode".
* Feedback on your pronunciation.
* Text-based responses (Type or click – would feel like a "Create Your Own Adventure" book!)
* A dictionary.
* Phonetics: Zoom in and repeat a sound to help you hear phonemes and words more clearly.
* …and so much more!…<p># The startup<p>Been working on this for 6-7 months now.<p>I love this project and got lots of laudatory comments about it, but still find it hard to make it take off. 31% of people come back to it, traffic is growing through word of mouth with language teachers in schools or Telegram or private intranets sharing it with others. So that's nice. But nice words alone don't pay the bills.<p>My goal is to achieve enough growth to cover costs, which would then allow me to focus 100% on the product (currently it's more like 50% of my time). But I'm not there yet.<p>A challenge I see is that most places forbid self-promotion. So I'm just not sure how on Earth I'm supposed to have a product take off. I could pay for ads, but I use AdBlock everywhere so this feels out of character. I'm a big fan of Pieter Levels (@levelsio on Twitter) because he's doing things solo, so I'm trying to emulate the same kind of success. But it seems that something is missing.<p>What features would you find most useful? How can I better market this without resorting to ads?<p>Thanks for reading! If you've got thoughts or ideas, I would love to hear them.<p>Cheers,
Fabien
Show HN: Homelab Monitoring Setup with Grafana
Show HN: Homelab Monitoring Setup with Grafana
Show HN: Homelab Monitoring Setup with Grafana
Show HN: I built an on-device LLM based chatbot for iPhones
I’ve been playing around with local LLMs for the past couple of months and decided to build something that can run on an iPhone. It’s a universal app built with SwiftUI and the excellent ggml library. The model is an SFT fine tuned and 4 bit quantised version of the RedPajama-INCITE-Chat-3B-v1 OSS LLM. It works reasonably well on recent-ish (~3 year old) iPhones, iPads and Macs. It was launched on the App Store yesterday[1] and Product Hunt today[2]. It seems to be reasonably ok at natural language interactions, but given its size, does pretty badly at coding and reasoning. Also, it sometimes hallucinates after a few back and forth messages. The fine tuning for natural language Q&A seems to have made the base model’s already bad performance on coding tasks, even worse. I’ll add a few App Store promo codes in a comment below, if anyone would like to try it out.<p>[1]: https://apple.co/43n6BsW
[2]: https://www.producthunt.com/posts/personal-gpt
Show HN: Add Favicons to HN
Show HN: Dockerless, Elixir Web Application Using Podman and Plug
Show HN: Dockerless, Elixir Web Application Using Podman and Plug
Show HN: Serverless OLAP with Seafowl and GCP
Hello HN! I'm an engineer at Splitgraph and recently started learning Rust so I could make my first contribution to Seafowl [0], an early stage analytical database. Along the way I figured out a database hosting hack on GCP and wanted to share it with HN. It's a way to achieve "true" scale to zero database hosting that could be useful for certain side projects or spiky traffic situations.<p>A recurring problem I've faced with side projects is the need for Postgres, but no desire to deploy or maintain new instances. So when I learned GCP's "always free" tier includes serverless [1] I got curious to see if I could run a database.<p>While a lot of classic databases aren't usually a great fit for serverless, Seafowl separates compute, storage and catalog (catalog == a SQLite file of metadata). [2] Last month I was able to introduce GCS bucket compat to Seafowl, which enabled me to mount the catalog via gcsfuse (i.e. an adapter that allows attaching GCS buckets to local filesystems). Upshot: while FUSE does add HTTP requests to container startup, init time remains comparatively quick, even cold starts, because fetching is limited to the single catalog SQLite file only.<p>With this approach you get a URL you can query directly from your FE if you want, e.g. fetch() can send SELECT * ... queries straight from your users' browser. You could plot a graph from a static React frontend, or observablehq.com editor, with no persistent backend needed. So at times when nobody's using your app, 100% of your stack can scale to zero with obvious cloud spend advantages. And even if you exceed free tier limits, being PAYG offers a good chance you'll come out ahead on hosting costs anyway.<p>NB: Seafowl is an early stage project, so it's not really suitable if you need transactions or fast single-row writes. Otherwise, this could be a nice way to get free database hosting at a big 3 cloud provider, especially for e.g. read-only analytical reporting queries.<p>Feedback and suggestions are appreciated. Hope it helps you! More available if you want [3].<p>[0] <a href="https://seafowl.io/docs/getting-started/introduction" rel="nofollow">https://seafowl.io/docs/getting-started/introduction</a><p>[1] <a href="https://cloud.google.com/run/pricing#cpu-requests" rel="nofollow">https://cloud.google.com/run/pricing#cpu-requests</a><p>[2] Neon is another interesting project that separates compute and storage. <a href="https://neon.tech/blog/architecture-decisions-in-neon" rel="nofollow">https://neon.tech/blog/architecture-decisions-in-neon</a><p>One issue I observed was a noticeably longer startup time vs this FUSE approach, which I believe may be related to Postgres connection setup time/roundtrips. Looking forward to trying Neon again in future.<p>[3] <a href="https://www.splitgraph.com/blog/deploying-serverless-seafowl" rel="nofollow">https://www.splitgraph.com/blog/deploying-serverless-seafowl</a>