Thursday, January 30, 2025

New top story on Hacker News: Show HN: Distr – open-source distribution platform for on-prem deployments

Show HN: Distr – open-source distribution platform for on-prem deployments
17 by louis_w_gk | 0 comments on Hacker News.
Distr is designed to help software engineers distribute and manage their applications or agents in customer-controlled or shared-responsibility environments. You only need a Docker Compose file or Helm chart—everything else for on-prem is handled by the platform. We’re are an open source dev tool company. Over the past couple of months, we’ve spoken with dozens of software companies to understand their challenges with on-prem deployments. We analyzed the internal tools they’ve built and the best practices from existing solutions, combining them into a prebuilt, Open Source solution that works out of the box and integrates seamlessly. Distr consists of two key components: 1. Hub - Provides a centralized view of all deployments and controls connected agents. - Comes with a simple GUI but also supports API and SDK access for seamless integration. - Fully Open- Surce and self-hostable, or you can use our fully managed platform. 2. Lightweight Agents - Pre-built agents for Helm (Kubernetes) and Docker Compose (VM) that run alongside your application. - Handle lifecycle tasks like guided installation, updates, and rollbacks. - Provide basic metrics (health status, application version) and logs If you already have a customer portal or self-service interface for on-prem deployments, you can seamlessly integrate all features into your existing portal or application using our API or SDK. Alternatively, you can use our pre-built, white-labeled customer portal. Here’s what an integration into your existing customer portal could look like: import {DistrService} from "@glasskube/distr-sdk"; const customerHasAutoUpdatesEnabled = false; // replace with your own logic const deploymentTargetId = 'da1d7130-bfa9-49a1-b567-c49728837df7'; const service = new DistrService({ apiKey: 'distr-8c24167aeb5fd4bb48b6d2140927df0f' }); const result = await service.isOutdated(deploymentTargetId); if(result.deploymentTarget.deployment?.latestStatus?.type !== 'ok') { // let the user decide whether to allow updates from an instable state, e.g. with: if(!confirm('The deployment is not in a stable state. Do you want to update anyway?')) { return; } } if(result.outdated) { if(customerHasAutoUpdatesEnabled) { await service.updateDeployment({deploymentTargetId}); // notify customer about the update } else { const newerVersionsAvailable = result.newerVersions; // notify customer about the newer versions, e.g. via email } } With the SDK/API, you can: - Display real-time deployed version and deployment status directly within the application, notifying customers when their deployed version is outdated. - Allow customers to trigger updates from within your app using a simple API call If you’re distributing software and want to streamline updates or enhance monitoring, we’d love your feedback and are here to answer any questions. Getting started is easy—just bring your Docker Compose file or Helm chart, and we’ll guide you through the rest. Check out the fully managed version ( https://ift.tt/lVXo8Ad ) and explore our documentation ( https://distr.sh/docs/ ) to learn more.

New top story on Hacker News: Quaternions and Spherical Trigonometry

Quaternions and Spherical Trigonometry
3 by t55 | 0 comments on Hacker News.


Friday, January 24, 2025

New top story on Hacker News: A phishing attack involving g.co, Google's URL shortener

A phishing attack involving g.co, Google's URL shortener
66 by zachlatta | 8 comments on Hacker News.


New top story on Hacker News: Anatomy of a Formal Proof

Anatomy of a Formal Proof
13 by bikenaga | 0 comments on Hacker News.


New top story on Hacker News: Show HN: Snap Scope – Visualize Lens Focal Length Distribution from EXIF Data

Show HN: Snap Scope – Visualize Lens Focal Length Distribution from EXIF Data
4 by kan02134 | 0 comments on Hacker News.
Hey HN, I built this tool because I wanted to understand which focal lengths I actually use when taking photos. It's a web app that analyzes EXIF data to visualize focal length distribution patterns. While it's admittedly niche (focused specifically on photography), I think it could be useful for photographers trying to understand their lens usage patterns or making decisions about lens purchases. Features: Client-side EXIF data processing (no server uploads/tracking) / Handles thousands of photos at once / Clean visualization with shareable summaries This tool supports most RAW formats, but you might occasionally encounter files where EXIF extraction fails. In such cases, converting to more common formats like JPEG usually resolves the issue. Try it out: https://ift.tt/5S407WE Source: https://ift.tt/SMqml1H

Monday, January 20, 2025

New top story on Hacker News: The quiet rebellion of a little life

The quiet rebellion of a little life
32 by durmonski | 16 comments on Hacker News.


New top story on Hacker News: Show HN: Personalized Duolingo (Kind of) for Vocabulary Building

Show HN: Personalized Duolingo (Kind of) for Vocabulary Building
3 by arbayi | 0 comments on Hacker News.
Hi! Wanted to share the project I really wanted to have. TLDR; this app lets you create your own list of words and you get a Duolingo-like experience (kind of, still needs a lot of features) practicing those words in their context. My English is not the best but not the worst either. But I realized I can't boost it up after a certain level! In my belief, in order to truly learn a language, you need to be exposed to that language often. Vocabulary is the key factor here if you really want to improve in any language. My experience is that when I read a book to improve my English vocabulary, I encounter words that I don't know so often and my reading gets disturbed. I go look for the meaning, come back, put it in context, re-read it, etc. It didn't work for me. So I tried listening to audiobooks - I listen to the book and read along, and whenever I encounter a word, I write it down. I get these 50 words in 2-3 pages and I ask ChatGPT to give me their meanings. I read them, take the book, and now read it myself. That helps for sure, but still after a while I lose those words because I never encounter them again. Well then, in order to not forget those words, I need some kind of exercise, right? A flashcard app maybe? Well, I still need to go out there, ask ChatGPT to create questions, put them in a flashcard app, etc. It's still time-consuming and this is supposed to be fun! I need to be exposed to English in my daily life. I just need to save the words somewhere and whenever I want, I need to be able to practice them in a fun way, in Duolingo style maybe? So then I realized would it be better to store words in their own context? I mean, say I read Harry Potter and have a list of words I encountered in it, say I watch Breaking Bad and have a list of words I encountered watching it. I believe seeing those words together and practicing together makes it easier to remember them. But I shouldn't be the one adding the meaning of the word and the one to generate exercises, right? It all should be automated. The exercise part will be handled by LLM for sure, but for the meaning of the word, I can fetch from a dictionary? But I really don't like the dictionary definitions and one word can have multiple meanings in their own context. So then I need to use LLM for this task too and have the word's meaning in its own context. You create a list for your context, you add words, meanings get added automatically, and I see the word added in a different color (coloring is also a method used to remember words). It all takes seconds. And whenever I want to practice these lists, I can use learn mode to learn and test my knowledge in quiz mode. So I basically built this app ((thanks to Claude 3.5 Sonnet)). I want it to be like Duolingo, but of course I still have a way ahead to go, but wanted to share it in hopes of getting contributors. You can read more in the repository. I would love to get your thoughts on this.

Thursday, January 16, 2025

New top story on Hacker News: GitHub Linux ARM64 hosted runners now available for free in public repositories

GitHub Linux ARM64 hosted runners now available for free in public repositories
29 by Aissen | 3 comments on Hacker News.


New top story on Hacker News: Show HN: DBOS TypeScript – Lightweight Durable Execution Built on Postgres

Show HN: DBOS TypeScript – Lightweight Durable Execution Built on Postgres
17 by KraftyOne | 17 comments on Hacker News.
Hi HN - Peter from DBOS here with my co-founder Qian (qianl_cs) Today we want to share our TypeScript library for lightweight durable execution. We’ve been working on it since last year and recently released v2.0 with a ton of new features and major API overhaul. https://ift.tt/AW9qfHF Durable execution means persisting the execution state of your program while it runs, so if it is ever interrupted or crashes, it automatically resumes from where it left off. Durable execution is useful for a lot of things: - Orchestrating long-running or business-critical workflows so they seamlessly recover from any failure. - Running reliable background jobs with no timeouts. - Processing incoming events (e.g. from Kafka) exactly once - Running a fault-tolerant distributed task queue - Running a reliable cron scheduler - Operating an AI agent, or anything that connects to an unreliable or non-deterministic API. What’s unique about DBOS’s take on durable execution (compared to, say, Temporal) is that it’s implemented in a lightweight library that’s totally backed by Postgres. All you have to do to use DBOS is “npm install” it and annotate your program with decorators. The decorators store your program’s execution state in Postgres as it runs and recover it if it crashes. There are no other dependencies you have to manage, no separate workflow server–just your program and Postgres. One big advantage of this approach is that you can add DBOS to ANY TypeScript application–it’s just a library. For example, you can use DBOS to add reliable background jobs or cron scheduling or queues to your Next.js app with no external dependencies except Postgres. Also, because it’s all in Postgres, you get all the tooling you’re familiar with: backups, GUIs, CLI tools–it all just works. Want to try DBOS out? Initialize a starter app with: npx @dbos-inc/create -t dbos-node-starter Then build and start your app with: npm install npm run build npm run start Also check out the docs: https://docs.dbos.dev/ We'd love to hear what you think! We’ll be in the comments for the rest of the day to answer any questions you may have.

Wednesday, January 15, 2025

New top story on Hacker News: Show HN: I Built a Fair Alternative to Product Hunt for Indie Makers Like You

Show HN: I Built a Fair Alternative to Product Hunt for Indie Makers Like You
14 by lakshikag | 3 comments on Hacker News.
I’m an indie maker, just like many of you. A few months back, I launched a product on one of the big platforms, and... nothing. It got buried under dozens of other launches within hours. All that work, all that excitement is gone in the blink of an eye. No one even saw it. It stung. I wasn’t mad, well, maybe a little but mostly, I just felt invisible. The truth is, indie makers like me don’t have big teams or budgets to fight for visibility. We rely on genuine support and connections. I couldn’t stop thinking about how many great ideas never get the attention they deserve because they’re overshadowed. So, I decided to build something different: https://itslaunched.com Here’s the idea: • 10 launches per day, max. Limiting the number of daily launches ensures that every product gets its moment in the spotlight. • 2 votes per user, per day. This isn’t a popularity contest. You only get two votes, so people have to really think about which products they want to support. It’s quality over quantity. • “Under Radar” feature. This one’s my favorite. If a product doesn’t get much love on its launch day, it gets a second chance to shine the next day. Because timing shouldn’t be the only thing standing between you and success. There’s more like badges, comments, streaks but the heart of it is simple: a fair shot for indie makers. I built this because I believe every product deserves to be seen, especially the ones built by solo makers and small teams putting their heart into something they truly care about. And I didn’t build this to compete with Product Hunt. I built it to give indie makers the platform they deserve, one where their creativity truly gets noticed. If this sounds like something you’d want to check out, I’d love your thoughts. I’m still tweaking and improving it every day based on feedback. Let me know what you think and if you’ve got a product you’re proud of, I’d love to see it shine.

New top story on Hacker News: Qantas South Africa flights delayed by falling debris from SpaceX rockets

Qantas South Africa flights delayed by falling debris from SpaceX rockets
16 by adrian_mrd | 11 comments on Hacker News.


Sunday, January 12, 2025

New top story on Hacker News: From ASCII to ASIC: Porting donut.c to a tiny slice of silicon

From ASCII to ASIC: Porting donut.c to a tiny slice of silicon
3 by a1k0n | 0 comments on Hacker News.


New top story on Hacker News: Show HN: SemHash – Fast Semantic Text Deduplication for Cleaner Datasets

Show HN: SemHash – Fast Semantic Text Deduplication for Cleaner Datasets
11 by Pringled | 2 comments on Hacker News.
We’ve just open-sourced SemHash, a lightweight package for semantic text deduplication. It lets you effortlessly clean up your datasets and avoid pitfalls caused by duplicate samples in semantic search, RAG, and machine learning. Main Features: - Fast and hardware friendly: Deduplicate datasets with millions of records in minutes, on a CPU. - Flexible: Works on single or multiple datasets (e.g., train/test deduplication), and multi-column data (e.g., Question-Answering datasets). - Lightweight: Minimal dependencies (largest is NumPy). - Explainable: Easily inspect duplicates and what caused them, and view the lowest similarity duplicates to adjust the threshold based on your dataset. We found that text deduplication is more complex than it appears, so we built SemHash to simplify the process. Duplicate samples can skew model training, reduce generalization, and cause train-test leakage—leading to unreliable results. Techniques like minhash handle exact or near-exact duplicates, but semantic deduplication also catches semantically redundant samples, which we believe is an important aspect of deduplication. Furthermore, it’s not trivial to see why something was removed with minhash, which we also believe is important. We already found some interesting results on some well known datasets in our benchmarks which are included in the repo. We are curious to hear your feedback! Do you currently deduplicate your datasets before training, and what techniques do you use?

New top story on Hacker News: Great CPAN modules released last week

Great CPAN modules released last week
12 by peateasea | 1 comments on Hacker News.


New top story on Hacker News: A Racket alternative to HTML Tidy

A Racket alternative to HTML Tidy
11 by velcrovan | 0 comments on Hacker News.


Saturday, January 11, 2025

New top story on Hacker News: Matt Mullenweg deactivates WordPress accounts of contributors planning a fork

Matt Mullenweg deactivates WordPress accounts of contributors planning a fork
57 by impish9208 | 18 comments on Hacker News.


New top story on Hacker News: Map of California roads for cyclers (1895)

Map of California roads for cyclers (1895)
3 by grajaganDev | 0 comments on Hacker News.


New top story on Hacker News: Show HN: 3D Terrain simulation for hiking, skiing etc.

Show HN: 3D Terrain simulation for hiking, skiing etc.
17 by folli | 3 comments on Hacker News.
I'm working on a GPS track visualizer for quite some time. It shines in hilly and mountaineous terrain (where a 3D view makes more sense), but it also offers quite a lot of Strava-like features (statistics etc.). You can upload your GPX and FIT files manually, or sync directly with Garmin, Coros and Polar. See https://cubetrek.com for the live app and check out some examples there. It's free and opens source. Also, anyone who likes to work with 3D visualizations (especially Babylon.js), let me know if you like to help polish this thing further.

Wednesday, January 8, 2025

New top story on Hacker News: Show HN: Cardstock- Free TCG Proxy Manager for Magic, Yugioh, & Pokemon

Show HN: Cardstock- Free TCG Proxy Manager for Magic, Yugioh, & Pokemon
4 by adenta | 0 comments on Hacker News.
Trading cards are awesome, but paying $30 for some cardboard isn’t. I’ve upscaled 60,000 cards from the entire catalog of Yugioh, Magic, Pokemon, & a newer game, https://elestrals.com . I've made it easy to build a decklist, download it, and then print at home. Modern inkjet printers got really good when nobody was looking. While it’s clear they’re not real cards, the upscaling makes them look great for casual play (these are not tournament legal). It’s totally free, give it a try! Supplies: https://ift.tt/BA9qYGI Printer Settings: https://ift.tt/LamhiWK Instructions: https://ift.tt/F7aNiMI Overview: I built Cardstock because I had some scripts to do this lying around, and wanted to explore the new Rails 8 magic. Kamal 2 (kamal-deploy.org/) is a game changer, SQLite in production is fine, and the database backed solid family of gems work like a charm. Compute: I am renting a box on https://hetzner.com located in VA for $15/mo. This box has 8 gigs of ram and 2 vCPU's. This is such a deal compared to compute prices on https://render.com . Kamal 2: This thing is amazing. Kamal gives me everything I could want (easy console access, easy shell access, a way to manage secrets, a way to see my logs, and letsencrypt support for DNS), all without a PaaS tax. The best part is the accessories feature: https://ift.tt/wcN0Li2 . I am running my main app with two accessories: Meilisearch( https://meilisearch.com ) and OpenObserve ( https://openobserve.ai ). Instead of paying Algolia to host search infrastructure and sentry to host monitoring infrastructure, I’m hosting my own OSS without any fanfare. Upscaling: To upscale the trading cards (a mandatory part of this build, scans are never high enough DPI). I am using this ( https://ift.tt/ShkecAH ) model. For upscaling every card, I've used under a hundred bucks of compute. This model was picked on a whim, but worked well enough that I didn’t compare other models. SQLite: I used SQLite combined with Litestream (litestream.io) for my database. While I considered Postgres, I hesitated due to uncertainties around handling backups on self-hosted infrastructure. This was my first time using SQLite in production, and it was functional but with some minor annoyances. Here’s what I encountered: 1. No Default UUID Primary Key Type I had to set primary keys as strings and assign IDs manually from the application record. It’s an annoying workaround but manageable. 2. No Native Array Columns Because SQLite doesn’t support array columns, I had to use its native JSON column type, which just felt icky. If I were working with something like embeddings, this would be especially annoying, because you couldn’t enforce all the records to have the same number of dimensions. 3. Cryptic Errors At one point, a migration failed silently, leaving a cryptic error in schema.rb. The issue was resolved by rolling back the migration and redoing it, but it was once again, annoying. 4. Litestream Defaults Litestream deletes snapshots after 24 hours by default, which is far too short. When I tried to recover some data, I found it had already been deleted. Adjusting these defaults fixed the problem. Solid Queue/Cache/Cable: The solid family of gems are all backed by the database and were a pleasure to work with. Goal was to prevent needing to reach for redis, so you have one less thing to worry about. You end up with a little more latency, which is a totally reasonable tradeoff. Conclusions: We are moving into a post platform as a service world. Instead of buying a bespoke render.com or heroku, you just buy commodity compute and use Kamal to manage. It's like, pretty much all there, excited to see how this space matures.

New top story on Hacker News: Show HN: Counting Tap Toy

Show HN: Counting Tap Toy
6 by memalign | 1 comments on Hacker News.
Hi HN! This is a project I made for my 3-year-old who always skips “14” when counting. In Counting Tap Toy, you can tap to count various aquatic creatures. The count is displayed and announced. My hope is that seeing and hearing the numbers will reinforce 14’s existence. I find tapping all the fish while listening to the songs and popping sound effects to be pretty relaxing too. Technical details: https://ift.tt/R2W7I1E This is the fourth “Tap Toy”, joining: - Slice: https://ift.tt/rY3e8RM - Fireworks: https://ift.tt/dp2LJ7E - Original: https://ift.tt/gySznJk

Sunday, January 5, 2025

New top story on Hacker News: Akamai to shut down its CDN operations in China

Akamai to shut down its CDN operations in China
4 by nunodio | 0 comments on Hacker News.


New top story on Hacker News: Help! Politics Blog Cloudflare Subpoena

Help! Politics Blog Cloudflare Subpoena
86 by wandaluzt | 33 comments on Hacker News.
I run an anonymous political blog in the UK calling out misinformation. I use Cloudflare. A former Councillor in the UK has taken issue with a factual story written about him. He has somehow managed to get a Subpoena against Cloudflare, they have not challenged it, and they intend to hand over my details. This will cause me and my family to be put in danger, as many people do not like being called out on the site. Cloudflare have already given my sites origin IP without any notification, causing this individual to harass my host. I am struggling to get representation and I have asked many media groups. I know @eastdakota is the CEO of Cloudflare and I am appealing to him for help. Please don't throw me to the wolves. I would be grateful if anyone could get this message to him.

New top story on Hacker News: How ads are chewing through half of your mobile data

How ads are chewing through half of your mobile data
15 by mahirsaid | 10 comments on Hacker News.


New top story on Hacker News: Reliable System Call Interception

Reliable System Call Interception
6 by todsacerdoti | 0 comments on Hacker News.


Friday, January 3, 2025

New top story on Hacker News: Two Turntables and a Microphone (2006)

Two Turntables and a Microphone (2006)
6 by mellosouls | 1 comments on Hacker News.


New top story on Hacker News: SpaceSim

SpaceSim
49 by Luc | 2 comments on Hacker News.


New top story on Hacker News: Show HN: I'm tired of sharing code using PasteBin and Slack, so I made this

Show HN: I'm tired of sharing code using PasteBin and Slack, so I made this
10 by moeen-mahmud | 3 comments on Hacker News.
Hey developers I think we're tired of copying and pasting our codes and sharing links using PasteBin, GithubGist, or Slack. What if you could share the codes without copying the link and share them right from your favorite editor? That was the motivation for creating TurboGist. Right now, it's still in the MVP stage, and I'm trying to gather feedback from developers like you. It's available as a beta in the VS Code Extension store. Can you guys check this out? It'd help me a lot. You don't need to pay any penny, 100% FREE. However, I'm working on introducing a self-hosted feature. Besides, a better alternative to PasteBin or GithubGist. Looking for your input on: - How this would fit your workflow? - Must-have features or integrations (e.g., GitHub Gist, PasteBin, etc.)? - Pain points in your current code-sharing process? - Do you have features in your mind? Thanks for reading this.

New top story on Hacker News: The Evolution of SRE at Google

The Evolution of SRE at Google
19 by r4um | 4 comments on Hacker News.


Thursday, January 2, 2025

New top story on Hacker News: Show HN: I built an AI calendar to help you get stuff done – feedback wanted

Show HN: I built an AI calendar to help you get stuff done – feedback wanted
5 by Running4M | 1 comments on Hacker News.
If you have any questions, feel free to leave a comment! For additional information, click the link provided. I decided to present the extra details on a webpage because it’s easier to organize and format the information in a way that’s clear and more digestible.