The best Hacker News stories from Show from the past week
Latest posts:
Show HN: A modern Jupyter client for macOS
I love Jupyter – it's how I learned to code back when I was working as a scientist. But I was always frustrated that there wasn't a simple and elegant app that I could use with my Mac. I made do by wrapping JupyterLab in a chrome app, and then more recently switching to VS Code to make use of Copilot. I've always craved a more focused and lighter-weight experience when working in a notebook. That's why I created Satyrn.<p>It starts up really fast (faster time-to-execution than VS Code or JupyterLab), you can launch notebooks right from the Finder, and the design is super minimalist. It's got an OpenAI integration (use your own API key) for multi-cell generation with your notebook as context (I'll add other LLMs soon). And many more useful features like a virtual environment management UI, Black code formatting, and easy image/table copy buttons.<p>Full disclosure: it's built with Electron. I originally wrote it in Swift but couldn't get the editor experience to where I wanted it. Now it supports autocomplete, multi-cursor editing, and moving the cursor between cells just like you'd expect from JupyterLab or VS Code.<p>Satyrn sits on top of the jupyter-server, so it works with all your existing python kernels, Jupyter configuration, and ipynb files. It only works with local files at the moment, but I'm planning to extend it to support remote servers as well.<p>I'm an indie developer, and I will try to monetize at some point, but it's free while in alpha. If you're interested, please try it out!<p>I'd love your feedback in the comments, or you can contact me at jack-at-satyrn-dot-app.
Show HN: A modern Jupyter client for macOS
I love Jupyter – it's how I learned to code back when I was working as a scientist. But I was always frustrated that there wasn't a simple and elegant app that I could use with my Mac. I made do by wrapping JupyterLab in a chrome app, and then more recently switching to VS Code to make use of Copilot. I've always craved a more focused and lighter-weight experience when working in a notebook. That's why I created Satyrn.<p>It starts up really fast (faster time-to-execution than VS Code or JupyterLab), you can launch notebooks right from the Finder, and the design is super minimalist. It's got an OpenAI integration (use your own API key) for multi-cell generation with your notebook as context (I'll add other LLMs soon). And many more useful features like a virtual environment management UI, Black code formatting, and easy image/table copy buttons.<p>Full disclosure: it's built with Electron. I originally wrote it in Swift but couldn't get the editor experience to where I wanted it. Now it supports autocomplete, multi-cursor editing, and moving the cursor between cells just like you'd expect from JupyterLab or VS Code.<p>Satyrn sits on top of the jupyter-server, so it works with all your existing python kernels, Jupyter configuration, and ipynb files. It only works with local files at the moment, but I'm planning to extend it to support remote servers as well.<p>I'm an indie developer, and I will try to monetize at some point, but it's free while in alpha. If you're interested, please try it out!<p>I'd love your feedback in the comments, or you can contact me at jack-at-satyrn-dot-app.
Show HN: I’ve made a cheaper SEO research tool
In the last 13 months I've spent total $1297 for Ahrefs subscription. Sounds like a little too much so I've build my own Keywords Research tool - Telescope.<p>While building it my total bill was $51 for 2 months and 41k+ keywords found. Every page of keywords costs $0.03 - $0.05. 2 payment options - usage-based subscription or just top up your balance with the amount you'd like to.<p>Telescope includes a couple of things:<p>- Keywords Explorer - finding keywords based on seed phrase and filters<p>- Keywords Ideas - keywords on interception on provided keywords<p>- Ranked Keywords - keywords a domain you specified with their positions and change since last DB update<p>- Saved Keywords - to store found keywords and plan the SEO strategy<p>I've put a lot of love into it and would love to get some feedback. IMPORTANT: every new account gets some free balance to start with. Appreciate it!
Show HN: Xcapture-BPF – like Linux top, but with Xray vision
Show HN: Adding Mistral Codestral and GPT-4o to Jupyter Notebooks
Hey HN! We’ve forked Jupyter Lab and added AI code generation features that feel native and have all the context about your notebook. You can see a demo video (2 min) here: <a href="https://www.tella.tv/video/clxt7ei4v00rr09i5gt1laop6/view">https://www.tella.tv/video/clxt7ei4v00rr09i5gt1laop6/view</a><p>Try a hosted version here: <a href="https://pretzelai.app" rel="nofollow">https://pretzelai.app</a><p>Jupyter is by far the most used Data Science tool. Despite its popularity, it still lacks good code-generation extensions. The flagship AI extension <i>jupyter-ai</i> lags far behind in features and UX compared to modern AI code generation and understanding tools (like <a href="https://www.continue.dev">https://www.continue.dev</a> and <a href="https://www.cursor.com" rel="nofollow">https://www.cursor.com</a>). Also, GitHub Copilot <i>still</i> isn’t supported in Jupyter, more than 2 years after its launch. We’re solving this with Pretzel.<p>Pretzel is a free and open-source fork of Jupyter. You can install it locally with “pip install pretzelai” and launch it with “pretzel lab”. We recommend creating a new python environment if you already have jupyter lab installed. Our GitHub README has more information: <a href="https://github.com/pretzelai/pretzelai">https://github.com/pretzelai/pretzelai</a><p>For our first iteration, we’ve shipped 3 features:<p>1. Inline Tab autocomplete: This works similar to GitHub Copilot. You can choose between Mistral Codestral or GPT-4o in the settings<p>2. Cell level code generation: Click Ask AI or press Cmd+K / Ctrl+K to instruct AI to generate code in the active Jupyter Cell. We provide relevant context from the current notebook to the LLM with RAG. You can refer to existing variables in the notebook using the @variable syntax (for dataframes, it will pass the column names to the LLM)<p>3. Sidebar chat: Clicking the blue Pretzel Icon on the right sidebar opens this chat (Ctrl+Cmd+B / Ctrl+Alt+B). This chat always has context of your current cell or any selected text. Here too, we use RAG to send any relevant context from the current notebook to the LLM<p>All of these features work out-of-the-box via our “AI Server” but you have the option of using your own OpenAI API Key. This can be configured in the settings (Menu Bar > Settings > Settings Editor > Search for Pretzel). If you use your own OpenAI API Key but don’t have a Mistral API key, be sure to select OpenAI as the inline code completion model in the settings.<p>These features are just a start. We're building a modern version of Jupyter. Our roadmap includes frictionless, realtime collaboration (think pair-programming, comments, version history), full-fledged SQL support (both in code cells and as a standalone SQL IDE), a visual analysis builder, a VSCode-like coding experience powered by Monaco, and 1-click dashboard creation and sharing straight from your notebooks.<p>We’d love for you to try Pretzel and send us any feedback, no matter how minor (see my bio for contact info, or file a GitHub issue here: <a href="https://github.com/pretzelai/pretzelai/issues">https://github.com/pretzelai/pretzelai/issues</a>)
Show HN: Edna, note taking app for developers
I took a small break from coding SumatraPDF and wrote a note taking application that is perfect for me: <a href="https://edna.arslexis.io/" rel="nofollow">https://edna.arslexis.io/</a><p>Edna is a note taking app for developers and power users. A cross between Obsidian and Notational Velocity.<p>Markdown, plain text, code, works in browser so no installation required, private (notes are stored in your browser or disk) and secure (can encrypt notes with a password).<p>The story so far.<p>I was always attracted to editors with minimalistic UI, like <a href="https://mak.ink/" rel="nofollow">https://mak.ink/</a>, simplenote, Notational Velocity. I like having most of the screen estate for writing because writing and editing is what note taking apps are for.<p>But: most of them are very thin on features and UI.<p>I saw Heynote and it was one of those minimalistic writing UIs with not many features.<p>I liked their concept of dividing notes into blocks so I forked Heynote and started coding.<p>The goal was to combine writing-oriented, minimalistic main UI while also providing on-demand UI for features and efficient operation. Things like context menu, type-down note switcher, command palette, quick access shortcuts, plenty of keyboard shortcuts.<p>Another goal was privacy and security. The notes never leave your computer and can be encrypted with a password. It also makes the code simpler because I don't need any backend storage, user accounts and auth etc.<p>Sadly, only Chrome and Edge provide the necessary file system api, on other browser you can only store notes in local storage, which means no sharing between computers or accessing the notes with other software.<p>40 working days and 528 commits later, here's what I've added:<p><pre><code> * added support for multiple notes
* ability to store notes on disk
* and if you store notes in a directory managed by DropBox, OneDrive etc., you get sharing of notes between computers
* Ctrl + P: UI for switching between notes, creating new notes, deleting notes, inspired by Notational Velocity
* Ctrl + Shift + P: command palette like in vs code
* context menu to access frequently used functionality
* Ctrl + E to open note from history (list of recently opened notes)
* ability to assign Alt + 0 ... Alt + 9 quick access shortcuts
* ability to encrypt notes with a password
* export all notes to a .zip file
* automatic, daily backup of notes to a .zip file (optiona, see Settings)
* Ctrl + B to navigate between blocks
* re-designed Settings UI
* added ability to execute Go blocks
* support Svelte and Vue in code blocks
* ported the UI code from Vue to Svelte 5, just because I could
* converted from desktop app to run in the browser
</code></pre>
(Ctrl is on Windows, on Mac it's ⌘).<p>I've been using it daily while working on it. 94 notes and counting.<p>I still have ideas for improvements but it has all the core features for productive work.<p>The app: <a href="https://edna.arslexis.io/" rel="nofollow">https://edna.arslexis.io/</a><p>The code: <a href="https://github.com/kjk/edna">https://github.com/kjk/edna</a>
Show HN: Doggo – A powerful, human-friendly DNS client for the command line
Show HN: I created an After Effects alternative
Many years ago, I made VJ softwares (to mix live visuals in clubs) for unexpected platforms like the Game Boy Advance, the Playstation 2 and the Raspberry Pi. This year, I’m back with a new web-app: Pikimov.<p>Inspired by Photopea (a free Photoshop clone), I created this web-based motion design & video editor as an alternative to After Effects, to fill empty void.<p>It's free, without signup, without cloud uploads (your files stay on your machine), and your projects are not used for AI models training.
Show HN: I created an After Effects alternative
Many years ago, I made VJ softwares (to mix live visuals in clubs) for unexpected platforms like the Game Boy Advance, the Playstation 2 and the Raspberry Pi. This year, I’m back with a new web-app: Pikimov.<p>Inspired by Photopea (a free Photoshop clone), I created this web-based motion design & video editor as an alternative to After Effects, to fill empty void.<p>It's free, without signup, without cloud uploads (your files stay on your machine), and your projects are not used for AI models training.
Show HN: Drop-in SQS replacement based on SQLite
Hi! I wanted to share an open source API-compatible replacement for SQS. It's written in Go, distributes as a single binary, and uses SQLite for underlying storage.<p>I wrote this because I wanted a queue with all the bells and whistles - searching, scheduling into the future, observability, and rate limiting - all the things that many modern task queue systems have.<p>But I didn't want to rewrite my app, which was already using SQS. And I was frustrated that many of the best solutions out there (BullMQ, Oban, Sidekiq) were language-specific.<p>So I made an SQS-compatible replacement. All you have to do is replace the endpoint using AWS' native library in your language of choice.<p>For example, the queue works with Celery - you just change the connection string. From there, you can see all of your messages and their status, which is hard today in the SQS console (and flower doesn't support SQS.)<p>It is written to be pluggable. The queue implementation uses SQLite, but I've been experimenting with RocksDB as a backend and you could even write one that uses Postgres. Similarly, you could implement multiple protocols (AMQP, PubSub, etc) on top of the underlying queue. I started with SQS because it is simple and I use it a lot.<p>It is written to be as easy to deploy as possible - a single go binary. I'm working on adding distributed and autoscale functionality as the next layer.<p>Today I have search, observability (via prometheus), unlimited message sizes, and the ability to schedule messages arbitrarily in the future.<p>In terms of monetization, the goal is to just have a hosted queue system. I believe this can be cheaper than SQS without sacrificing performance. Just as Backblaze and Minio have had success competing in the S3 space, I wanted to take a crack at queues.<p>I'd love your feedback!
Show HN: Drop-in SQS replacement based on SQLite
Hi! I wanted to share an open source API-compatible replacement for SQS. It's written in Go, distributes as a single binary, and uses SQLite for underlying storage.<p>I wrote this because I wanted a queue with all the bells and whistles - searching, scheduling into the future, observability, and rate limiting - all the things that many modern task queue systems have.<p>But I didn't want to rewrite my app, which was already using SQS. And I was frustrated that many of the best solutions out there (BullMQ, Oban, Sidekiq) were language-specific.<p>So I made an SQS-compatible replacement. All you have to do is replace the endpoint using AWS' native library in your language of choice.<p>For example, the queue works with Celery - you just change the connection string. From there, you can see all of your messages and their status, which is hard today in the SQS console (and flower doesn't support SQS.)<p>It is written to be pluggable. The queue implementation uses SQLite, but I've been experimenting with RocksDB as a backend and you could even write one that uses Postgres. Similarly, you could implement multiple protocols (AMQP, PubSub, etc) on top of the underlying queue. I started with SQS because it is simple and I use it a lot.<p>It is written to be as easy to deploy as possible - a single go binary. I'm working on adding distributed and autoscale functionality as the next layer.<p>Today I have search, observability (via prometheus), unlimited message sizes, and the ability to schedule messages arbitrarily in the future.<p>In terms of monetization, the goal is to just have a hosted queue system. I believe this can be cheaper than SQS without sacrificing performance. Just as Backblaze and Minio have had success competing in the S3 space, I wanted to take a crack at queues.<p>I'd love your feedback!
Show HN: I am building an open-source Confluence and Notion alternative
Hello HN,<p>I am building Docmost, an open-source collaborative wiki and documentation software.
It is an open-source alternative to Confluence and Notion.<p>I have been working on it for the past 12 months. This is the first public release (beta).<p>The rich-text editor has support for real-time collaboration, LaTex, inline comments, tables, and callouts to name a few.<p>Features<p>- Collaborative real-time editor<p>- Spaces (Teamspace)<p>- User permissions<p>- Groups<p>- Comments<p>- Page history<p>- Nested pages<p>- Search<p>- File attachments<p>You can find screenshots of the product on the website.<p>Website: <a href="https://docmost.com" rel="nofollow">https://docmost.com</a><p>Github: <a href="https://github.com/docmost/docmost">https://github.com/docmost/docmost</a><p>Documentation: <a href="https://docmost.com/docs" rel="nofollow">https://docmost.com/docs</a><p>I would love to hear your feedback.<p>Thank you.
Show HN: I am building an open-source Confluence and Notion alternative
Hello HN,<p>I am building Docmost, an open-source collaborative wiki and documentation software.
It is an open-source alternative to Confluence and Notion.<p>I have been working on it for the past 12 months. This is the first public release (beta).<p>The rich-text editor has support for real-time collaboration, LaTex, inline comments, tables, and callouts to name a few.<p>Features<p>- Collaborative real-time editor<p>- Spaces (Teamspace)<p>- User permissions<p>- Groups<p>- Comments<p>- Page history<p>- Nested pages<p>- Search<p>- File attachments<p>You can find screenshots of the product on the website.<p>Website: <a href="https://docmost.com" rel="nofollow">https://docmost.com</a><p>Github: <a href="https://github.com/docmost/docmost">https://github.com/docmost/docmost</a><p>Documentation: <a href="https://docmost.com/docs" rel="nofollow">https://docmost.com/docs</a><p>I would love to hear your feedback.<p>Thank you.
Show HN: Voice bots with 500ms response times
Last year when GPT-4 was released I started making lots of little voice + LLM experiments. Voice interfaces are fun; there are several interesting new problem spaces to explore.<p>I'm convinced that voice is going to be a bigger and bigger part of how we all interact with generative AI. But one thing that's hard, today, is building voice bots that respond as quickly as humans do in conversation. A 500ms voice-to-voice response time is just <i>barely</i> possible with today's AI models.<p>You can get down to 500ms if you: host transcription, LLM inference, and voice generation all together in one place; are careful about how you route and pipeline all the data; and the gods of both wifi and vram caching smile on you.<p>Here's a demo of a 500ms-capable voice bot, plus a container you can deploy to run it yourself on an A10/A100/H100 if you want to:<p><a href="https://fastvoiceagent.cerebrium.ai/">https://fastvoiceagent.cerebrium.ai/</a><p>We've been collecting lots of metrics. Here are typical numbers (in milliseconds) for all the easily measurable parts of the voice-to-voice response cycle.<p><pre><code> macOS mic input 40
opus encoding 30
network stack and transit 10
packet handling 2
jitter buffer 40
opus decoding 30
transcription and endpointing 200
llm ttfb 100
sentence aggregation 100
tts ttfb 80
opus encoding 30
packet handling 2
network stack and transit 10
jitter buffer 40
opus decoding 30
macOS speaker output 15
----------------------------------
total ms 759
</code></pre>
Everything in AI is changing all the time. LLMs with native audio input and output capabilities will likely make it easier to build fast-responding voice bots soon. But for the moment, I think this is the fastest possible approach/tech stack.
Show HN: I built an indie, browser-based MMORPG
I've been working on an MMORPG that is now in alpha as a solo developer.<p>Here are the major open source technologies that I use:<p>Blender - 3D modeling software for creating the overall environment and every game object. I've gotten a lot of CC and Public Domain assets from <a href="https://poly.pizza" rel="nofollow">https://poly.pizza</a><p>GLTF - I export assets from blender to the GLTF asset format<p>JSON - I write a JSON config for every game object that describes things like its name, its interactions, its collisions, etc.<p>Node.js exporter - I iterate over the environment and every asset to create a scene hierarchy. I use gltf-transform for processing all GLTF files, compressing them, removing redundancies, etc.<p>Node.js server - Uses express and socket.io to process game state updates. It keeps track of every client's game state and issues delta's at each game tick (currently 600ms). The client can send interactions with different objects. The server validates those and updates the game state accordingly.<p>HTML/CSS/JavaScript/Three.js client - I use regular web technologies for the UI elements and three.js for the 3D rending on the browser. The client is responsible for rending the world state and providing the client with different interactions. All code is written in JavaScript which means less context switching. Performance seems to be good enough, and I figure I can always optimize the server code in C++ if necessary.<p>I am currently running two cheap shared instances but based on my testing, they can likely support about 200 users each. This is a low-poly browser based game so it should be compatible across many devices. The data a user needs to download to play, including all 3d assets, is approximately 2 MB, even though there are hundreds of assets.<p>Overall, it's been a fun project. Web development and open source software have progressed to the point that this is no longer an incredibly difficult feat. I feel like development is going pretty well and in a year or so there will be plenty of good content to play.
Show HN: Glasskube – Open Source Kubernetes Package Manager, alternative to Helm
Hello HN, we're Philip and Louis from Glasskube (<a href="https://github.com/glasskube/glasskube">https://github.com/glasskube/glasskube</a>). We're working on an open-source package manager for Kubernetes. It's an alternative to tools like Helm or Kustomize, primarily focused on making deploying, updating, and configuring Kubernetes packages simpler and a lot faster. Here is a demo video (<a href="https://www.youtube.com/watch?v=aIeTHGWsG2c#t=17s" rel="nofollow">https://www.youtube.com/watch?v=aIeTHGWsG2c#t=17s</a>) with quick start instructions.<p>Most developers working with Kubernetes use Helm, an open-source tool created during a hackathon nine years ago. However, with the rapid growth of Kubernetes packages to over 800 packages on the CNCF landscape today, the prerequisites have changed, and we believe it’s time for a new package manager. Every engineer we talked to has a love-hate relationship with Helm, and we also found ourselves defaulting to Helm despite its shortcomings due to a lack of alternatives.<p>We have spent enough time trying to get Helm to do what we need. From looking for the correct chart, trying to learn how each value affects the components and hand-crafting a schemaless values.yaml file, to debugging the final release if it inevitably fails to install, the experience of using Helm is, for the most part, time consuming and cumbersome.<p>Charts often become more complex, requiring the use of sub-charts. These umbrella charts tend to be even harder to maintain and upgrade, because so many different components are bundled into a single release.<p>We talked to over 100 developers and found that everyone developed their own little workarounds, with some working better than others. We collected the feedback poured everything we learned from that into a new package manager. We want to build something that is as easy to use as Homebrew or npm and make package management on Kubernetes as easy as on every other platform.<p>Some of the features Glasskube already supports are<p>Typesafe package configuration via UI or interactive CLI to inject values from other packages, ConfigMaps, and Secrets.<p>Browse our central package repository so there is no need to look for a Helm repository to find a specific package.<p>All packages are dependency-aware so they can be used and referenced by multiple other packages even across namespaces. We validate the complete dependency tree - So packages get installed in the correct namespace.<p>Preview and perform pending updates to your desired version with a single click of a button. All updates have been tested in the Glasskube test suite before being available in the public repository.<p>Use multiple repositories and publish your own private packages (e.g., your company's internal services packages, so all developers will have the up-to-date and easily configured internal services).<p>All features are available via UI or interactive CLI. You can also manage all packages via GitOps.<p>Currently, we are focused on enhancing the user experience, aiming to save engineers as much time as possible. We are still using Helm and Manifests under the hood. However, together with the community, we plan to develop an entirely new packaging and bundling format for all cloud-native packages. This will provide package developers with a straightforward way to define how to install and configure packages, offer simple upgrade paths, and enable us to provide feedback, crash reports, and analytics to every developer working on Kubernetes packages.<p>We also started working on a cloud version. You can pre-signup here in case you are interested: <a href="https://glasskube.cloud" rel="nofollow">https://glasskube.cloud</a><p>We'd greatly appreciate any feedback you have and hope you get the chance to try out Glasskube.
Show HN: From dotenv to dotenvx – better config management
Show HN: I built a JavaScript-powered flipdisc display
I am using AI to drop hats outside my window onto New Yorkers
Show HN: Simple script to cripple personalized targeting from Facebook