The best Hacker News stories from Show from the past week
Latest posts:
Show HN: TxtNet Browser – Browse the Web over SMS, No Wi-Fi/Mobile Data Needed
Hello all,<p>This is my second year of working on a project[1] with the goal of browsing the web, on an Android smartphone, without reliance on Wi-Fi or mobile data. While this concept might seem aimless, my goal was to provide a way for people in areas with limited, expensive, or censored cellular internet access a way to view the web in a basic format. I finished work on a basic client-server model last year[2], and this year, I implemented a new pseudo-distributed peer-to-peer model that allows any TxtNet Browser user to use their own smartphone to run a background server service that communicates via the user's own primary mobile number. The main advantage to this model over last year's use of the Twilio API is the fact that with an unlimited SMS plan from a consumer carrier, you will likely end up paying significantly less than the amount you would pay for Twilio credits (averaging about ~$0.50 per website). There's a lot going on with the stateless nature of SMS, GSM-7 encoding, and Brotli compression, so please ask any questions you might have!<p>I've also started up a test server instance running on a +1 country code phone number, so feel free to test out the app with your own smartphone. Like mentioned in the GitHub repo, please be aware that I (necessarily) have access to every phone number and associated request that is sent. Of course, anyone can host their own server instance, and if you would like to share it, feel free to get in touch so I can add the number to the repo! Also, there are likely many bugs still lurking, so feel free to report those.<p>[1] <a href="https://github.com/lukeaschenbrenner/TxtNet-Browser/">https://github.com/lukeaschenbrenner/TxtNet-Browser/</a><p>[2] <a href="https://news.ycombinator.com/item?id=32905496" rel="nofollow">https://news.ycombinator.com/item?id=32905496</a>
Show HN: TxtNet Browser – Browse the Web over SMS, No Wi-Fi/Mobile Data Needed
Hello all,<p>This is my second year of working on a project[1] with the goal of browsing the web, on an Android smartphone, without reliance on Wi-Fi or mobile data. While this concept might seem aimless, my goal was to provide a way for people in areas with limited, expensive, or censored cellular internet access a way to view the web in a basic format. I finished work on a basic client-server model last year[2], and this year, I implemented a new pseudo-distributed peer-to-peer model that allows any TxtNet Browser user to use their own smartphone to run a background server service that communicates via the user's own primary mobile number. The main advantage to this model over last year's use of the Twilio API is the fact that with an unlimited SMS plan from a consumer carrier, you will likely end up paying significantly less than the amount you would pay for Twilio credits (averaging about ~$0.50 per website). There's a lot going on with the stateless nature of SMS, GSM-7 encoding, and Brotli compression, so please ask any questions you might have!<p>I've also started up a test server instance running on a +1 country code phone number, so feel free to test out the app with your own smartphone. Like mentioned in the GitHub repo, please be aware that I (necessarily) have access to every phone number and associated request that is sent. Of course, anyone can host their own server instance, and if you would like to share it, feel free to get in touch so I can add the number to the repo! Also, there are likely many bugs still lurking, so feel free to report those.<p>[1] <a href="https://github.com/lukeaschenbrenner/TxtNet-Browser/">https://github.com/lukeaschenbrenner/TxtNet-Browser/</a><p>[2] <a href="https://news.ycombinator.com/item?id=32905496" rel="nofollow">https://news.ycombinator.com/item?id=32905496</a>
Show HN: We built a ClickHouse-based logging service
Hey hn! I'm one of the co-founders of highlight.io, an open source monitoring tool.<p>Today we're sharing a ClickHouse-based logging solution we've been working on. We wanted to showcase how we built it and share how you could try it out to give feedback.
Since we started working on highlight.io, we've been hyper-focused on "cohesion", or ensuring that when you install your monitoring stack, all of the resources in that stack (user interactions, requests, traces, logs, etc.) are connected in a consumable way. We've written up more about our philosophy on this here [1].<p>We started building towards this by connecting your client-side app and your server-side exceptions with session replay and exception monitoring; i.e. if an error happened in a server-side app, we would make it easy (with session replay) to trace all the steps that a user took leading up to it.<p>Especially for larger companies using highlight.io, the request to tie in logs came up repeatedly, and we wanted to build this with the same philosophy in mind. Now, you'll see client-side and server-side logs all in one place, brought together in the context of a user session, as well as logs in the context of an error.<p>Like the rest of our stack, this project is written in Go and Typescript, and for log ingestion/querying, we're using ClickHouse [2]. Before deciding on ClickHouse, we were planning to use OpenSearch (an aws fork of elasticsearch [3]) for this part of our product, but as our traffic has increased, we encountered quite a few pains with write throughput for OpenSearch. After evaluating a few options, we eventually landed with ClickHouse (their cloud offering was icing on the cake), which has also proven to be much more cost-effective so far.<p>Building with ClickHouse from scratch has been an exciting journey. Eric (the mastermind behind this project) wrote a blog post [4] on a handful of ClickHouse learnings we've gathered since starting the project.<p>For those wanting to try out the product locally, you can run the following commands [5]:<p>git clone --recurse-submodules <a href="https://github.com/highlight/highlight">https://github.com/highlight/highlight</a>
cd highlight/docker;
./run-hobby.sh;<p>To send logs to highlight, you can use your own OpenTelemetry implementation [6] or use our SDKs [7] which provide lightweight wrappers over OTEL.<p>Like the rest of highlight.io, we plan to make money from this with our hosted cloud offering. For those interested in trying out the cloud-hosted version, you can get setup at app.highlight.io.<p>To open the floor for feedback, we would love to get some thoughts on what we've built so far. Beyond that, what are parts of a logging product you wish you had with your current setup? And are there any notable pain-points of using a hosted monitoring product? (We're toying with the idea of an enterprise deployment). Excited to hear from everyone.<p>[1]: <a href="https://highlight.io/docs/general/company/product-philosphy">https://highlight.io/docs/general/company/product-philosphy</a><p>[2]: <a href="https://clickhouse.com" rel="nofollow">https://clickhouse.com</a><p>[3]: <a href="https://news.ycombinator.com/item?id=26780848" rel="nofollow">https://news.ycombinator.com/item?id=26780848</a><p>[4]: <a href="https://www.highlight.io/blog/how-we-built-logging-with-clickhouse">https://www.highlight.io/blog/how-we-built-logging-with-clic...</a><p>[5]: <a href="https://www.highlight.io/docs/getting-started/self-host/self-hosted-hobby-guide">https://www.highlight.io/docs/getting-started/self-host/self...</a><p>[6]: <a href="https://www.highlight.io/docs/getting-started/backend-logging/http">https://www.highlight.io/docs/getting-started/backend-loggin...</a><p>[7]: <a href="https://www.highlight.io/docs/getting-started/overview#for-your-backend-logging">https://www.highlight.io/docs/getting-started/overview#for-y...</a>
Show HN: Thoughts on Flash in 2023, in Flash, in 2023
Spent the past few days making this - something halfway between a demoscene program and an experimental film. I wanted to celebrate the unique computer-y aesthetics of flash, while showing off some weird and obscure tricks I've picked up over the years since it's been deprecated. (Also, some maybe-not-subtle commentary about AI-art and the tools of the future)
Show HN: Thoughts on Flash in 2023, in Flash, in 2023
Spent the past few days making this - something halfway between a demoscene program and an experimental film. I wanted to celebrate the unique computer-y aesthetics of flash, while showing off some weird and obscure tricks I've picked up over the years since it's been deprecated. (Also, some maybe-not-subtle commentary about AI-art and the tools of the future)
Show HN: CozoDB, Hybrid Relational-Graph-Vector Database
Hi HN! We're thrilled to share CozoDB v0.6, a monumental update to our FOSS database, which already unifies relational and graph features. With the addition of vector search, CozoDB becomes an even better companion for LLMs like ChatGPT.<p>This release introduces vector search using HNSW indices within Datalog, enabling seamless integration with powerful features such as ad-hoc joins, recursive Datalog, and classical whole-graph algorithms. This update significantly broadens CozoDB's capabilities.<p>Check out the linked release note for an in-depth look at the new features, comparisons to other systems, and intriguing AI development possibilities. We'd love for you to take a look! I'll be here to answer any questions you might have.<p>Looking forward to your feedback!
Show HN: A 15 min daily stretch routine for desk workers
Show HN: A 15 min daily stretch routine for desk workers
Show HN: AI Playground by Vercel Labs
Hey, Jared Palmer (creator of this playground) here. Really excited to ship this.
I’ve been building this over the past few weeks to compare LLMs from different providers like OpenAI, Anthropic, Cohere, etc. At Vercel, I manage our Frameworks division (including Next.js, Svelte, and Turbo) and wanted to also dogfood some of the latest features in a slightly larger application.
This playground takes a lot of inspiration from <a href="https://nat.dev" rel="nofollow">https://nat.dev</a> and is built on Tailwind, ui.shadcn.com, and some upcoming Vercel products we’re announcing soon. We’re going to continue adding models to compare and add other frameworks to generate code snippets from.
Show HN: WikiBinge – discover how all things are vaguely connected
Connect two articles on Wikipedia, but do it the long way. I've always been a fan of the theory of six degree of separation, but it's an overused concept when exploring the Wiki-graph.<p>Instead of showing the shortest path, which in my opinion is "boring" and ends up connecting super-important central articles, I came up with my own method: WikiBinge selects the smaller, less represented articles on Wikipedia. In a WikiBinge path, the underdogs are the kings!<p>How does it work? It's pretty straightforward! Compute PageRank on the Wiki-graph and assign as weight of each edge the PageRank value of the destination node. A WikiBinge path is then simply a shortest path using these weights: the algorithm will then favor paths passing through articles with lower PageRank values.<p>More on the motives to build this here: <a href="https://www.jamez.it/project/wikibinge/" rel="nofollow">https://www.jamez.it/project/wikibinge/</a><p>This is an older project of mine, but it never got much exposure, so I'm humbly submitting it now.
Show HN: WikiBinge – discover how all things are vaguely connected
Connect two articles on Wikipedia, but do it the long way. I've always been a fan of the theory of six degree of separation, but it's an overused concept when exploring the Wiki-graph.<p>Instead of showing the shortest path, which in my opinion is "boring" and ends up connecting super-important central articles, I came up with my own method: WikiBinge selects the smaller, less represented articles on Wikipedia. In a WikiBinge path, the underdogs are the kings!<p>How does it work? It's pretty straightforward! Compute PageRank on the Wiki-graph and assign as weight of each edge the PageRank value of the destination node. A WikiBinge path is then simply a shortest path using these weights: the algorithm will then favor paths passing through articles with lower PageRank values.<p>More on the motives to build this here: <a href="https://www.jamez.it/project/wikibinge/" rel="nofollow">https://www.jamez.it/project/wikibinge/</a><p>This is an older project of mine, but it never got much exposure, so I'm humbly submitting it now.
Show HN: Google Analytics alternative with the most generous free tier
Hi HN,<p>As an indie hacker, the new Google Analytics (GA4) coming motivated me to look for a straightforward alternative that would also be affordable. I had a few basic product requirements and didn’t want to spend too much to replace a free product. There are a lot of great Google Analytics alternatives out there, but the pricing didn’t seem right. As someone who likes to just build things, many of which aren’t businesses yet, it didn’t make sense to pay for options like Plausible and Fathom out of the gate.<p>So I joined with a friend to build Beam Analytics. Beam gives you all the standard web analytics. It also comes with easy to create funnels so you can see how users move through your site. And we have a great proxy for cohort retention that doesn’t need you to log any data with us. It’s cookie-less and GDPR compliant.<p>The free tier is 100k page views per month so hopefully you’ll give it a try. There’s also a Wordpress integration to make integrating with WordPress sites as easy as a single click - <a href="https://wordpress.org/plugins/beam-analytics/" rel="nofollow">https://wordpress.org/plugins/beam-analytics/</a>.<p>Appreciate your feedback. You can also email us at hi (at) beamanalytics.io or DM me on twitter @TheBuilderJR.
Show HN: Twitter API Reverse Engineered
endpoints: /graphql /1.1 /2 /i
Show HN: Personalized book recommendations with Librarian AI
Show HN: GPT-4-powered web searches for developers
Hi HN,<p>Today we’re launching GPT-4 answers on Phind.com, a developer-focused search engine that uses generative AI to browse the web and answer technical questions, complete with code examples and detailed explanations. Unlike vanilla GPT-4, Phind feeds in relevant websites and technical documentation, reducing the model’s hallucination and keeping it up-to-date. To use it, simply enable the “Expert” toggle before doing a search.<p>GPT-4 is making a night-and-day difference in terms of answer quality. For a question like “How can I RLHF a LLaMa model”, Phind in Expert mode delivers a step-by-step guide complete with citations (<a href="https://phind.com/search?cache=0fecf96b-0ac9-4b65-893d-8ea5708db222">https://phind.com/search?cache=0fecf96b-0ac9-4b65-893d-8ea57...</a>) while Phind in default mode meanders a bit and answers the question very generally (<a href="https://phind.com/search?cache=dd1fe16f-b101-4cc8-8089-ac56defb228d">https://phind.com/search?cache=dd1fe16f-b101-4cc8-8089-ac56d...</a>).<p>GPT-4 is significantly more concise and “systematic” in its answers than our default model. It generates step-by-step instructions over 90% of the time, while our default model does not.<p>We’re particularly focused on ML developers, as Phind can answer questions about many recent ML libraries, papers, and technologies that ChatGPT simply cannot. Even with ChatGPT’s alpha browsing mode, Phind answers technical questions faster and in more detail.<p>For example, Phind running on “Expert” GPT-4 mode can concisely and correctly tell you how to run an Alpaca model using llama.cpp: (<a href="https://phind.com/search?cache=0132c27e-c876-4f87-a0e1-cc48f07ccc20">https://phind.com/search?cache=0132c27e-c876-4f87-a0e1-cc48f...</a>). In contrast, ChatGPT-4 hallucinates and writes a make function for a fictional llama.cpp.<p>We still have a long way to go and would love to hear your feedback.
Show HN: Skip the SSO Tax, access your user data with OSS
As the former CTO of an Insurtech and Fintech startup I always had the “pleasure” to keep regulators and auditors happy. Think of documenting who has access to what, quarterly access reviews, yearly audits and so on…<p>Like many others we couldn’t justify the Enterprise-plan for every SaaS tool to simply get access to SSO and SCIM/SAML APIs. For Notion alone the cost would have nearly doubled to $14 per user per month. That’s insane! Mostly unknown to people, SSO Tax also limits access to APIs that are used for managing user access (SCIM/SAML).<p>This has proven to be an incredibly annoying roadblock that prevented me from doing anything useful with our user data:
- You want to download the current list of users and their permissions? Forget about it!
- You want to centrally assign user roles and permissions? Good luck with that!
- You want to delete user accounts immediately? Yeah right, like that's ever gonna happen!<p>It literally cost me hours to update our access matrix at the end of every quarter for our access reviews and manually assigning user accounts and permissions.<p>I figured, there must be a better way than praying to the SaaS gods to miraculously make the SSO Tax disappear (and open up SCIM/SAML along the way). That’s why I sat down a few weeks ago and started building OpenOwl (<a href="https://github.com/AccessOwl/open_owl">https://github.com/AccessOwl/open_owl</a>). It allows me to just plug in my user credentials and automatically download user lists, including permissions from SaaS tools.<p>Granted, OpenOwl is still a work in progress, and it's not perfect. At the moment it's limited to non-SSO login flows and covers only 7 SaaS vendors. My favorite part is that you can configure integrations as “recipes”. The goal was for anybody to be able to add new integrations (IT managers and developers alike). Therefore you ideally don’t even have to write any new code, just tell OpenOwl how the new SaaS vendor works.<p>What do you think? Have you dealt with manually maintaining a list of users and their permissions? Could this approach get us closer to overcoming parts of the SSO Tax?
Show HN: Supavisor – a Postgres connection pooler written in Elixir
hey hn, supabase ceo here<p>this is a postgres connection pooler. it’s similar to pgbouncer, but built with Elixir and specifically designed for multi-tenancy.<p>it’s still under development, but it’s at a stage where we can gather a feedback from the community and you can try it yourself. we aren’t using this in production yet, but aiming to deploy it for a subset of databases in the next 2 months.<p>We have the following benchmarks (details in the readme):<p><pre><code> - Elixir Cluster maintaining 400 connections to a single Postgres database
- 1_000_000 clients connecting to the Elixir cluster
- Sending 20_000 transactions per second
- Consuming 7.8G RAM and ~50% CPU on a 64vCPU machine
</code></pre>
supavisor can be run as a cluster or a single node/binary. It’s handling 90%+ of the throughput of pgbouncer on a local machine (running pgbench)<p>we will place this in front of all supabase databases. It will eventually be able to handle multiple types of connections: traditional TCP connections, and HTTP connections for developers who are connecting to Postgres in serverless environments using Prisma, Kysely, Drizzle, etc<p>the proxy will serve as a connection buffer while we scale databases: scaling up compute with zero-downtime, and for scale-to-zero - triggering a server restart when a connection is initiated<p>finally, i want to shout out to Jose and the Dashbit/elixir team. They were extremely helpful with the design & architecture. they have been valuable partners, and elixir continues to be an amazing language for tools like this and our Realtime server.
Show HN: BrowserBox – do stuff with browsers that you can't normally
Show HN: ChatGDB – GPT-Powered GDB Assistant
ChatGDB is a tool designed to superpower your debugging experience with GDB, a debugger for compiled languages. Use it to accelerate your debugging workflow by leveraging the power of ChatGPT to assist you while using GDB!<p>It allows you to explain in natural language what you want to do, and then automatically execute the relevant command. Optionally, you can ask ChatGPT to explain the command it just ran or even pass in any question for it to answer. Focus on what's important - figuring out that nasty bug instead of chasing down GDB commands at the tip of your tongue.<p>See it here: <a href="https://github.com/pgosar/ChatGDB">https://github.com/pgosar/ChatGDB</a>
Show HN: ADHD-friendly Pomodoro web app