Saturday, 2 November 2024

Show HN: Midnight Reminders via Morse Code https://bit.ly/3YtxE4x

Show HN: Midnight Reminders via Morse Code https://bit.ly/3YNYINj November 2, 2024 at 02:11AM

Friday, 1 November 2024

Show HN: Holos – Configure Helm and Kustomize Holistically with Cue https://bit.ly/4hy30Q4

Show HN: Holos – Configure Helm and Kustomize Holistically with Cue Hi HN! I’m excited to share Holos, a Go command line tool I wrote to make it easier to manage a platform built on Kubernetes. Holos implements the rendered manifests pattern as a data pipeline to fully render manifests generated from Helm, Kustomize, or CUE in a holistic way. At the start of the pandemic I was migrating our platform to Kubernetes from virtual machines managed by Puppet. My primary goal was to build an observability system similar to what we had when we managed Puppet at Twitter prior to the acquisition. I started building the observability system with the official prometheus community charts [1], but quickly ran into issues where the individual charts didn’t work with each other. I was frustrated with how complicated and difficult to configure these charts were. They weren’t well integrated, so I switched to the kube-prometheus-stack [2] umbrella chart which attempts to solve this integration problem. The umbrella chart got us further, as long as we didn’t stray too far from the default values, but we quickly ran into operational challenges. Upgrading the chart introduced breaking changes we couldn’t see until they were applied, causing incidents. We needed to manage secrets securely so we mixed in ExternalSecrets with many of the charts. We decided to handle these customizations by implementing the rendered manifests pattern [3] using scripts in our CI pipeline. These CI scripts got us further, but we found them costly to maintain. Teammates needed to be careful to execute them with the same context they were executed in CI. We realized we were reinventing Hiera to manage a hierarchy of helm values.yaml files to inject into multiple charts. At this point I started looking for a more holistic solution to this problem of integrating multiple charts together. We saw the value in the rendered manifests pattern, but we couldn’t find an agreed upon implementation. We built a Go command line tool to implement the pattern as a data pipeline. I’d been thinking about the comments from the Why are we templating YAML? [4][5] posts and wondering what an answer to this question would look like. The Go command line tool was an incremental improvement over the CI scripts, but we still didn’t have a good way to handle the data values. We were still templating YAML which didn’t catch errors early enough. It was too easy to render invalid resources Kubernetes rejected, causing deployment problems. I searched for a solution to manage helm values, something like Hiera which we knew well from Puppet, but not hierarchical because we knew it was important to trace where config values came from in an outage. A few HN comments mentioned CUE [6], and an engineer we worked with at Twitter used CUE to configure Envoy at scale, so I gave it a try. I quickly appreciated how CUE provides both strong type checking and validation of constraints, unifies all configuration data, and provides clarity into where values originate from. Take a look at Holos if you’re looking to implement the rendered manifests pattern or can’t shake that feeling it should be easier to integrate third party software into Kubernetes like we felt. [1]: < https://github.com/prometheus-community/helm-charts > [2]: < https://github.com/prometheus-community/helm-charts/tree/mai... > [3]: < https://akuity.io/blog/the-rendered-manifests-pattern > [4]: Why are we templating YAML? (2019) - < https://news.ycombinator.com/item?id=19108787 > [5]: Why are we templating YAML? (2024) - < https://news.ycombinator.com/item?id=39101828 > [6]: < https://cuelang.org/ > https://bit.ly/40oClzb October 29, 2024 at 01:58PM

Show HN: Clippy Image Generator https://bit.ly/3YukkNh

Show HN: Clippy Image Generator https://bit.ly/3YtH1kE November 1, 2024 at 03:43PM

Show HN: Makr.io – 15 Open-Source Utility Apps Built with AI in 30 Days https://bit.ly/3CcdhRV

Show HN: Makr.io – 15 Open-Source Utility Apps Built with AI in 30 Days Hi HN, I recently completed Makr.io – 15 simple web apps, all open source on GitHub, created in just 30 days using Next.js, Vercel for hosting, and plenty of help from Claude and ChatGPT. Each app took me around 2-3 hours to build, with more time spent brainstorming ideas and framing problem statements. Here’s my approach: I’d start with an idea and problem statement, then ask Claude for a detailed Python script to set up the project. Using the generated code as a foundation, I focused on refining essentials like mobile optimization and core functionality. This project was mostly built during early mornings and late nights as a personal challenge. Here’s a sample of the apps: SVG to PNG – Convert SVG files to PNG Email Preview – Preview HTML emails RSS Feed Reader – Read top RSS feeds DMARC Checker – Check DMARC records Event Countdown - Create countdowns for special days Email header analyzer HN client with dynamic sitemap You can find the full collection on GitHub all open sourced. https://bit.ly/40svAfy November 1, 2024 at 08:22AM

Show HN: Block Sort, a mobile/PWA puzzle game without ads https://bit.ly/3YLCNWX

Show HN: Block Sort, a mobile/PWA puzzle game without ads I like small puzzle games to play on my mobile, (because you can put them away easily as well). But I got really annoyed that a lot of them force feed you advertisements. To counter this I made my own puzzle game, as a progressive web app. This means you can install it on your mobile or desktop as an application, and play offline. After the game is offline ready, no requests should be outgoing except checking for updates of the game. So there is no tracking/reporting going on. This also means I rely on old fashion email to get feedback! The game is build in React + Typescript + Vite, and is open-source at: https://bit.ly/4f4oMcP Challenges: - I wanted to make the game using open web standards such as HTML + CSS. The game actually features one image, the rest is done in pure CSS (the cubes, buffers and placement stacks); - All animation is done through CSS animations; - All levels are randomly generated, and then proven playable by a solver before a player gets the level on screen. To remove loading times for the high difficulty levels, a process was made to generate these levels offline, and the game only contains the random seeds to reproduce them (and then they are still solved by the game first before offering) - The entire game is statically hosted, so there is no backend involved. This proved challenging for data transfer capabilities. The game now generates a QR Code image containing all encrypted/compressed game data, that can be loaded into another instance of the game. https://bit.ly/40q7Rg3 November 1, 2024 at 01:26PM

Show HN: AutoSEO – Generate SEO-optimized blog posts to get more organic traffic https://bit.ly/48DjAdl

Show HN: AutoSEO – Generate SEO-optimized blog posts to get more organic traffic Hey! I built AutoSEO for myself since I needed a solution for my lack of SEO. As a very much non-writer, I have tried to generate something like this from the browser using Claude or in VS Code using Copilot. But neither work for the scale vs. time input I'm looking for. There is something to be said for polluting the web with more AI generated listicles and posts. If I had built this 2 years ago I may have agreed with some ethical concerns, but I think Google search is far past the point where I would be concerned these days. https://bit.ly/48xSSmd November 1, 2024 at 07:46AM

Wednesday, 30 October 2024

Show HN: Logforth, a Rust versatile and extensible logging implementation https://bit.ly/4hutyBK

Show HN: Logforth, a Rust versatile and extensible logging implementation https://bit.ly/4cldONW October 31, 2024 at 04:05AM

Show HN: Genomie – a genome browser you can talk to https://bit.ly/3AjWawV

Show HN: Genomie – a genome browser you can talk to I built a natural language interface for semantically searching across FutureHouse's WikiCrow generated gene summaries embedded in a genome browser. As a PhD student working with non-coding variants, I found it challenging to quickly interpret genetic associations using traditional genome browsers. Genomie helps prioritize genes that could be regulated by nearby non-coding associations by running cosine similarity between gene article and your search terms. Would love to hear what other bio people think about interfaces with new ml/bio tools. https://bit.ly/3AgxLbD October 30, 2024 at 10:52PM

The Probability Times https://bit.ly/3NKyFQy

The Probability Times https://bit.ly/3UtghPW October 29, 2024 at 10:05AM

Show HN: Course platform made out of YouTube videos and Free Resources https://bit.ly/4e5SPPP

Show HN: Course platform made out of YouTube videos and Free Resources I've been working on this for a few days now. The goal is to create a library of the best free educational content available and to build personalised learning paths for each user, using only free resources and at no cost to the user. Let me know what you think. https://bit.ly/4fmx3s8 October 30, 2024 at 09:34PM

Tuesday, 29 October 2024

Show HN: An update to my friendly C++ WebGPU open source library https://bit.ly/3YHuAmw

Show HN: An update to my friendly C++ WebGPU open source library Since my last post was received well, I decided to post an update here :) wgpu-lab is a library to get you started with developing WebGPU apps in C++ It's based on google's dawn implementation and is an open work in progress. Your contributions are welcome ! In my previous release, it was still difficult to build and use the library. This should now be fixed! https://bit.ly/4e2dXGR October 30, 2024 at 02:10AM

Show HN: I built PixSpeed to optimize website images for free https://bit.ly/3YohxFu

Show HN: I built PixSpeed to optimize website images for free https://bit.ly/40nG6oo October 29, 2024 at 11:57PM

Show HN: I built an app to use a QR code as my doorbell https://bit.ly/4hr7VlO

Show HN: I built an app to use a QR code as my doorbell I didn’t have a doorbell before (multiple reasons) and my house feels unwelcoming without one. So I built a doorbell app that uses a QR code - visitors scan the QR code to ring the doorbell and I get notified on my phone. Here is an example of the QR code I have on my door. You can scan it and say hello: https://bit.ly/40phETS This was also a great excuse to build my first app for Android and iPhone. I’d love to get some feedback before I spend more time polishing the app. Please try it out and feel free to ask me any questions! No logins or accounts needed. https://bit.ly/3Ur4XUC October 29, 2024 at 09:03AM

Monday, 28 October 2024

Show HN: I made a utility I named pmake to generate project files https://bit.ly/3YH4YXa

Show HN: I made a utility I named pmake to generate project files My code works but it could probably be improved. Something I'm worried about is this part of the code printf ' ;;; Directory Local Variables -*- no-byte-compile: t -*- ;;; For more information see (info "(emacs) Directory Variables") (setq flycheck-gcc-include-path "'$indir'") ' > .dir-locals.el It generates a .dir-locals.el file that forces flycheck (an emacs package) to look inside the include directory inside the project folder. I'm a little worried about whether setq is the right approach. Any help would be appreciated! https://bit.ly/3AdbNWZ October 29, 2024 at 06:04AM

Show HN: Apache ResilientDB, High-Performance Open-Source Blockchain https://bit.ly/3NPCy6N

Show HN: Apache ResilientDB, High-Performance Open-Source Blockchain Hey Hacker News! We've been building Apache ResilientDB (incubating), a lightweight, modular, and high-performance open-source blockchain framework written in C++. Recently accepted into the Apache Incubator, ResilientDB is designed for flexibility, supporting various Byzantine Fault-Tolerant (BFT) and Crash Fault-Tolerant (CFT) consensus protocols, with native PBFT integration. With features like dynamic client-server architecture, robust checkpoint/recovery, and smart contract support, ResilientDB aims to push distributed ledger tech further. Check us out and join our community: Apache ResilientDB GitHub ( https://bit.ly/3C1Nrjn ). Would love your feedback! https://bit.ly/3YgZRLO October 29, 2024 at 12:26AM

Show HN: Saasdoor – Glassdoor for Enterprise SaaS price parody https://bit.ly/3UsNOdg

Show HN: Saasdoor – Glassdoor for Enterprise SaaS price parody https://bit.ly/4fmVOV3 October 28, 2024 at 09:05PM

Show HN: I made a site to track 2024 U.S. election PAC winners https://bit.ly/4f3Cxby

Show HN: I made a site to track 2024 U.S. election PAC winners https://bit.ly/4e99phI October 28, 2024 at 08:02PM

Show HN: Trench – Open-source analytics infrastructure https://bit.ly/3C1sbKB

Show HN: Trench – Open-source analytics infrastructure Hey HN! I want to share a new open source project I've been working on called Trench ( https://bit.ly/3YmYmvy ). It's open source analytics infrastructure for tracking events, page views, and identifying users, and it's built on top of ClickHouse and Kafka. https://bit.ly/40ia0un I built Trench because the Postgres table we used for tracking events at our startup ( https://bit.ly/3YlvIel ) was getting expensive and becoming a performance bottleneck as we scaled to millions of end users. Many companies run into the same problem as us (e.g. Stripe, Heroku: https://bit.ly/3YqjP6H ). They often start by adding a basic events table to their relational database, which works at first, but can become an issue as the application scales. It’s usually the biggest table in the database, the slowest one to query, and the longest one to back up. With Trench, we’ve put together a single Docker image that gives you a production-ready tracking event table built for scale and speed. When we migrated our tracking table from Postgres to Trench, we saw a 42% reduction in cost to serve on our primary Postgres cluster and all lag spikes from autoscaling under high traffic were eliminated. Here are some of the core features: * Fully compliant with the Segment tracking spec e.g. track(), identify(), group(), etc. * Can handle thousands of events per second on a single node * Query tracking data in real-time with read-after-write guarantees * Send data anywhere with throttled and batched webhooks * Single production-ready docker image. No need to manage and roll your own Kafka/ClickHouse/Nodejs/etc. * Easily plugs into any cloud hosted ClickHouse and Kafka solutions e.g. ClickHouse Cloud, Confluent Trench can be used for a range of use cases. Here are some possibilities: 1. Real-Time Monitoring and Alerting: Set up real-time alerts and monitoring for your services by tracking custom events like errors, usage spikes, or specific user actions and sending that data anywhere with Trench’s webhooks 2. Event Replay and Debugging: Capture all user interactions in real-time for event replay 3. A/B Testing Platform: Capture events from different users and groups in real time. Segment users by querying in real time and serve the right experiences to the right users 4. Product Analytics for SaaS Applications: Embed Trench into your existing SaaS product to power user audit logs or tracking scripts on your end-users’ websites 5. Build a custom RAG model: Easily query event data and give users answers in real-time. LLMs are really good at writing SQL The project is open-source and MIT-licensed. If there’s interest, we’re thinking about adding support for Elastic Search, direct data integrations (e.g. Redshift, S3, etc.), and an admin interface for creating queries, webhooks, etc. Have you experienced the same issues with your events tables? I'd love to hear what HN thinks about the project. https://bit.ly/4foGt6G October 25, 2024 at 03:07PM

Sunday, 27 October 2024

Show HN: Finstruments - Financial instrument library built with Python https://bit.ly/4eY8br2

Show HN: Finstruments - Financial instrument library built with Python finstruments is a Python library designed for modeling financial instruments. It comes with the core financial instruments, such as forwards and options, out of the box, as well as position, trade, and portfolio models. finstruments comes with the basic building blocks, making it easy to extend and build new instruments for any asset class. These building blocks also provide the functionality to serialize and deserialize to and from JSON, enabling the ability to store a serialized format in a document database. This library is ideal for quantitative researchers, traders, and developers who need a streamlined way to build and interact with financial instruments. https://bit.ly/4f1sB2a October 28, 2024 at 06:18AM

Show HN: Decentralized Twitter clone built on Ethereum blockchain https://bit.ly/40oW7KP

Show HN: Decentralized Twitter clone built on Ethereum blockchain https://bit.ly/40ihsFF October 27, 2024 at 02:41PM