Thursday, July 18, 2024

Show HN: ChatGPT Chrome Extension to Keep Temporary Chat Enabled https://ift.tt/1V9xkqH

Show HN: ChatGPT Chrome Extension to Keep Temporary Chat Enabled https://ift.tt/3cM6HVW July 19, 2024 at 09:35AM

Show HN: NetSour, CLI Based Wireshark https://ift.tt/q1IeyWB

Show HN: NetSour, CLI Based Wireshark This code is still in early beta, but i sincerley hope it will become as ubiquitous as VIM on Linux. https://ift.tt/DNmTce7 July 19, 2024 at 07:47AM

Show HN: How we leapfrogged traditional vector based RAG with a 'language map' https://ift.tt/TbKksIf

Show HN: How we leapfrogged traditional vector based RAG with a 'language map' TL;DR: Vector-based RAG performs poorly for many real-world applications like codebase chats, and you should consider 'language maps'. Part of our mission at Mutable.ai is to make it much easier for developers to build and understand software. One of the natural ways to do this is to create a codebase chat, that answer questions about your repo and help you build features. It might seem simple to plug in your codebase into a state-of-the-art LLM, but LLMs have two limitations that make human-level assistance with code difficult: 1. They currently have context windows that are too small to accommodate most codebases, let alone your entire organization's codebases. 2. They need to reason immediately to answer any questions without thinking through the answer "step-by-step." We built a chat sometime a year ago based on keyword retrieval and vector embeddings. No matter how hard we tried, including training our own dedicated embedding model, we could not get the chat to get us good performance. Here is a typical example: https://ift.tt/NFS8QnH... If you ask how to do quantization in llama.cpp the answers were oddly specific and seemed to pull in the wrong context consistently, especially from tests. We could, of course, take countermeasures, but it felt like a losing battle. So we went back to step 1, let’s understand the code, let’s do our homework, and for us, that meant actually putting an understanding of the codebase down in a document — a Wikipedia-style article — called Auto Wiki. The wiki features diagrams and citations to your codebase. Example: https://ift.tt/4lo8NYC This wiki is useful in and of itself for onboarding and understanding the business logic of a codebase, but one of the hopes for constructing such a document was that we’d be able to circumvent traditional keyword and vector-based RAG approaches. It turns out using a wiki to find context for an LLM overcomes many of the weaknesses of our previous approach, while still scaling to arbitrarily large codebases: 1. Instead of context retrieval through vectors or keywords, the context is retrieved by looking at the sources that the wiki cites. 2. The answers are based both on the section(s) of the wiki that are relevant AND the content of the actual code that we put into memory — this functions as a “language map” of the codebase. See it in action below for the same query as our old codebase chat: https://ift.tt/NFS8QnH... https://ift.tt/NFS8QnH... The answer cites it sources in both the wiki and the actual code and gives a step by step guide to doing quantization with example code. The quality of the answer is dramatically improved - it is more accurate, relevant, and comprehensive. It turns out language models love being given language and not a bunch of text snippets that are nearby in vector space or that have certain keywords! We find strong performance consistently across codebases of all sizes. The results from the chat are so good they even surprised us a little bit - you should check it out on a codebase of your own, at https://wiki.mutable.ai , which we are happy to do for free for open source code, and starts at just $2/mo/repo for private repos. We are introducing evals demonstrating how much better our chat is with this approach, but were so happy with the results we wanted to share with the whole community. Thank you! https://twitter.com/mutableai/status/1813815706783490055 July 19, 2024 at 12:10AM

Wednesday, July 17, 2024

Show HN: How we use LLMs to find testing gaps, vulnerabilities in codebases https://ift.tt/ZBbIm2H

Show HN: How we use LLMs to find testing gaps, vulnerabilities in codebases Hello everyone! I’m thrilled to announce the latest feature from Mutahunter.ai, the ultimate tool for finding and fixing weaknesses in your code. We’ve designed Mutahunter to leverage mutation testing powered by advanced LLMs, helping you uncover vulnerabilities and enhance your code quality effortlessly. Introducing our newest feature: Detailed Mutation Testing Reports! After running our mutation tests, Mutahunter now generates comprehensive reports that clearly summarize: • Vulnerable code gaps • Test case gaps These reports significantly reduce the cognitive load on developers by providing an easy-to-read summary of critical insights, enabling you to focus on what matters most—improving your code. We are proud to be completely open-source, and we invite you to check us out on GitHub: https://ift.tt/M3yFVYJ https://ift.tt/2fT0BGn July 18, 2024 at 02:19AM

Show HN: SQLite Transaction Benchmarking Tool https://ift.tt/HhpBu4o

Show HN: SQLite Transaction Benchmarking Tool I wanted to make my own evaluation of what kind of performance I could expect from SQLite on a server and investigate the experimental `BEGIN CONCURRENT` branch vs the inbuilt `DEFERRED` and `IMMEDIATE` behaviors. Explanatory blog post: https://ift.tt/EXipu8l https://ift.tt/vUQq6Z2 July 18, 2024 at 03:14AM

Show HN: Blitzping – A far faster nping/hping3 SYN-flood alternative with CIDR https://ift.tt/owahKpH

Show HN: Blitzping – A far faster nping/hping3 SYN-flood alternative with CIDR I found hping3 and nmap's nping to be far too slow in terms of sending individual, bare-minimum (40-byte) TCP SYN packets; other than inefficient socket I/O, they were also attempting to do far too much unnecessary processing in what should have otherwise been a tight execution loop. Furthermore, none of them were able to handle CIDR notations (i.e., a range of IP addresses) as their source IP parameter. Being intended for embedded devices (e.g., low-power MIPS/Arm-based routers), Blitzping only depends on standard POSIX headers and C11's libc (whether musl or gnu). To that end, even when supporting CIDR prefixes, Blitzping is significantly faster compared to hping3, nping, and whatever else that was hosted on GitHub. Here are some of the performance optimizations specifically done on Blitzping: * Pre-Generation : All the static parts of the packet buffer get generated once, outside of the sendto() tightloop; * Asynchronous : Configuring raw sockets to be non-blocking by default; * Multithreading : Polling the same socket in sendto() from multiple threads; and * Compiler Flags : Compiling with -Ofast, -flto, and -march=native (though these actually had little effect; by this point, the bottleneck is on the Kernel's own sendto() routine). Shown below are comparisons between the three software across two CPUs (more details at the GitHub repository): # Quad-Core "Rockchip RK3328" CPU @ 1.3 GHz. (ARMv8-A) # +--------------------+--------------+--------------+---------------+ | ARM (4 x 1.3 GHz) | nping | hping3 | Blitzping | +--------------------+ -------------+--------------+---------------+ | Num. Instances | 4 (1 thread) | 4 (1 thread) | 1 (4 threads) | | Pkts. per Second | ~65,000 | ~80,000 | ~275,000 | | Bandwidth (MiB/s) | ~2.50 | ~3.00 | ~10.50 | +--------------------+--------------+--------------+---------------+ # Single-Core "Qualcomm Atheros QCA9533" SoC @ 650 MHz. (MIPS32r2) # +--------------------+--------------+--------------+---------------+ | MIPS (1 x 650 MHz) | nping | hping3 | Blitzping | +----------------------+------------+--------------+---------------+ | Num. Instances | 1 (1 thread) | 1 (1 thread) | 1 (1 thread) | | Pkts. per Second | ~5,000 | ~10,000 | ~25,000 | | Bandwidth (MiB/s) | ~0.20 | ~0.40 | ~1.00 | +--------------------+--------------+--------------+---------------+ I tested Blitzping against both hpign3 and nping on two different routers, both running OpenWRT 23.05.03 (Linux Kernel v5.15.150) with the "masquerading" option (i.e., NAT) turned off in firewall; one device was a single-core 32-bit MIPS SoC, and another was a 64-bit quad-core ARMv8 CPU. On the quad-core CPU, because both hping3 and nping were designed without multithreading capabilities (unlike Blitzping), I made the competition "fairer" by launching them as four individual processes, as opposed to Blitzping only using one. Across all runs and on both devices, CPU usage remained at 100%, entirely dedicated to the currently running program. Finally, the connection speed itself was not a bottleneck: both devices were connected to an otherwise-unused 200 Mb/s (23.8419 MiB/s) download/upload line through a WAN ethernet interface. It is important to note that Blitzping was not doing any less than hping3 and nping; in fact, it was doing more. While hping3 and nping only randomized the source IP and port of each packet to a fixed address, Blitzping randomized not only the source port but also the IP within an CIDR range---a capability that is more computionally intensive and a feature that both hping3 and nping lacked in the first place. Lastly, hping3 and nping were both launched with the "best-case" command-line parameters as to maximize their speed and disable runtime stdio logging. https://ift.tt/sC8kBnZ July 15, 2024 at 02:28PM

Show HN: Product Hunt for Music https://ift.tt/6HvlfXL

Show HN: Product Hunt for Music https://tracklist.it/ July 18, 2024 at 01:01AM

Tuesday, July 16, 2024

Show HN: My website that lets you talk to historical characters https://ift.tt/jmTIrM0

Show HN: My website that lets you talk to historical characters Hey guys, I am currently in high school and I wanted some feedback on the website that I built that lets you talk to historical characters and learn that way. https://ift.tt/ErhKwgD July 17, 2024 at 03:27AM

Show HN: Xuijs is A JavaScript library for creating reactive user interfaces https://ift.tt/YLc2g06

Show HN: Xuijs is A JavaScript library for creating reactive user interfaces started this project a long time ago. now I'm back working on it with new ideas in mind. feedback is appreciated. https://ift.tt/052wbZ3 July 16, 2024 at 11:29PM

Show HN: Contacts: A Microlang for Managing Contacts https://ift.tt/UVmcvrC

Show HN: Contacts: A Microlang for Managing Contacts https://ift.tt/lwDgb5k July 17, 2024 at 01:08AM

Show HN: Try Codestral Mamba (Mistral's new model) using OpenAI's API format https://ift.tt/AJVeM72

Show HN: Try Codestral Mamba (Mistral's new model) using OpenAI's API format 1. Head over to https://ift.tt/EQT9SGF 2. Install the package (MIT licensed) 3. Set the model to be codestral-mamba-2407 and the provider to be mistral https://ift.tt/EQT9SGF July 16, 2024 at 11:43PM

Monday, July 15, 2024

Show HN: Mutahunter – Fast, language agnostic, software testing using LLM agents https://ift.tt/TL9KSNd

Show HN: Mutahunter – Fast, language agnostic, software testing using LLM agents https://mutahunter.ai July 16, 2024 at 01:34AM

Show HN: TargetJ – New JavaScript framework that can animate anything https://ift.tt/iCxdQBn

Show HN: TargetJ – New JavaScript framework that can animate anything I am excited to introduce to you TargetJ, a new JavaScript framework that can animate anything. I have been working on this project for over two years, driven by the complexity of current UI frameworks. You can find the interactive documentation at www.targetj.io. I hope you find it useful for creating great web experiences. If you have any questions about the framework or want to share your thoughts, please leave a comment below. I’m eager to hear from you! https://ift.tt/e4MBEO7 July 16, 2024 at 12:06AM

Sunday, July 14, 2024

Show HN: WordSea – Visual English Dictionary https://ift.tt/OVDpbSN

Show HN: WordSea – Visual English Dictionary Hi! My girlfriend and I created an app that allows you to "see" the meaning of words based on their definitions. We think it is sometimes easier to understand and remember a new word when you can visualize it. For some words, it is easy to do - you can search Google Images to quickly grasp the meaning. We wanted to extend this idea to more abstract words. Hope you find it useful! https://wordsea.xyz/ July 14, 2024 at 07:35PM

Saturday, July 13, 2024

Show HN: Htmx Offline Mode https://ift.tt/wmzvl9U

Show HN: Htmx Offline Mode I wrote a pretty simple extension to HTMX that captures requests made if you lose internet or other connectivity to the server receiving the requests. Then, when you're back online, it replays requests. Maybe someone here would benefit from it. https://ift.tt/g17hJIF July 13, 2024 at 10:06PM

Show HN: An open-source backend for frontend framework built on Express.js https://ift.tt/iHEA3Vw

Show HN: An open-source backend for frontend framework built on Express.js Hey All! I started a project to create a simple API proxy server that would allow me to use third-party APIs in my frontend apps without exposing my API keys. This solved a common problem I faced: needing to interact with external services securely without building a full backend for every project. As I worked on it, the project evolved into something more comprehensive: a Backend for Frontend (BFF) Framework built on Express.js. This framework now helps you quickly spin up a backend for your client applications, especially useful when you're dealing with APIs you don't fully control. You can configure the BFF using a simple YAML file, and it comes with built-in policies for CORS, JWT validation, and rate limiting. If you need more customization, you can extend its functionality by writing custom Express middleware and handlers. I'd love to get your feedback and hear if this would be useful for your projects! https://ift.tt/cfudzl5 July 13, 2024 at 07:52PM

Friday, July 12, 2024

Show HN: Click counter using iPhone volume buttons https://ift.tt/nC3xBJ0

Show HN: Click counter using iPhone volume buttons https://ift.tt/7OHJSet July 9, 2024 at 12:18AM

Show HN: BoilerplateHub – Find the perfect boilerplate for your next project https://ift.tt/WgjnD8P

Show HN: BoilerplateHub – Find the perfect boilerplate for your next project BoilerplateHub is a curated collection of ready-to-ship boilerplates for various tech stacks and projects. I want to help developers compare and choose the ideal starter kit to ship faster. Key features: - Easy comparison of different options - Regularly updated with new and trending starter kits - Covers multiple tech stacks and project types I built this to solve the problem of spending too much time setting up project foundations. Would love to hear your feedback and suggestions for improvement! Thx! https://ift.tt/lpmGWPd July 12, 2024 at 06:20PM

Show HN: Perf Sea – performance engineering for everyone https://ift.tt/2XV1x6H

Show HN: Perf Sea – performance engineering for everyone I have found that many companies don’t have time for performance engineering and leave random tunables incorrectly configured for their workload. Instead of solving the same problems over and over I wanted an open source place where people could collaboratively share their best practices, knowledge, and methodologies, because in performance engineering no one is really a competitor. It is under active development, but currently you can: * scan flamegraphs to match with optimizations * scan raw hardware counter events to generate high level metrics and insights * scan arbitrary command output for system configuration red flags All in the browser with a simple copy paste. https://perfsea.com/ July 12, 2024 at 06:09PM

Thursday, July 11, 2024

Show HN: Mandala – Automatically save, query and version Python computations https://ift.tt/EQ9ve8V

Show HN: Mandala – Automatically save, query and version Python computations `mandala` is a framework I wrote to automate tracking ML experiments for my research. It differs from other experiment tracking tools by making persistence, query and versioning logic a generic part of the programming language itself, as opposed to an external logging tool you must learn and adapt to. The goal is to be able to write expressive computational code without thinking about persistence (like in an interactive session), and still have the full benefits of a versioned, queriable storage afterwards. Surprisingly, it turns out that this vision can pretty much be achieved with two generic tools: 1. a memoization+versioning decorator, `@op`, which tracks inputs, outputs, code and runtime dependencies (other functions called, or global variables accessed) every time a function is called. Essentially, this makes function calls replace logging: if you want something saved, you write a function that returns it. Using (a lot of) hashing, `@op` ensures that the same version of the function is never executed twice on the same inputs. Importantly, the decorator encourages/enforces composition. Before a call, `@op` functions wrap their inputs in special objects, `Ref`s, and return `Ref`s in turn. Furthermore, data structures can be made transparent to `@op`s, so that an `@op` can be called on a list of outputs of other `@op`s, or on an element of the output of another `@op`. This creates an expressive "web" of `@op` calls over time. 2. a data structure, `ComputationFrame`, can automatically organize any such web of `@op` calls into a high-level view, by grouping calls with a similar role into "operations", and their inputs/outputs into "variables". It can detect "imperative" patterns - like feedback loops, branching/merging, and grouping multiple results in a single object - and surface them in the graph. `ComputationFrame`s are a "synthesis" of computation graphs and relational databases, and can be automatically "exported" as dataframes, where columns are variables and operations in the graph, and rows contain values and calls for (possibly partial) executions of the graph. The upshot is that you can query the relationships between any variables in a project in one line, even in the presence of very heterogeneous patterns in the graph. I'm very excited about this project - which is still in an alpha version being actively developed - and especially about the `ComputationFrame` data structure. I'd love to hear the feedback of the HN community. Colab quickstart: https://ift.tt/vMlIRD4... Blog post introducing `ComputationFrame`s (can be opened in Colab too): https://ift.tt/4jiJmD3 Docs: https://ift.tt/49H2Nr7 https://ift.tt/cHn7qPU July 12, 2024 at 01:40AM

Show HN: Kstack – Skill pack for monitoring/troubleshooting K8s in Claude Code https://ift.tt/GQauRgE

Show HN: Kstack – Skill pack for monitoring/troubleshooting K8s in Claude Code Hi All, Recently I've been using Claude Code a lot for de...