Wednesday, May 31, 2023
Show HN: Reddit Firehose https://ift.tt/f1Shu2N
Show HN: Reddit Firehose Inspired by the upcoming reddit API changes, I built this to (ab)use the existing free-to-use API to view the latest content being posted in a minimalist infinite doom-scrolling web app. Warning: despite filtering NSFW-tagged content by default, you'll probably see some things that aren't exactly office-friendly. User beware. https://ift.tt/tRPCsxY June 1, 2023 at 01:54AM
Show HN: Find the sickest motorcycle rides in your area with Peg Scraper https://ift.tt/Oe4aMjh
Show HN: Find the sickest motorcycle rides in your area with Peg Scraper Dear HN, This is a little weekend project I put together for a good friend of mine who loves to ride. It shows you the best, twistiest roads in your area and then randomly selects a few of them until you see a "loop" that you like—then it shoots you straight to Google Maps with the route pre-loaded. Thought I would drop it here because why not. https://ift.tt/ql2P3ic May 31, 2023 at 06:32PM
Show HN: Dreaming about content.revenue(); https://ift.tt/M7LIOyi
Show HN: Dreaming about content.revenue(); https://ift.tt/sV9NJBK May 31, 2023 at 09:29AM
Show HN: Travel website fully generated by AI https://ift.tt/g8EzBjA
Show HN: Travel website fully generated by AI https://ift.tt/NHpaR7u May 31, 2023 at 12:55PM
Tuesday, May 30, 2023
Show HN: I open sourced the CLI of my API Testing Framework https://ift.tt/iBIyAtp
Show HN: I open sourced the CLI of my API Testing Framework https://ift.tt/E143fRO May 31, 2023 at 03:05AM
Show HN: I open sourced the QR designer from my failed startup https://ift.tt/Hb5fZXB
Show HN: I open sourced the QR designer from my failed startup My designer is somewhat special, if I do say so myself, as it allows you to put arbitrary designs in the middle area of the QR while still being totally scannable. https://ift.tt/cjCvPyT May 30, 2023 at 11:23PM
Show HN: SQLite.News – Your One-Stop SQLite News Aggregator https://ift.tt/UaQkrcA
Show HN: SQLite.News – Your One-Stop SQLite News Aggregator Hey HackerNews community! I couldn't help but notice the recent surge of interest in SQLite and its growing popularity among developers. As a fellow enthusiast, I'm thrilled to announce the launch of a new project that aims to cater to the needs of the thriving SQLite community. Allow me to introduce SQLite.News, your ultimate SQLite news aggregator! SQLite.News is a platform designed to bring together all the latest news, updates, and discussions surrounding SQLite, making it easier for developers and enthusiasts to stay informed about this incredible database engine. Whether you're a seasoned SQLite pro or just getting started, SQLite.News will be your go-to resource for all things SQLite. As of now, SQLite.News is in its early stages, and we're actively working on building the platform and expanding our content sources. We value your input and would love to hear your thoughts, suggestions, and feature requests. Together, we can shape SQLite.News into the ultimate SQLite community resource. I invite you all to join SQLite.News today and become part of a dynamic community that shares a passion for SQLite. Head over to https://sqlite.news and let's embark on this exciting journey together and unlock the true potential of SQLite! Happy Hacking, Marco Bambini May 30, 2023 at 05:50PM
Show HN: A powerful, compact home server for self-hosting https://ift.tt/Bln6MZ8
Show HN: A powerful, compact home server for self-hosting https://umbrel.com/?v=1 May 30, 2023 at 06:58PM
Show HN: Metabase and Forest Admin Integration https://ift.tt/2KIcF5M
Show HN: Metabase and Forest Admin Integration https://ift.tt/0Ujz3Nm May 30, 2023 at 01:18PM
Show HN: Opinionated Web Framework for Converting Jupyter Notebooks to Web Apps https://ift.tt/68ObApd
Show HN: Opinionated Web Framework for Converting Jupyter Notebooks to Web Apps https://RunMercury.com May 30, 2023 at 04:09PM
Show HN: iOS iCal Helper https://ift.tt/ZrhCKpq
Show HN: iOS iCal Helper Hello HN! Long time lurker and Apple user here. I made this simple tool to load .ics files client-side and open it in-browser so Apple's iCal integration enables adding it to their calendar. To say the app is barebones is an understatement: I made it in 2 minutes. Visual enhancements might come. Source: https://ift.tt/qlwjMBO Useful context: https://ift.tt/ZcPBeM0 https://ift.tt/jf6AnbF May 30, 2023 at 01:14PM
Monday, May 29, 2023
Show HN: Plus AI Market Research https://ift.tt/liGze6O
Show HN: Plus AI Market Research Hi Team! Please add my app to your directory. Here's more info: App name: Plus AI Market Research Description: Give Plus AI a topic, and it will create a market or strategy report. Plus AI uses the latest AI technologies to create an easy-to-digest presentation. After creating the report, we send you the link to a slide deck, so you can customize it and share with your coworkers Link: https://ift.tt/CLucFRV My best, Daniel Li https://ift.tt/CLucFRV May 30, 2023 at 02:22AM
Show HN: Tiny – A 2D Game Engine in Kotlin Working with Lua https://ift.tt/ofRzTwJ
Show HN: Tiny – A 2D Game Engine in Kotlin Working with Lua I created a small 2D game engine named Tiny. The engine was created using Kotlin Multiplatform and can run on a JVM and JS. Funny things: Games can be created using the programming language Lua. Tiny is designed to help you create and test your ideas quickly and effectively. Not only can you run your games on your desktop computer, but you can also export them for the web, making it easy to share your creations with others. You can create games easily with the hot reload, small API and Lua, which is very easy to learn. If you want to test a game idea, to try to create your first game or just have fun, give it a try to Tiny. https://ift.tt/gJBh8Mb May 30, 2023 at 12:49AM
Show HN: Candydate – TikTok Meets Tinder but for Recruitment https://ift.tt/yHMgew4
Show HN: Candydate – TikTok Meets Tinder but for Recruitment HB here, sharing my first post ; ) I run a tech lab in the UK, and after several costly, poor hires over the years, we decided to build our own hiring tool with a focus on personality over skills. Here's the thing: resumes suck at showcasing personality! We've been using video and AI successfully and for quite some time to solve this problem. Now, we thought, why not spread the love? Especially if we can make it FREE for small businesses like ours? https://candydate.app , has the following goals: 1. Highlight true personalities using short videos, instead of relying on CVs or forms. 2. Employ AI to help rank applicants for each role, based on human factors and company culture. 3. Transform the selection process into something akin to scrolling through TikTok or using Tinder. Job seekers won't need to fill out forms, attach resumes, create an account or download anything. They just scan a QR code, record a short video, and they're done. It's truly simple! The aim was never to build an ATS (too complex for our needs) or a job listing site (there are many already). Instead, something simpler, to use wherever we already advertise vacancies, be it online or in print. We believe small businesses that lack recruitment tools (like we did) might appreciate it, although Candydate can certainly help businesses of all sizes. I have no idea how to launch or promote this type of tool, so any feedback or tips on spreading the word or improving the app would be immensely appreciated. Many thanks, HN! https://candydate.app May 29, 2023 at 08:04PM
Show HN: Prototyping Games and Experiences with ChatGPT https://ift.tt/fU1jvs8
Show HN: Prototyping Games and Experiences with ChatGPT Hey everyone, ChatGPT recently added a very small but powerful feature - the ability to share your chats! I think it’s a great way to create prototypes and share them, here are a couple of examples: First, [a small talk simulator](https://ift.tt/NDKH18u) a game to help you improve your social skills. Second, [a shark tank simulator](https://ift.tt/3zin7hQ), see if your idea and pitch can get a deal on ABCs hit show! [Here’s my pitch](https://ift.tt/YCey23W) if you want to see an example of how it plays out. I’m hoping to see more stuff like this very soon, less prompt guides, and more interactive shared chat sessions! Adam May 29, 2023 at 06:00PM
Show HN: ProductLogz-Bridging the Feedback Gap with Rewards https://ift.tt/vOsSgCn
Show HN: ProductLogz-Bridging the Feedback Gap with Rewards Encourage and incentivize your users to provide valuable feedback. By rewarding their input, you create a win-win situation, where users feel appreciated while you gain valuable insights. https://ift.tt/JHaKvst May 29, 2023 at 01:31PM
Sunday, May 28, 2023
Show HN: Cloud Agnostic AI Platform https://ift.tt/3RqoQd1
Show HN: Cloud Agnostic AI Platform Hi HN, I'm currently working on an AI platform for training and deployment. I'm working on early access with the early users. It would be great if people with AI/ML experience who are interested in a way to reduce their costs and increase their performance check it out! Thanks! https://inferent.io/ May 29, 2023 at 06:34AM
Show HN: A CLI for quickly generating 3D device mockups https://ift.tt/RFPUKYn
Show HN: A CLI for quickly generating 3D device mockups Device mockups usually require expensive and manual tools like Photoshop to generate. I was willing to sacrifice absolute quality for a tool that could do the job much faster. Mockupgen [0] generates a 3D perspective mockup from a screenshot. Using premade templates (from the amazing work of Anthony Boyd [1]) and opencv, it masks, warps and composites the provided image onto a device rendering. I'm working on expanding the selection of devices offered (mostly MacBook and iPhone at the moment), which is a matter of finding more sources of free to use PSD mockups. Currently, it doesn't do any handling of reflections and shadows, but this is in the works. Install with: pip install mockupgen And run with: mockupgen screenshot.png [0] https://ift.tt/TB1ZVAK [1] https://ift.tt/rjNnwyA https://ift.tt/TB1ZVAK May 29, 2023 at 01:06AM
Show HN: Build your own ChatGPT with Mersei https://ift.tt/7prGwXF
Show HN: Build your own ChatGPT with Mersei https://mersei.com May 28, 2023 at 11:39AM
Show HN: fastgron: A JSON to GRON Converter That's 40 Times Faster Than Gron https://ift.tt/KUG5wnj
Show HN: fastgron: A JSON to GRON Converter That's 40 Times Faster Than Gron Hello HN! I want to introduce fastgron, my new project. fastgron is a JSON to GRON converter, built to be incredibly fast – it's 40 times faster than Gron. GRON is a tool for making JSON greppable, but it can slow down with larger files. With fastgron, even a 200MB JSON file can be converted in just 1 second. Key features include streaming conversion for memory efficiency and an optimized path reconstruction for faster operations. It leverages C++ and the simdjson and fast_io libraries for speed. I welcome all feedback, suggestions, or questions. Thank you! https://ift.tt/6D0nXHK May 28, 2023 at 05:36PM
Show HN: HNRelevant – Show related HN submissions in an integrated sidebar https://ift.tt/CvG7gWL
Show HN: HNRelevant – Show related HN submissions in an integrated sidebar While browsing Hacker News, I wished for an easier way to find related submissions (instead of googling and going back and forth). So I made this small chrome extension that automatically shows relevant submissions on page load. It's intergrated as a sidebar right in the page (for ease & native look), with customization options for fine control. It's based on HN algolia search API[1] and uses the submission title as its initial query with the ability to customize the query if you're not satisfied with the initial results. Originally, I took it as an opportunity to try my hands at creating a browser extension, but I was quite satisfied with the result and so I decided to release it. [1] HN algolia search API: https://ift.tt/rZ0lChG https://ift.tt/hQeyzYx May 28, 2023 at 03:23PM
Saturday, May 27, 2023
Show HN: No more copy-pasting – a ChatGPT plugin to read code from your computer https://ift.tt/mDGc5Jb
Show HN: No more copy-pasting – a ChatGPT plugin to read code from your computer Introducing the Code ChatGPT Plugin - a new era of seamless interaction between ChatGPT and your codebase. This TypeScript Code Analyzer furnishes a suite of utilities to analyze TypeScript code, enabling ChatGPT to "talk" with YOUR code. Fetch a list of all the files in your project, list of every function in a TypeScript or JavaScript file, or even get the content of a specific function, all while staying in your conversation with ChatGPT. With accessible API endpoints, you can effortlessly navigate your codebase and ask ChatGPT anything you can think of about it. Say goodbye to the days of incessant copy-pasting and welcome a more streamlined code discussion experience . I'd love to hear your thoughts, experiences, and suggestions for improvement. Let's discuss and evolve this tool together! https://ift.tt/xNzgkM7 May 28, 2023 at 05:03AM
Show HN: MicroSCOPE https://ift.tt/IX6sPRA
Show HN: MicroSCOPE https://ift.tt/zJiO8ld May 27, 2023 at 07:36PM
Show HN: RASCII, an advanced ASCII art generator made using Rust https://ift.tt/XcHFJlu
Show HN: RASCII, an advanced ASCII art generator made using Rust https://ift.tt/Uh0iKtP May 28, 2023 at 12:36AM
Friday, May 26, 2023
Show HN: Hacker News profile text can be used for prompt injection https://ift.tt/aZTmI7x
Show HN: Hacker News profile text can be used for prompt injection https://ift.tt/uxyCq9K May 27, 2023 at 09:10AM
Show HN: Eludris, A free and open source, federated and E2EE chat platform https://ift.tt/W15ER3P
Show HN: Eludris, A free and open source, federated and E2EE chat platform https://ift.tt/3WJ40i1 May 27, 2023 at 01:38AM
Show HN: dotnet-console-games (40+ beginner-level coding project ideas) https://ift.tt/vTzcHoE
Show HN: dotnet-console-games (40+ beginner-level coding project ideas) https://ift.tt/Df7INnz May 27, 2023 at 01:43AM
Show HN: Python Recursion: A Trampoline from the Mutual Head to the... https://ift.tt/8Y0IfQk
Show HN: Python Recursion: A Trampoline from the Mutual Head to the... https://ift.tt/lK6xb0r May 27, 2023 at 01:15AM
Show HN: I made an in-browser code editor with code replay and REPL https://ift.tt/u6TSFQ8
Show HN: I made an in-browser code editor with code replay and REPL I made a Logicboard.com — A collaborative code editor with code-replay feature. Code-replay lets you run the coding session like a movie, I wrote a blog post on how I implemented this: https://ift.tt/gqYzd6G You can try out the demo here: https://ift.tt/7WOnYkc And play around with the code editor here: https://ift.tt/8u0onzx Logicboard also has an REPL shell, just type "start()" and hit enter in the output area. https://ift.tt/6GNySjf May 27, 2023 at 12:36AM
Thursday, May 25, 2023
Show HN: Tweets Sentiment Analysis with LLM https://ift.tt/pmST1dw
Show HN: Tweets Sentiment Analysis with LLM https://twitter.com/mikebb100/status/1661873548703715329 May 26, 2023 at 05:21AM
Show HN: Private instances are the secret sauce for Unleash https://ift.tt/ubrZ7xX
Show HN: Private instances are the secret sauce for Unleash Hi HN, I want to share how important Private instances are for us, and how we build at Unleash. Hope you find this helpful and if you have any questions, ask away! In case you don't know - Unleash is an open source, enterprise-ready feature management solution built with privacy in mind. I would love to know your thoughts about this, and share your thoughts about Unleash or the way we build software. Questions about the setup are also welcome, if you would like to build something like this yourself! https://ift.tt/VPAf6zs May 25, 2023 at 11:30PM
Show HN: Searchable Astronomy Picture of the Day https://ift.tt/neF9iUj
Show HN: Searchable Astronomy Picture of the Day Discover the cosmos by searching the APOD collection, powered by OpenAI text embedding based on the original image descriptions by NASA. https://ift.tt/6DAC7R4 May 26, 2023 at 02:02AM
Show HN: Hacker News in Slow Italian - AI-generated podcast (with code) https://ift.tt/QRzsO1L
Show HN: Hacker News in Slow Italian - AI-generated podcast (with code) There are plenty of podcasts to listen to some slow basic Italian, but often they just talk about random things I'm not that interested in. Nothing a few hours of tinkering with Python cannot solve these days! Introducing Hacker News in Slow Italian. Each episode is generated automatically, using GPT4 API to summarise the top articles on Hacker News and then fed to Play.ht for text-to-speech. The (very short) code is available on Github: https://ift.tt/4MgWoS6 https://hn.lingually.ai May 25, 2023 at 10:28PM
Show HN: One-paragraph summaries of the most important news happenings on Earth https://ift.tt/pit2wc8
Show HN: One-paragraph summaries of the most important news happenings on Earth https://ift.tt/5LT0vNc May 26, 2023 at 01:02AM
Show HN: Collaborative recipe manager for iOS, built with SwiftUI and Firebase https://ift.tt/IYkoBlz
Show HN: Collaborative recipe manager for iOS, built with SwiftUI and Firebase I initially created Umami for my family. We'd been using a giant google sheet of recipes that my wife made (one recipe per tab plus a table of contents at the front), but the UX of that left much to be desired, especially on mobile. We also tried a bunch of other recipe apps like Paprika, Whisk, Mela, etc., but most of them don't let you create a shared collection of recipes without using the same login credentials, which we didn't want to share with extended family members. Anyways, I've steadily been working on Umami as a solo side project for about 3 years. At first, just my family and a few friends were using it, but now it's starting to get downloaded by other people. I'd love to get feedback here on what kinds of features would be helpful to y'all. Also happy to answer any questions about the tech stack. Thanks friends! https://ift.tt/YUdQPsg May 25, 2023 at 11:07PM
Wednesday, May 24, 2023
Show HN: Build a SQLite satabase from your Reddit data https://ift.tt/uHfpEil
Show HN: Build a SQLite satabase from your Reddit data With Reddit's upcoming API changes[0], I got nervous that I'd no longer be able to access the many posts and comments I've left there over the years. Inspired by the Dogsheep projects[1], this CLI lets you immediately pull your most recent 1k comments & 1k posts (the max allowed by the paged API) into a nicely-structured SQLite database. It's perfect for loading into Datasette for nice viewing & full-text search of your content. Taking it a step further, the project's killer feature is the ability to import data from GDPR archives. This allows you to store your full Reddit history (including deleted comments and posts on removed subreddits). I hope you find this tool useful! I'll be around to answer questions and field comments (or feel free to open a GH issue). [0]: https://ift.tt/CgEN2MX... [1]: https://ift.tt/GVhFJNy https://ift.tt/In378Sr May 25, 2023 at 12:05AM
Show HN: Gis.chat – a Geospatial Community https://ift.tt/ubCXhDS
Show HN: Gis.chat – a Geospatial Community Hi folks! I'm excited to show you gis.chat, a geospatial chat platform in both senses: a platform about geospatial topics and a geospatial platform itself, referencing the location of our communities. The setup is fairly simple and reproducible: a plain Zulip instance and a homepage with geospatial search capabilities. It seems almost trivial but it has some very nice features. I guess you should be familiar with Zulips stream/topic model to follow along ( https://ift.tt/eY7DQnq ). The core idea is that there are city-specific streams (currently represented by a pin), but there could just as well be streams about points of interest, line geometries (e.g. a river) or polygons (e.g. national park). - Every local stream can have the same topics, e.g. "general", "news", "meetups", "jobs" etc. - With Zulip's search you can either search for a particular topic, e.g. "news" in a local stream or instead in all streams and have some kind of news feed of the community with "topic:news" - Once more communities are added, specific filters could be added, e.g. country-wise or by drawing your own area of interest - Eventually, for the ones who like, users could associate themselves with a local community in their profile or add there main location so one could not only search for the local communities but instead also for individuals There are many nice features in Zulip's pipeline that would foster gis.chat: - Further nesting of streams/topics - Semantic search If for example Zulip would allow for saving coordinates (or better an entire geometry) in the Postgres DB, with the help of PostGIS, Zulip's search could allow for bounding boxes (or custom geometries). Let me know if you have any kind of other ideas or feedback! https://gis.chat May 23, 2023 at 11:54AM
Show HN: Cached is a high performance, LFU based in-memory cache in Rust https://ift.tt/98DzTxc
Show HN: Cached is a high performance, LFU based in-memory cache in Rust https://ift.tt/UTE3zpW May 24, 2023 at 05:02PM
Show HN: iCal RSVP Helper https://ift.tt/mEeNaP6
Show HN: iCal RSVP Helper Hi HN, We use HEY for Work at my startup, which doesn't have a calendar integration. This is mostly fine, as we can simply use our private calendars, but has a major drawback: We can't reply to invitations in an easy way. I made this microsite to help with this problem until they implement simple Yes/No/Tentative buttons in HEY. It's fully client-side, and gives you the ICS-file you need to attach in an email, and the correct address it needs to be sent to as well - just select your file and RSVP. Hope it's useful for someone else too! https://rsvp.klungo.no/ May 24, 2023 at 12:49PM
Show HN: Defguard – open-source security army knife (Identity,MFA,VPN,Yubikey) https://ift.tt/NRXa2Em
Show HN: Defguard – open-source security army knife (Identity,MFA,VPN,Yubikey) https://ift.tt/Bshfbvw May 24, 2023 at 03:57PM
Show HN: Dark Mode for HN https://ift.tt/WqYfiI3
Show HN: Dark Mode for HN https://ift.tt/gSJUYXN May 24, 2023 at 02:11PM
Tuesday, May 23, 2023
Show HN: Honda Civic Infotainment Reverse-Engineering https://ift.tt/k5PUqBs
Show HN: Honda Civic Infotainment Reverse-Engineering I own a 2021 Honda Civic and have been annoyed by the lack of public documentation/hacking tools for the Android-based headunit. I hope to address this by publishing my research into the headunit and encouraging discussion and community contribution https://ift.tt/ZTqm9fF May 24, 2023 at 06:35AM
Show HN: File-by-file AI-generated comments for your codebase https://ift.tt/UdecfJt
Show HN: File-by-file AI-generated comments for your codebase My friends and I were complaining about having to decipher incomprehensible code one day and decided to pass the code through GPT to see if it could write easily understandable comments to help us out. It turns out that GPT can but it was still a hassle to generate comments for large files. So we decided to develop a basic web application that automatically integrates with your Github repository, generate comments, create a pull request and send you an email when it is all done. There is definitely a lot more that can be done but we wanted to gain feedback on whether this is a problem that you face too. Do you often find it challenging to understand complex code? Do you have difficulties in writing informative comments? And if so, would you find value in a tool that can automatically generate comments for your code? Really appreciate any feedback and suggestions! Thanks in advance! https://ift.tt/tFYTbPi May 23, 2023 at 07:46PM
Show HN: I'm open sourcing Harmonic, the Android Hacker News client https://ift.tt/XOxfdsg
Show HN: I'm open sourcing Harmonic, the Android Hacker News client https://ift.tt/tYwehER May 23, 2023 at 10:26PM
Show HN: MrScraper AI – Dead simple web scraper (powered by AI) https://ift.tt/mVhxfuL
Show HN: MrScraper AI – Dead simple web scraper (powered by AI) I've decided to test a new approach in my web scraping app. What do you think? https://ift.tt/KqJ1Xa0 May 23, 2023 at 12:50PM
Monday, May 22, 2023
Show HN: Aimless.js – the missing js randomness library https://ift.tt/Be7lUCO
Show HN: Aimless.js – the missing js randomness library https://ift.tt/ybVoDvj May 23, 2023 at 04:11AM
Show HN: Blotter – An interactive, never ending music video https://ift.tt/Tpkh9wM
Show HN: Blotter – An interactive, never ending music video One day I was listening to a playlist and wished there could be some cool visuals to go along with it. Blotter is a proof of concept I hacked together that does a bit of audio recognition combined with a few generative AI models (both text and img) to create visuals that are relevant to the song. The video stream is generated in real time at 24fps - you can try it yourself by requesting visuals in the Twitch chat using the "!v" command! Right now it's mostly a fun hack project, but I am tinkering with new model architectures for higher fidelity video as well as an interactive tool so people can make videos with their own audio files. I'd love to hear any feedback or suggestions, thanks! https://ift.tt/opNMVX6 May 23, 2023 at 03:51AM
Show HN: Psychic - An open-source integration platform for unstructured data https://ift.tt/9cfSvkm
Show HN: Psychic - An open-source integration platform for unstructured data My cofounder and I used to work at Robinhood where we shipped the company’s first OAuth integrations, so we know a lot about how data moves between companies. For example, we know that the pain of building new API integrations scales with the level of fragmentation and number of competing "standards". In the current meta, we see this pain with a lot of AI startups who invariably need to connect to their customers data, but have to support 50+ integrations before they even scale to 50+ customers. This is the process for an AI startup to add a new integration for a customer: - Pore over the API docs for each source application and write a connector for each - Play email tag to find the right stakeholders and get them to share sensitive API keys, or give them an OAuth app. It can take 6+ weeks for some platforms to review new OAuth apps - Normalize data that arrives in a different formats from each source (HTML, XML, text dumps, 3 different flavors of markdown, JSON, etc) - Figure out what data should be vectorized, what should be stored as SQL, and what should be discarded - Detect when data has been updated and synchronize it - Monitor when pipelines break so data doesn’t go stale This is a LOT of work for something that doesn’t move the needle on product quality. That’s why we built Psychic.dev to be the fastest and most secure way for startups to connect to their customer’s data. You integrate once with our universal APIs and get N integrations with CRMs, knowledge bases, ticketing systems and more with no incremental engineering effort. We abstract away the quirks of each data source into Document and Conversation data models, and try to find a good balance to allow for deep integrations while maintaining broad utility. Since it’s open source, we encourage founders to fork and extend our data models to fit their needs as they evolve, even if it means migrating off our paid version. To see an example in action, check out our demo repo here: https://ift.tt/q9PZXay We are also open source and open to contributions, learn more at docs.psychic.dev or by emailing us at founders@psychic.dev! https://ift.tt/otsUYhM May 22, 2023 at 08:11PM
Show HN: I built a web app for learning Vim from the browser as a 17-year-old https://ift.tt/7XZN0BY
Show HN: I built a web app for learning Vim from the browser as a 17-year-old Hey HN! After my own experiences with learning Vim, I wanted to skip the frustrating process of configuring a new tool before even learning how to use it. In an attempt to solve this problem, I started working on Vim Ninja, a web app that would allow developers to learn Vim through interactive lessons in the browser. It’s been a couple of months, and I’m proud to say that I’ve finally released https://VimNinja.com ! Check out a demo of the app here: https://youtu.be/reukQHKqMZE . On the technical side of things, I used SvelteKit to build the entire app and Tailwind, which turned out to be an amazing decision. I actually really like SvelteKit’s filesystem-based router as well as Svelte’s brevity, and Tailwind actually makes styling a fun task for me. I’m using CodeMirror 6 as a base for Vim Ninja’s code editor, and I really prefer it over more feature-packed alternatives like the Monaco Editor, which is what I started out with but soon abandoned due to its worse performance when compared to alternatives like CM6 and the sheer amount of bells and whistles that I just didn’t need. https://ift.tt/1GYfPu4 May 22, 2023 at 05:33PM
Show HN: Ki Programming Language https://ift.tt/YVce5s9
Show HN: Ki Programming Language Alpha preview for the ki programming language. Currently linux-x64, macos-x64 only. Windows users can use WSL for now. Feedback is much appreciated. https://ift.tt/lLtoF8T May 22, 2023 at 05:20PM
Show HN: ClipBase - YouTube Full Text Search – Search videos by words spoken https://ift.tt/jgIVEnH
Show HN: ClipBase - YouTube Full Text Search – Search videos by words spoken https://clipbase.xyz May 22, 2023 at 02:09PM
Show HN: Rust Port of Pwnpasswordsdownloader https://ift.tt/VT3mU4A
Show HN: Rust Port of Pwnpasswordsdownloader https://ift.tt/npy0H1Y May 22, 2023 at 02:48PM
Show HN: WikTok – A Recommendation UI for Wikipedia https://ift.tt/IJFuUf2
Show HN: WikTok – A Recommendation UI for Wikipedia Hi HN, WikTok is a UI for Wikipedia that lets you quickly swipe (or use your arrow keys) to navigate between random and recommended articles (based on the previous articles you interacted most with). It's just a fun project I hacked together this weekend, so may be a little rough around the edges, but I'd love to get your thoughts. Let me know if you have any suggestions (or find any interesting articles!) Cheers, https://wiktok.org/ May 22, 2023 at 02:29PM
Sunday, May 21, 2023
Show HN: A Simple Load Testing CLI Built in Go https://ift.tt/bhv9BFQ
Show HN: A Simple Load Testing CLI Built in Go There are plenty of good tools for load testing such as JMeter, Minigun, and plenty more - but they all have their own set of options to learn. I built this one to support a simpler workflow where you just paste your curl request (or other cli command) after your `spam` config (literally just `spam -r 2 -- curl www.google.com). It's pretty barebones but I'm 100% going to use it in my day to day - figured I'd share it here if it helped anyone else! https://ift.tt/R6zeZlt May 22, 2023 at 01:02AM
Show HN: Thousands of shadertoy.com creations on one scrollable grid https://ift.tt/hFI6Ya0
Show HN: Thousands of shadertoy.com creations on one scrollable grid https://ift.tt/yWag5K7 May 21, 2023 at 08:35PM
Show HN: SpaceBadgers – Free and Libre SVG Badges https://ift.tt/4Aa5Fd3
Show HN: SpaceBadgers – Free and Libre SVG Badges Greetings, Hacker News community! I am thrilled to present SpaceBadgers, a new free and open-source SVG badge generator I've been working on. It's located at badgers.space. SpaceBadgers is born out of the desire to offer more flexibility and customization for project badges, often used in open-source projects. It's fully open source, provided under the permissive MIT license, and will always be provided for free. The core badge worker is written in Rust, and so is the library behind it, which you can also find on crates.io under the name spacebadgers. I am excited to receive your feedback and suggestions. Check it out and let me know what you think in the comments. Contributions are also welcomed and appreciated. You can find the source code here: https://ift.tt/F3mOg2N . https://badgers.space May 21, 2023 at 05:24PM
Show HN: A simple echo server for testing HTTP clients https://ift.tt/WykOfXQ
Show HN: A simple echo server for testing HTTP clients I have developed an application called "echoserver" and I would like to share its details on Hacker News. The purpose of "echoserver" is to simplify the testing of HTTP clients. It functions as an echo server, meaning it responds to requests by echoing back the received data. This allows users to simulate various server responses and test their HTTP clients accordingly. With "echoserver," users can generate custom responses by specifying the desired status code, headers, and response body. This flexibility enables thorough testing of HTTP clients and simplifies the process of verifying client behavior under various scenarios. Whether it's testing error handling, handling specific headers, or evaluating performance under different response sizes, "echoserver" provides a convenient solution. Overall, "echoserver" aims to streamline the testing process for developers and enhance their ability to verify the functionality and robustness of their HTTP clients. Its simplicity, versatility, and user-friendly interface make it an invaluable tool in the development and testing workflow. I invite the Hacker News community to explore and provide feedback on the app, as I believe it has the potential to greatly benefit developers and testers worldwide. https://echoserver.dev/ May 21, 2023 at 04:26PM
Show HN: Summary GPT – host a bot to summary Text, URLs, PDFs and videos for you https://ift.tt/0MEmPdT
Show HN: Summary GPT – host a bot to summary Text, URLs, PDFs and videos for you An AI-powered text summarization Telegram bot that generates concise summaries of text, URLs, PDFs and YouTube videos. https://ift.tt/V5HbIRl May 21, 2023 at 09:36AM
Show HN: Loofi – Our AI-Powered SQL Query Builder https://ift.tt/AatMrnW
Show HN: Loofi – Our AI-Powered SQL Query Builder Hi HN Community, We're a team of software engineers who've experienced the complexity of crafting SQL queries. To address this, we've developed a tool that simplifies this process. Introducing Loofi, an AI-powered SQL Query Builder. Loofi streamlines query building and leverages AI algorithms for intelligent recommendations. We value community feedback and invite you to try out Loofi. Your thoughts and suggestions will help us improve our tool. Here's the link to Loofi: https://loofi.dev/ For any questions or assistance, feel free to reach out. We're eager to engage with this community. Your valuable feedback is much appreciated! https://loofi.dev/ May 21, 2023 at 07:49AM
Saturday, May 20, 2023
Show HN: Drift, a self-hostable Gist and pastebin https://ift.tt/odFPv37
Show HN: Drift, a self-hostable Gist and pastebin https://drift.lol/ May 21, 2023 at 04:37AM
Show HN: What Electrons Look Like https://ift.tt/kC3BT9A
Show HN: What Electrons Look Like https://ift.tt/J0BpqxR May 20, 2023 at 11:32PM
Show HN: My affordable solution to costly workflow automation: Embed Workflow https://ift.tt/YGewKFx
Show HN: My affordable solution to costly workflow automation: Embed Workflow https://ift.tt/P7cnYTa May 20, 2023 at 10:29PM
Show HN: Personalized Online Tarot Service Powered by AI and 3D Interactivity https://ift.tt/vIf5k8n
Show HN: Personalized Online Tarot Service Powered by AI and 3D Interactivity Discover the magic of tarot with TarotAI – the AI-powered online tarot service with stunning 3D interactivity. Ask a question, choose your deck, and get personalized insights in seconds. https://ift.tt/DNrQ8qe May 20, 2023 at 01:31PM
Friday, May 19, 2023
Show HN: YouTube Full Text Search – Search all of a channel from the commandline https://ift.tt/JS1kXlU
Show HN: YouTube Full Text Search – Search all of a channel from the commandline yt-fts is a simple python script that uses yt-dlp to scrape all of a youtube channels subtitles and load them into an sqlite database that is searchable from the command line. It allows you to query a channel for specific key word or phrase and will generate time stamped youtube urls to the video containing the keyword. https://ift.tt/sE7K3rj May 20, 2023 at 11:48AM
Show HN: How to Prevent Prompt Injections https://ift.tt/CokBDWu
Show HN: How to Prevent Prompt Injections https://ift.tt/I0l9Aky May 19, 2023 at 05:37PM
Show HN: Todo PWA with Pomodoro with keyboard friendly https://ift.tt/LsBfPAZ
Show HN: Todo PWA with Pomodoro with keyboard friendly https://ift.tt/4rPg8Ro May 20, 2023 at 02:05AM
Show HN: Garson.io – The privacy-first AI-powered writing assistant for Product https://ift.tt/tWETC8X
Show HN: Garson.io – The privacy-first AI-powered writing assistant for Product As a product manager, one of the biggest challenges is managing the constant influx of emails. While I am confident in my responses, I often spend a significant amount of time crafting a professional message, especially as a non-native English speaker. To address this issue, I turned to OpenAI and created https://garson.io . This platform has not only helped me improve the quality of my emails but has also significantly reduced the time it takes to write them. If you are facing similar struggles, I highly recommend giving Garson.ai a try – there is even a free option available. I would love to hear your feedback on how it works for you. P.S. The above text was generated by Garson.io https://garson.io May 19, 2023 at 05:18PM
Show HN: ReColor AI – Transform Your Sketches into Vibrant Art with AI https://ift.tt/JB8rgy3
Show HN: ReColor AI – Transform Your Sketches into Vibrant Art with AI https://recolorai.com/ May 19, 2023 at 03:39PM
Show HN: Numtease – My new number word puzzle game https://ift.tt/hO7TMnk
Show HN: Numtease – My new number word puzzle game https://ift.tt/I0CKyR2 May 19, 2023 at 01:34PM
Thursday, May 18, 2023
Show HN: Midjourney-Python-API https://ift.tt/mQOCTtk
Show HN: Midjourney-Python-API This Python client is built for the unofficial MidJourney API, leveraging a Discord self bot and utilizing the Merubokkusu/Discord-S.C.U.M library. Please be mindful that there might be risks associated with the use of self bots, as per issue #66. Key Features: 1: Info retrieval 2: Imagine prompt 3: Image upscale and vectorization by label 4: All message returns via WebSocket, including banned words check and image processing 5: Auto reconnect WebSocket https://ift.tt/DsHxlkm May 19, 2023 at 07:36AM
Show HN: Lunchtoast – a CLI tool for functional testing of console applications https://ift.tt/HKqV1sO
Show HN: Lunchtoast – a CLI tool for functional testing of console applications It helps to create tests that check program output with a simple test description format. It's written in C++20 and works on Windows and Linux. https://ift.tt/xfLPtvY May 19, 2023 at 03:58AM
Show HN: Playtext – Turn articles into audiobooks and read 2x faster https://ift.tt/lTyU8jw
Show HN: Playtext – Turn articles into audiobooks and read 2x faster https://playtext.app May 18, 2023 at 09:50PM
Show HN: PAKman – A new build system built around Alpine Linux Packages https://ift.tt/ygaLc9t
Show HN: PAKman – A new build system built around Alpine Linux Packages https://ift.tt/2gIt0s5 May 16, 2023 at 07:53PM
Show HN: Jesth – Next-level human-readable data serialization format https://ift.tt/QVsIb8H
Show HN: Jesth – Next-level human-readable data serialization format Hi HN ! I'm Alex, a tech enthusiast. I'm excited to show you Jesth, a next-level human-readable data serialization format. This project started out as a markup language for writing the docstrings of functions that would ultimately be consumed by a documentation generator. Basically the idea was to split a docstring into sections like Description and Parameters. Each section would consist of a header in square brackets and a body (lines of text between two headers). Here's what a docstring for a sum function would look like: This function takes in two integers a and b and returns their sum. [parameters] - a: First integer - b: Second integer [return] Sum of a and b The Description section in the example above is actually an anonymous section, i.e., a section with an empty header. Meanwhile, I was thinking of a way to automate part of my dev workflow by storing in a file commands grouped into tasks such as project creation, build, testing, release, et cetera. Similarly with the markup language for my documentation generator, I would use square brackets to define the tasks. Thus, a task would consist of a header and a body which would be a list of commands to be executed sequentially. I built this project and named it Backstage. Here is a hypothetical backstage.tasks file: [release] & test & generate_doc & git_stuff & build # upload to PyPI $ twine upload --skip-existing dist/* [git_stuff] $ git add . $ git commit -m {message} $ git push origin master The example above is illustrative only and would not work. It contains 2 sections "release" and "git_stuff". Running the "release" task from the command line is equivalent to sequentially executing the commands in the "release" section. The documentation generator and the scripting language, despite the obvious similarity in their formats, did not share any parsing code. So, to stop repeating myself, I created a file format and its library named Jesth which stands for "Just Extract Sections Then Hack". The library acts as an incomplete INI file parser that only hands the programmer the sections (as headers and their associated bodies which are lists of strings). No further interpretation of the data is done by the parser, allowing the programmer to unleash their creativity through useful hacks. In its latest iteration, Jesth has matured and also includes a proper and extensively tested hack to convert a compatible section into a dictionary data structure, making Jesth my de facto preferred format for config files. I find Jesth more readable than TOML, YAML, and JSON. Here, encoding a dictionary data structure in its own section with another section containing a prompt for ChatGPT: [prompt] I want you to act as a detective story writer. I will provide you with two dictionary data structures representing the profiles of two people. Your goal is to write a thrilling neo-noir story. My first request is: "guess who the killer and victim is from the profiles, then build a story that includes every detail of the profiles". [profile] # This section can be converted into a dictionary data structure name = 'Jane Doe' birthday = 2000-12-23Z10:17:37Z photo_jpg = (bin) VGhpcyBpcyBub3QgYSBwaG90by4uLiBCdXQgdGhhbmsgeW91 IGZvciB5b3VyIGludGVsbGVjdHVhbCBjdXJpb3NpdHkgOyk= --- books = (dict) romance = (list) 'Happy Place' 'Romantic Comedy' sci-fi = (list) 'Dune' 'Neuromancer' epitaph = (text) According to the law of conservation of energy, no a bit of you is gone; you are just less orderly. --- [profile] name = 'John Doe' birthday = null books = (list) 'American Predator' 'Mindhunter: Inside the FBI's Elite Serial Crime Unit' You can learn more by reading the project's README and playing with the demo. Let me know what you think of this project. https://ift.tt/HT8kZmc May 18, 2023 at 10:38PM
Show HN: Do not chat with your pdfs alone. Let others join the fun too https://ift.tt/x5y7G8Y
Show HN: Do not chat with your pdfs alone. Let others join the fun too https://ift.tt/wHOBjhC May 18, 2023 at 02:31PM
Wednesday, May 17, 2023
Show HN: Cosigny - Crowd source the best credit card and loan terms. https://ift.tt/XtgfxEM
Show HN: Cosigny - Crowd source the best credit card and loan terms. The goal is to create spreadsheet with crowd sourced data regarding credit products and profiles so we can see how we measure up and find the best deals. Don't go too hard on me. I linked a few google sheets together. Hope you find it useful. https://ift.tt/rIJFA2R May 18, 2023 at 10:41AM
Show HN: Generative wall art, running on a Raspberry Pi https://ift.tt/dqhNK0E
Show HN: Generative wall art, running on a Raspberry Pi https://twitter.com/adamfuhrer/status/1657070909469884429 May 17, 2023 at 06:36PM
Show HN: Subscriber-Only – Paid Subscriptions for Jekyll https://ift.tt/exBkjMI
Show HN: Subscriber-Only – Paid Subscriptions for Jekyll I want to show you something I've been working on for the past couple of months. You can check it out at https://ift.tt/EVyTA54 If you want to post paid written content on the web, you'll invariably reach out to Substack, Ghost or good old WordPress. If you're a fan of static site generators -- like I am -- you'll know that, by doing so, you'll lose the customizability and simplicity you get when using a tool like Jekyll. Subscriber-Only is -- in my 100% impartial opinion -- a good alternative to using the mentioned platforms. You get to keep using Jekyll and, with a gem and a couple of lines of YAML, you'll enable subscriptions, subscriptions management, payment processing, access controls and all other needed machinery needed to have memberships on your site. I'm pretty happy with the way it turned out. Do check it out and let me know what you think! https://ift.tt/EVyTA54 May 17, 2023 at 05:27PM
Show HN: CounterDB, to persist your likes/dislikes counts https://ift.tt/w6teEYH
Show HN: CounterDB, to persist your likes/dislikes counts A Solution to durably store your counts. For example number of likes/dislikes on a post. Its time complexity is O(1). Single header only C++ file for storing and retrieving numbers. It does this without increasing the file size, as its not append only DB. Which also means it can be slower on simultaneous writes to an index. Well if your task is just to store likes/dislikes counts, than it must not be much of a problem. As reads are done more than writes for such cases. https://ift.tt/cX4d6NP May 17, 2023 at 11:20AM
Show HN: A nihilist All-hands Meeting Simulator https://ift.tt/FMe5Hnp
Show HN: A nihilist All-hands Meeting Simulator I was just digging through some old projects to find a link for a potential new employer and stumbled upon this reminder of how much I enjoyed middle-management office politics. https://ift.tt/xKY0Hqi May 17, 2023 at 05:03PM
Tuesday, May 16, 2023
Show HN: Taskspace – Beautiful, simple, and customizable personal task manager https://ift.tt/3Y7I8rP
Show HN: Taskspace – Beautiful, simple, and customizable personal task manager Hello HN. I built a personal task manager https://taskspace.app to experiment with NextJS. Wanted something simple and clean that I could keep open in the browser while I work. Added in task history viewing for easy reference during daily standup and when I need to summarize my completed work throughout the year during performance reviews. Now opening to the public to get feedback and see if folks find the app useful. Wondering If I should invest time building out additional features or if I should continue using it only for my personal workflow. Thanks, Tyler https://taskspace.app May 17, 2023 at 09:22AM
Show HN: Zig Without Unused Variable Errors https://ift.tt/5V3iAgp
Show HN: Zig Without Unused Variable Errors I hacked the flag --allow-unused into the Zig compiler to turn off the unused variable error. https://ift.tt/NAvyrSO May 17, 2023 at 08:57AM
Show HN: Oblivus GPU Cloud – Affordable and scalable GPU servers from $0.29/hr https://ift.tt/bgyAQf6
Show HN: Oblivus GPU Cloud – Affordable and scalable GPU servers from $0.29/hr Greetings HN! This is Doruk from Oblivus, and I'm excited to announce the launch of our platform, Oblivus Cloud. After more than a year of beta testing, we're excited to offer you a platform where you can deploy affordable and scalable GPU virtual machines in as little as 30 seconds! https://ift.tt/nD5vYJ4 - What sets Oblivus Cloud apart? At the start of our journey, we had two primary goals in mind: to democratize High-Performance Computing and make it as straightforward as possible. We understand that maintaining GPU servers through major cloud service providers can be expensive, with hidden fees adding to the burden of running and maintaining servers. Additionally, the cloud can sometimes be overly complex for individuals who don't have much knowledge but still require powerful computing resources. That's why we decided to create a platform that offers affordable pricing, easy usability, and high-quality performance. - Features 1. Fully customizable infrastructure that lets you switch between CPU and GPU configurations to suit your needs. 2. Transparent and affordable per-minute-based Pay-As-You-Go pricing with no hidden fees. Plus, free data ingress and egress. (Pricing: https://ift.tt/rALJ7dl ) 3. Optimized cost with storage and IP address-only billing when the virtual machine is shut down. 4. Each virtual machine comes with 10Gbps to 40Gbps public network connectivity. 5. NVMe ($0.00011/GB/hr) and HDD ($0.00006/GB/hr) storage that is 3x replicated to fulfill your storage needs. 6. Choose from a variety of cutting-edge CPUs and 10 state-of-the-art GPU SKUs. (Availability: https://ift.tt/JsvVDdU ) 7. OblivusAI OS images come with pre-installed ML libraries, so you can start training your models right away without the hassle of installing and configuring the necessary libraries. 8. If you're working with a team, utilize our organization feature to simplify the billing process. Everyone in your organization uses the same billing profile, so you don't need to keep track of multiple accounts. 9. No quotas or complex verification processes. Whether you represent a company, an institution, or you're a researcher, you have full access to our infrastructure without any limitations. 10. Easy-to-use API with detailed documentation so that you can integrate your code with ours. - Pricing At Oblivus Cloud, we provide pricing that is affordable, transparent, and up to 80% cheaper than major cloud service providers. Here is a breakdown of our pricing: 1. CPU-based virtual machines starting from just $0.019/hour. 2. NVIDIA Quadro RTX 4000s starting from $0.27/hour. 3. Tesla V100s starting from $0.51/hour. 4. NVIDIA A40s and RTX A6000s starting from $1.41/hour. We also offer 6 other GPU SKUs to help you accurately size your workloads and only pay for what you need. Say goodbye to hidden fees and unpredictable costs. If you represent a company, be sure to register for a business account to access even better pricing rates. - Promo Code Join us in celebrating the launch of Oblivus Cloud by claiming your $1 free credit! This may sound small, but it's enough to get started with us and experience the power of our platform. With $1, you can get over 3 hours of computing on our most affordable GPU-based configuration, or over 50 hours of computing on our cheapest CPU-based configuration. To redeem this free credit, simply use the code HN_1 on the 'Add Balance' page after registration. Register now at https://ift.tt/3tpnvKw - Quick Links Website: https://oblivus.com/ Console: https://ift.tt/3MP2HE7 Company Documentation: https://ift.tt/7ldiIhP API Documentation: https://ift.tt/Nqkfbiw If you have any questions, feel free to post them below and I'll be happy to assist you. You can also directly email me at doruk@oblivus.com! https://oblivus.com May 16, 2023 at 01:00PM
Monday, May 15, 2023
Show HN: Query Hacker News via ChatGPT https://ift.tt/SRFDotC
Show HN: Query Hacker News via ChatGPT https://ift.tt/rHpTfzA May 16, 2023 at 09:58AM
Show HN: dreamGPT: What if LLM hallucinations were a feature and not a bug? https://ift.tt/bQwWa6U
Show HN: dreamGPT: What if LLM hallucinations were a feature and not a bug? The first GPT-based solution that uses hallucinations from LLMs for divergent thinking to generate new and novel ideas. Hallucinations are often seen as a negative thing, but what if they could be used for our advantage? dreamGPT is here to show you how. The goal of dreamGPT is to explore as many possibilities as possible, as opposed to most other GPT-based solutions which are focused on solving specific problems. https://ift.tt/PJdir8Y May 16, 2023 at 04:32AM
Show HN: Legend-State 1.0 – The fastest React state library https://ift.tt/KLzvhNQ
Show HN: Legend-State 1.0 – The fastest React state library After almost a year of development and iterating, we just released Legend-State 1.0. It's the fastest React state library and is very easy to use, based on Observables (Signals) with fine-grained reactivity and built-in persistence. I'd love to know what you think, and I'm also happy to answer any general JavaScript performance questions if you want since I've gone very deep into optimizing . https://ift.tt/uKeC6LF https://ift.tt/gfYaA3K May 16, 2023 at 04:36AM
Show HN: Capillaries: Distributed data processing with Go and Cassandra https://ift.tt/k4wA025
Show HN: Capillaries: Distributed data processing with Go and Cassandra I started thinking about this approach after working on a large-scale project for a major financial company where our group developed a distributed in-house data processing solution. On a regular basis, it ingested a few gigabytes of financial data and, within a tight SLA time limit, produced a lot of enriched/aggregated/validated data for a number of customers. Sometimes, source data had errors, so operators with domain knowledge had to verify data validity at some checkpoints, immediately make corrections, and re-run parts of the workflow manually. The solution involved complex web service orchestration, custom database and was very demanding on the infrastructure availability. Capillaries is a built from scratch, open-source Go solution that does just that: ingests data and applies user-defined transforms - Go one-liner expressions, Python formulas, joins, aggregations, denormalization - using Cassandra for intermediate data storage and RabbitMQ for task scheduling. End users just have to provide: - source data in CSV files; - Capillaries script (JSON file) that defines the workflow and the transforms; - Python code that performs complex calculations (only if needed). The whole data processing pipeline can be split into separate runs that can be started independently and re-run by the user if needed. The goal is to build a platform that is tolerant to database and processing node failures, and allows users to focus on data transform logic and data quality control. “Getting started” Docker-based demo calculates ARK funds performance, using EOD holdings and transactions data acquired from public sources. There are also integration tests that use non-financial data. There is a test deploy tool that uses Openstack API for provisioning in the cloud. https://capillaries.io May 16, 2023 at 05:43AM
Show HN: Hat-syslog – Syslog Server with real time web UI https://ift.tt/xAaSdOn
Show HN: Hat-syslog – Syslog Server with real time web UI https://ift.tt/brdVHZt May 16, 2023 at 03:35AM
Show HN: Openlayer – Test, fix, and improve your ML models https://ift.tt/8m35oJW
Show HN: Openlayer – Test, fix, and improve your ML models Hey HN, my name is Vikas, and my cofounders Rish, Gabe and I are building Openlayer: http://openlayer.com/ Openlayer is an ML testing, evaluation, and observability platform designed to help teams pinpoint and resolve issues in their models. We were ML engineers experiencing the struggle that goes into properly evaluating models, making them robust to the myriad of unexpected edge cases they encounter in production, and understanding the reasons behind their mistakes. It was like playing an endless game of whack-a-mole with Jupyter notebooks and CSV files — fix one issue and another pops up. This shouldn’t be the case. Error analysis is vital to establishing guardrails for AI and ensuring fairness across model predictions. Traditional software testing platforms are designed for deterministic systems, where a given input produces an expected output. Since ML models are probabilistic, testing them reliably has been a challenge. What sets Openlayer apart from other companies in the space is our end-to-end approach to tackling both pre- and post-deployment stages of the ML pipeline. This "shift-left" approach emphasizes the importance of thorough validation before you ship, rather than relying solely on monitoring after you deploy. Having a strong evaluation process pre-ship means fewer bugs for your users, shorter and more efficient dev-cycles, and lower chances of getting into a PR disaster or having to recall a model. Openlayer provides ML teams and individuals with a suite of powerful tools to understand models and data beyond your typical metrics. The platform offers insights about the quality of your training and validation sets, the performance of your model across subpopulations of your data, and much more. Each of these insights can be turned into a “goal.” As you commit new versions of your models and data, you can see how your model progresses towards these goals, as you guard against regressions you may have otherwise not picked up on and continually raise the bar. Here's a quick rundown of the Openlayer workflow: 1. Add a hook in your training / data ingestion pipeline to upload your data and model predictions to Openlayer via our API 2. Explore insights about your models and data and create goals around them [1] 3. Diagnose issues with the help of our platform, using powerful tools like explainability (e.g. SHAP values) to get actionable recommendations on how to improve 4. Track the progress over time towards your goals with our UI and API and create new ones to keep improving We've got a free sandbox for you to try out the platform today! You can sign up here: https://ift.tt/CakjfX0 . We are also soon adding support for even more ML tasks, so please reach out if your use case is not supported and we can add you to a waitlist. Give Openlayer a spin and join us in revolutionizing ML development for greater efficiency and success. Let us know what you think, or if you have any questions about Openlayer or model evaluation in general. [1] A quick run-down of the categories of goals you can track: - Integrity goals measure the quality of your validation and training sets - Consistency goals guard against drift between your datasets - Performance goals evaluate your model's performance across subpopulations of the data - Robustness goals stress-test your model using synthetic data to uncover edge cases - Fairness goals help you understand biases in your model on sensitive populations https://ift.tt/e90NcYm May 15, 2023 at 11:05PM
Show HN: Sha2git brings code hosting to secure SHA-2 Git repositories https://ift.tt/om2Ythi
Show HN: Sha2git brings code hosting to secure SHA-2 Git repositories https://sha2git.com/ May 15, 2023 at 08:44AM
Sunday, May 14, 2023
Show HN: Online and CLI Tool to backup password protected data with QR codes https://ift.tt/6CirZWG
Show HN: Online and CLI Tool to backup password protected data with QR codes https://ift.tt/NCFb2yf May 14, 2023 at 11:47PM
Show HN: Smol Developer – Human-Centric and Coherent Whole Program Synthesis https://ift.tt/zjociqL
Show HN: Smol Developer – Human-Centric and Coherent Whole Program Synthesis https://ift.tt/CHpJgBe May 15, 2023 at 05:06AM
Show HN: Run AWS Cedar Policy Like OPA https://ift.tt/MPRpTbr
Show HN: Run AWS Cedar Policy Like OPA https://ift.tt/xNdXioU May 15, 2023 at 02:55AM
Show HN: Tack, a fast lightweight scripting language for games and embedding https://ift.tt/e2OZSI5
Show HN: Tack, a fast lightweight scripting language for games and embedding https://ift.tt/wrIVBTP Hi HN! Tack is a scripting language I've been working on sporadically for the past year or so, and intensely for the past few weeks. It originated out of a desire for something that was like Lua, but with a more familiar syntax, and without some of the other surprises in Lua such as the 1-indexed tables. It's also been a great learning project, and a very satisfying challenge! While the current version is early beta at best, I hope to continue working on it and maybe see some adoption. Despite the relative lack of optimization, I'm very pleased with the performance so far - although I haven't done a huge amount of benchmarking, it seems to be significantly faster than the stock Lua 5.4 interpreter for the quicksort test, and the btrees test (copied from the Computer Language Benchmarks Game). The language is designed for embedding in C++ programs, and is written in C++ more or less from scratch including the handwritten recursive descent parser, and a register-based compiler/interpreter. The only dependency other than the standard library is my C++ adaptation of the khash library used for the object type - a from-scratch hashmap seemed not worth the trouble. Quick code example - more examples in the repo! fn quicksort(arr) { const n = #arr if n <= 1 { return arr } " find the midpoint " let l = min(arr) let r = max(arr) if r == l { return arr } const mid = (l + r) / 2 " split array into upper and lower " const upper = filter(arr, fn(x) { return x < mid }) const lower = filter(arr, fn(x) { return x >= mid }) " recursively sort the upper and lower sub-arrays and join the result" return quicksort(lower) + quicksort(upper) } let A = [] for i in 0, 1000000 { A << random() } let before = clock() let B = quicksort(A) let after = clock() print("Time taken: ", after - before, "seconds") Building requires just cmake and a C++20 compiler - tested with MSVC 2022, g++11 on WSL and Clang 15 on M1 https://craftinginterpreters.com was a great help with implementing closures, as I had gone down a blind alley with my first approach for locating the closed-over variables. However I have taken a slightly different approach towards boxing. As I do intend to use this for some small games myself going forward, there is a standard library already, and plans to expand it. I also intend to release a GLFW-based mini game framework along with precompiled binaries, so hobbyists (and younger relatives!) may use it without needing a full compiler toolchain. I would love if anyone is interested enough to try it out! James https://github.com/PlumeCat/tack May 14, 2023 at 11:09PM
Show HN: Torquigen,create symmetrical animated GIFs from your images https://ift.tt/WIht2Ti
Show HN: Torquigen,create symmetrical animated GIFs from your images This is the first code I've written in WebGL2. It supports Chrome, Firefox, and Safari (macOS or ipadOS). https://torquigen.app May 14, 2023 at 10:09PM
Show HN: ts-npm-template – Template to bootstrap NPM package with TypeScript https://ift.tt/gDoPGcC
Show HN: ts-npm-template – Template to bootstrap NPM package with TypeScript https://ift.tt/9Cf53nF May 14, 2023 at 06:06PM
Show HN: Botecko, a gpt4 client that simulates an instant messenger https://ift.tt/uk1FxVm
Show HN: Botecko, a gpt4 client that simulates an instant messenger This is a simulation of an instant messenger running on the browser. It generates contacts (including the profile picture) based on a single sentence. All chat history is stored on your browser. Features: - Open source (apache 2) - Profile generation including picture - Prompt with plan-ahead in 4 steps. This improves the response and also gives a way to debug the character motivation. - Group Chat. Get new insights by making characters with different opinions talk to each other. If you don't have an openAi account you can check a demo here https://youtu.be/e07yjZJGnYo https://ift.tt/m4fKFOX May 14, 2023 at 06:07PM
Saturday, May 13, 2023
Show HN: WhyBot, making GPT-4 question itself https://ift.tt/KPo2e7W
Show HN: WhyBot, making GPT-4 question itself Hi HN — we’re John and Vish! We built WhyBot, a tool to help you deeply explore a question or topic. You ask a question, and WhyBot responds by building an ever-expanding knowledge graph. It does this by recursively generating answers and follow-up questions. You can change its persona to change the flavor of the generations (try toddler mode!). We originally built this for the AngelList Agent Hackathon ( https://twitter.com/AqeelMeetsWorld/status/16502799744050421... ) and got a lot of interest from folks asking to play around with it. So we thought it’d be fun to brush it up and release it as a web app! It’s a work in progress and we plan on adding more features, such as saving, sharing, focusing on one branch and potentially executing code. We hope you enjoy playing around with it and would love to hear any of your feedback or thoughts. https://ift.tt/3D2vefY May 14, 2023 at 09:47AM
Show HN: Bytebase – a GUI-based database schema change tool for developers https://ift.tt/JR1KVjU
Show HN: Bytebase – a GUI-based database schema change tool for developers https://ift.tt/F8Y5TOE May 13, 2023 at 11:36PM
Show HN: Emacs major mode for editing QuakeC files https://ift.tt/bMHcZK1
Show HN: Emacs major mode for editing QuakeC files As a part of my personal Quake Renaissance I decided to fulfil my childhood dream of making a mod for the game I played 25 years ago. Surprisingly, I discovered there was no Emacs mode available for QuakeC! So I came up with one. It currently mostly supports Vanilla QuakeC and assumes FTEQCC as a compiler but given some interest I am more than happy to add as many features as necessary for a modern Emacs experience. https://ift.tt/2oXzSlV May 13, 2023 at 02:42PM
Show HN: Kaizen, music updated over time like software https://ift.tt/cnXp8lk
Show HN: Kaizen, music updated over time like software Hi, I'm co-founder and CTO of Kaizen. The project started as just a weekend project with me and a music producer friend. It has since grown into a community of artists looking to share their music more frequently and engage with their fans more consistently. We've just launched on ProductHunt: https://ift.tt/91pHjnw We would love any thoughts or feedback! https://kaizen.place/ May 13, 2023 at 01:16PM
Friday, May 12, 2023
Show HN: A game about guessing which YT video is the most popular https://ift.tt/ylYp9Dr
Show HN: A game about guessing which YT video is the most popular https://ift.tt/Q09sVe6 May 13, 2023 at 06:36AM
Show HN: Infinity Whiteboard, Designed for Teachers https://ift.tt/RTLbyXh
Show HN: Infinity Whiteboard, Designed for Teachers I've created a whiteboard which I use every lesson when teaching maths, though it can be used for anything. It currently has a few hundred teachers using it daily. It's designed for use with touch-screen interactive whiteboards in classrooms, and stays in sync with your phone/tablet/whatever without signup/login. You can also find me on Twitter where I post updates etc: https://twitter.com/jakegmaths Some features and cool things: * Sync devices without signup - offline by default, just hit 'sync devices' and use the same code on multiple devices to sync * Touch-first - 1 finger draws; 2 finger pan/zoom; 3 finger gestures like changing pen colour * Add images - when teaching, this is usually photos of student work taken on my phone and auto-sync'd to the whiteboard at the front of the room * Add PDFs - when teaching, these are usually past paper exams which I then annotate over with the class * Zen mode - 3 finger tap or hit the ∞ icon to hide the UI; something I use every lesson so students can focus on the actual maths (there's also a fullscreen button when not on iOS) * Visualiser - often when teaching we'll work on paper with a webcam aka 'visualiser' pointing down at it; this projects that to the main whiteboard, with optional cropping, freeze-frame and snapshots * Screencast - many teachers use eg PowerPoint to teach; instead, I'll use PowerPoint in edit/design mode rather than slideshow mode, with a locally-cast cropped portion of that on the main whiteboard at the front of the room. This enables me to eg edit my PowerPoint as I go and use all the PowerPoint tools not available in slideshow mode * Instant replay - hit the play button to play back all the scribblings currently showing on the screen * Magnet mode - when sync'd with another device, use the magnet icon so the other device follows you. Most of my teaching is now via a tablet-with-stylus anywhere in the room, and as I pan/zoom around with the tablet the main whiteboard comes with me... but only when I want it to by activating the magnet * Student mini-whiteboards (MWBs) - if my students have devices and I want them to use them, I 'sync devices' then enable student MWBs and each student has a live copy of the whiteboard, and I can see what they write and can showcase any student instantly on the main board * PWA support - install as a PWA and you can download whiteboards as .iwb files which can then be double-clicked to open/edit on desktop * Free - I have no plans to charge for this Other things you may find interesting from a tech perspective: * The client is a single <5,000 lines HTML file, with JS, CSS, SVG-favicon all inlined (plus PDF.js lazily loaded if you add a PDF) * This is vanilla Javascript with no frameworks or libraries (except PDF.js) and no minification or build scripts - just view-source and check out how ugly all my code is! * 77.6kB for everything (except PDF support)... the size of 'modern' websites frankly disgusts me * The server is just a single ~500 line Javascript file and runs on Deno (also ported to Bun but unstable for now) and really just serves some static files, deals with websockets and temporarily stores images people add * Costs ~£5/month on Heroku * There's no database or any long-term persistence - Heroku servers restart every 24h and nothing is saved beyond that; it's all ephemeral https://www.mathsuniverse.com/infinity May 12, 2023 at 06:56PM
Show HN: React.js LLM Agent (open-source) https://ift.tt/qTQIpVJ
Show HN: React.js LLM Agent (open-source) I've been working in the couple of months on an experiment, trying to make GPT-4 much more useful for web development / React, writing production code that is relevant to any repository without copy pasta from ChatGPT or having small snippets of auto-complete from Copilot that are not in your context. The agent is taking a user story text and generating and composing multiple react components to generate the relevant screens, based on atomic design principles, with Typescript, TailwindCSS and RadixUI. Is is still experimental but very interesting results, I would like to get your feedback on it! It is completely open-sourced, looking for contributors! https://ift.tt/ZsW0Hq1 May 12, 2023 at 03:06PM
Show HN: PrivateGPT, the Privacy-Preserving Chatbot That Redacts Sensitive Data https://ift.tt/yVAoPux
Show HN: PrivateGPT, the Privacy-Preserving Chatbot That Redacts Sensitive Data PrivateGPT is a privacy-preserving chatbot that redacts personally identifiable information (PII) from prompts before sending them through the chatbot. This makes it safe to use ChatGPT without compromising customer or employee privacy. PrivateGPT is a valuable tool for organizations that want to use ChatGPT but are concerned about data privacy. https://ift.tt/TpFQXgO May 12, 2023 at 02:49PM
Thursday, May 11, 2023
Show HN: Plan international rendezvous with different passport holders https://ift.tt/6lT7X0R
Show HN: Plan international rendezvous with different passport holders https://unli.xyz/city/honeymoon/ May 12, 2023 at 07:46AM
Show HN: Google's photorealistic 3D tiles for GPS activity visualization https://ift.tt/fID6uwJ
Show HN: Google's photorealistic 3D tiles for GPS activity visualization I made a Proof of Concept integration of Google's new 3D tile model (which got announced today at Google's I/O) for my hiking/skiing/running app. It's basically Google Earth plus your GPS track, all the heavy lifting done by Cesium.js. I'm wondering how much this is gonna cost once it's out of experimental phase. https://ift.tt/uSUOhyv May 12, 2023 at 03:44AM
A Tool for DJs to Talk to Spotify's Recommendations API https://ift.tt/EN56gh9
A Tool for DJs to Talk to Spotify's Recommendations API https://ift.tt/9zsWDiA May 12, 2023 at 12:59AM
Show HN: Browse, upvote and comment on HN from command line https://ift.tt/3kKbqGv
Show HN: Browse, upvote and comment on HN from command line Hi HN! I've built hnterminal, a pip package that lets you browse, upvote, and comment on Hacker News from your terminal. To get started: $ pip install hnterminal $ hnterminal hnterminal is an interactive REPL environment with commands like "get_front_page", "get_tree", "upvote", "reply_to", etc, each of which supports rich arguments and comes with full help documentation. Checkout the readme. https://ift.tt/CJ2rX6a May 11, 2023 at 09:57PM
Show HN: Oneleet – Penetration Testing for SOC 2 and beyond https://ift.tt/xXzsZyC
Show HN: Oneleet – Penetration Testing for SOC 2 and beyond Hello HN, Over the past months at Oneleet (YC S22), our team has been building https://app.oneleet.com , a compliance-focused pentesting-as-a-service platform. It allows companies to easily schedule and manage penetration tests, designed for both compliance and security enhancement. We collaborate exclusively with top-tier vetted penetration testers based in NATO countries, ensuring superior quality results. Competitors like Cobalt work with just about anyone, of which they put multiple on a single engagement to ‘average out’ the quality. Despite their efforts, it is still hit-and-miss. By being very selective about who we work with (many Cobalt pentesters don’t make the cut), we are very consistent in the level of insight and quality we provide. Our team puts a lot of work into making sure that pentest results can be leveraged beyond security improvements. We are fully aware that with the current SOC 2 craze[1] most companies are just looking to tick their compliance and control boxes[2][3], but that doesn’t mean you can’t have both that box ticked and fundamentally improve your app’s security. Which is why we make sure our pentests serve both purposes: Present technical detail at a deep level but also provide documentation that is meant to be a sales and trust-building tool. Some of the things I used to hate when I worked as a pentester myself was seeing how common it had become for pentesters to just take Nessus findings, slap a pentest report title page on it and then proudly proclaim how they found these critical ‘SSL’ and ‘HTTP Header’ findings. Not to mention how much trouble it can get you in with your auditor when they see all those criticals they don’t understand the nature of. When those auditors then require you to fix all those criticals, you quickly find yourself going down a rabbit hole of unnecessary engineering effort. Great pentesters, on the other hand, use those exact same tools but know what to do with the information that they generate. Take a tool like Burp Suite, which is known among pentesters as the go-to tool for manual web app pentesting. Despite it primarily being used for manual testing, it also has ‘auto scanning’ functionality built in that is mostly useless without a human guiding the tool. More than once I heard both pentesters and clients state: “We already do Burp Suite scanning, so we have that covered.” Don’t get me wrong.. there are plenty of tools that provide a lot of insight without needing human guidance. Running Nuclei[4] frequently on your web-facing hosts is a great way to spot low-hanging fruit-type vulnerabilities, but it will require you to at least have some basic understanding of what the reported findings entail, and whether the associated severities are accurate or not (CVSS scores can be very random, so using them as a yardstick can be a terrible idea). This is why we’re strict about not allowing testers to inflate the severity of findings, or to revert to reporting boilerplate findings that many automated tools spit out by default. If you’re interested in having a pentest performed, you can get started by going to https://app.oneleet.com . After registration, you will be guided through an onboarding flow after which you can schedule a call with the founding team and a pentester. We’d love to get your feedback and answer any questions you might have! References: [1] https://ift.tt/uGfVv9t ] [2] https://ift.tt/c0guxRy [3] https://ift.tt/WTSCMpy [4] https://ift.tt/jsTJcWY https://ift.tt/AmNc3Dg May 11, 2023 at 11:37PM
Show HN: Interactive story map built using Google 3D Tiles and deck.gl https://ift.tt/NySa2ZQ
Show HN: Interactive story map built using Google 3D Tiles and deck.gl https://ift.tt/hgveQWG May 11, 2023 at 12:22PM
Show HN: MedGPT – Get information about medicines, treatments, and diagnoses https://ift.tt/UCWjdwx
Show HN: MedGPT – Get information about medicines, treatments, and diagnoses https://ift.tt/HQj5saF May 11, 2023 at 05:21PM
Show HN: BundleStore – increase revenue by offering your product in a bundle https://ift.tt/3l7Qt9V
Show HN: BundleStore – increase revenue by offering your product in a bundle On BundleStore, users buy more to save more. By offering your product in a bundle, you can make your product instantly more attractive! Visit the website and tell me what your product is, and I'll do the rest. https://ift.tt/gak1Li2 May 11, 2023 at 02:28PM
Show HN: Search Xkcd https://ift.tt/2Y7eArD
Show HN: Search Xkcd https://xkcd.netcore.io May 11, 2023 at 01:33PM
Wednesday, May 10, 2023
Show HN: Deterministic objective Bayesian inference for spatial models [pdf] https://ift.tt/5Eyq83a
Show HN: Deterministic objective Bayesian inference for spatial models [pdf] To give some context, objective Bayesian inference refers to Bayesian analysis (i.e. integrating over the parameter space) using a prior that is design to represent "minimal information" (see [1], [2], and [3] for an overview). Particularly in cases where a model's likelihood function is not strongly peaked about a point, objective Bayesian inference can give better results than methods based off of point estimates like Maximum Likelihood [4]. Reference priors provides a general approach to construct so-called noninformative priors that are suitable for Objective Bayesian analysis ([5], [6]). The approach takes a practical viewpoint of noninformative priors and looks to build priors that are both tractable and provide good performance on frequentist coverage simulations. See Section 2 for a description of how the process and frequentist simulations work and [7] for examples with some basic models (e.g. why 1/σ^2 is the noninformative prior for the variance of normally distributed data with known mean). [8] was the first to develop reference priors for Gaussian processes models, and [9] extended the work to handle Gaussian Processes with noise (or nugget effects). The project I'm working on provides software and algorithms to do deterministic inference using the prior from [9]. Typically, such inference has been done using MCMC sampling algorithms; but my belief is that deterministic algorithms can give results that are more consistent, less sensitive to parameter tweaking, and more efficient, at the expense of some engineering cost and loss of generality. For an example of how the algorithms work on a real-world data set of zinc measurements in a flood plain along the Meuse river [10], see https://ift.tt/KTMepj9... References [1]: https://ift.tt/RSyhUAX [2]: https://ift.tt/NuB0rQR... [3]: https://ift.tt/qzNvayR [4]: https://ift.tt/nvpz2Tm... [5]: https://ift.tt/DJxH5jh... [6]: https://ift.tt/erbcgxw [7]: https://ift.tt/lzUADi6... [8]: https://ift.tt/DrkWzHZ... [9]: https://ift.tt/XvEeydM... [10]: https://ift.tt/uTRosOG... https://ift.tt/Ykr1V3C May 10, 2023 at 08:37PM
Show HN: Mineo.app – Better Python Notebooks https://ift.tt/Qu1ACN0
Show HN: Mineo.app – Better Python Notebooks Hello everyone, I would like to introduce our startup to HN: Mineo.app. Mineo.app is a production-ready SaaS Python notebook that provides a complete environment for building your data applications: Dashboards, Reports, and Data Pipelines based on Python notebooks. Key features: * Superpowered jupyter-compatible Python notebooks with extra goodies like: version control, commenting support, custom docker images, etc... enhanced with no code components that allow to create beautiful dashboards and reports. * Data Pipelines: Ability to schedule and run one or more notebooks. * Integrated file system to manage your files and projects with detailed permissions and groups. We have a freemium licensing model, so you can start using Mineo just by registering with your Github/Google/Microsoft account for free without a credit card. And it's free for educational purposes ;-) Diego. https://www.mineo.app/ May 9, 2023 at 06:49PM
Show HN: Askhn.ai – generate answers based on expertise on HN https://ift.tt/qheLZz4
Show HN: Askhn.ai – generate answers based on expertise on HN https://askhn.ai/ May 10, 2023 at 04:40PM
Show HN: Highest rated stock by Wall Street analysts, daily https://ift.tt/AKtbZUh
Show HN: Highest rated stock by Wall Street analysts, daily https://ift.tt/6Eo9CRl May 10, 2023 at 05:09PM
Show HN: Awesome OpenAI Whisper List https://ift.tt/UVaEtA4
Show HN: Awesome OpenAI Whisper List https://ift.tt/F7W6kfH May 10, 2023 at 04:44PM
Tuesday, May 9, 2023
Show HN: A clock app developed based on flutter https://ift.tt/tpg4wXb
Show HN: A clock app developed based on flutter https://ift.tt/SDE9C2g May 10, 2023 at 09:30AM
Show HN: Build progressively enhanced reactive HTML apps using Go and Alpine.js https://ift.tt/ymKu9Mc
Show HN: Build progressively enhanced reactive HTML apps using Go and Alpine.js Fir leverages Golang’s standard library html/template package and a bit of alpinejs to allow building reactive UIs. You start with plain old html and use alpinejs to enhance it to bring no-page-reload interactivity to web apps. The Fir toolkit is designed for Go developers with moderate html/css & js skills who want to progressively build reactive web apps without mastering complex web frameworks. It includes a Go library and an Alpine.js plugin. How it works ? On receiving user-interactions the fir server re-renders html templates and sends it over the wire where the fir client library selectively updates the changed areas. When a user event is received by a Fir route, an array of html templates are rendered on the server and returned as an array of DOM events to the browser. The DOM events are consumed by the alpinejs plugin and dispatched within the DOM where listeners attached to elements can use the event to update the DOM. See the demo and quickstart here: https://ift.tt/j57NICA https://ift.tt/j57NICA May 10, 2023 at 05:33AM
Show HN: Card game where players write their own cards that get parsed into code https://ift.tt/HfBx49h
Show HN: Card game where players write their own cards that get parsed into code Wordbots is a long-running side project I've been working on on-and-off for the past ~7 years that I finally feel comfortable enough with to share with the HN community. It's an online tactical card game (inspired by games like Hearthstone and Magic: the Gathering), where players write their own cards in natural language, that gets parsed down to JavaScript. The English-to-JavaScript translation is handled by a semantic parser operating on a hand-crafted CCG grammar – kind of an “old-school” approach in this age of LLMs but one that performs quite well on the very constrained language of Wordbots cards. The resulting game gets pretty wacky as players can create all sorts of cards, though there are some game formats that try to produce more balanced gameplay as well (e.g. one format in which both players shuffle their decks together, and various draft formats). If you're curious about how it all works, I made a write-up about it here: https://ift.tt/CzhVs5O And if you want to chat about Wordbots beyond this thread, please don't hesitate to join our discord at https://ift.tt/6e7G0R8 . I'd love to hear any and all feedback. -Alex https://ift.tt/1G6rRNd May 10, 2023 at 01:01AM
Show HN: Metarank – open-source hybrid search with LLMs https://ift.tt/dvEKRQa
Show HN: Metarank – open-source hybrid search with LLMs A small demo for a Metarank open-source project I'm maintaining. https://ift.tt/8lUucEt May 9, 2023 at 05:22PM
Monday, May 8, 2023
Show HN: Novika – a free-form, moldable, interpreted programming language https://ift.tt/Kti6FUe
Show HN: Novika – a free-form, moldable, interpreted programming language https://ift.tt/RJXCd53 May 9, 2023 at 05:04AM
Show HN: Xline0.4.0: Geo-Distributed KV Store for Metadata Management https://ift.tt/TdIs9Ez
Show HN: Xline0.4.0: Geo-Distributed KV Store for Metadata Management https://ift.tt/npWlNrY May 9, 2023 at 01:21AM
Show HN: Submit ChatGPT prompts on a web page to mutate the same web page https://ift.tt/8OcGabg
Show HN: Submit ChatGPT prompts on a web page to mutate the same web page https://ift.tt/6xwEdRJ May 8, 2023 at 11:19PM
Show HN: A social network to share articles you've read https://ift.tt/dO4NvFY
Show HN: A social network to share articles you've read https://ift.tt/SbQrUcH May 9, 2023 at 02:52AM
Show HN: Monch, a tasty TypeScript parser-combinators library https://ift.tt/L3nGluP
Show HN: Monch, a tasty TypeScript parser-combinators library https://ift.tt/RX56dUJ May 9, 2023 at 01:38AM
Show HN: Cptn.io – open-source integration platform https://ift.tt/qi1fVQg
Show HN: Cptn.io – open-source integration platform Hi, I am Krishna Thota. I am building an open source integration and data platform( https://cptn.io ). The product is MIT licensed and the repo is at https://ift.tt/Oiz7ps3 . I have started on my startup journey an year ago and launched a monitoring platform called DevRaven. Unfortunately the product did not takeoff as expected. That story is for another day. But during the course of building the product, I have built several integrations leveraging MQs and Cloud Functions. While building and deploying Cloud Functions for happy paths is easy, I had to monitor logs for failures, build retry mechanisms or manually process failed events, keep instances running to prevent cold start timeouts. It can also get expensive with charges for MQs, server time for running cloud functions etc and costs can be unpredictable. I thought of building a platform where I can build integrations quickly, have the ability to look at incoming/outgoing events, look at logs, retry any failed events etc. And finally, predictable costs for running the infrastructure. cptn.io provides all these capabilities and more. You can build pipelines to integrate with any cloud services, send data from your backend to data warehouses, listen to web hook events etc. The platform can be integrated into any stack by sending events to HTTP end points. Instead of trying to build a business first or launch an open source product under restrictive licenses, the platform will be available under MIT license so any user or customer can use it. There is no ee folder or complex dual licensing and I am also committing to releasing SSO under MIT. The plan is to offer a managed service in the cloud at a later time, accept sponsors for prioritizing features for enterprise customers and charge for enterprise support. It should take less than 5 minutes to get the platform running on your machine. Welcome any feedback, feature requests, PRs and bug reports. https://cptn.io May 8, 2023 at 11:15PM
Show HN: Automatic Domain Verification https://ift.tt/DYKE8hQ
Show HN: Automatic Domain Verification The Domain Verification protocol stores a DNS TXT record at a DNS name derived from a hashed "verifiable identifier" (email, telephone, DID), enabling anyone that can prove control over the verifiable identifier to prove authority for the domain name, whilst preserving the privacy of the authorised party. Once setup, the record enables automatic domain verification for any service provider. This record could be automatically setup by domain registrars upon domain registration (with registrant opt-in) creating a fast lane for verification with service providers many new small businesses use (eg Google Ads, Facebook, Office365, Dropbox, etc). ===== Quick sidebar: This was originally submitted to HN under the title "Show HN: Make domain verification as easy as verifying an email or phone number" 3 days ago [1]. It was doing really well (#3 on front page) then totally disappeared from front page and went to bottom of page 1 of Show HN. After an email exchange with dang (incredibly helpful as always), he explained that it got flagged with the "overheated discussion detector" and it turned out I caused this by diligently responding to every comment as fast as my fingers would type because I wanted to keep engagement going. Helpfully dang took the flag off it about 12 hours later after our email exchange, but understandably the momentum was lost. So I feel like it kinda got killed, just as it was picking up pace and as the US west coast was waking up. So I am humbly reposting it with a modified description based on the comments of the last post. ===== This is a project I've been working on for a little while and I'm interested in your feedback and point of view. Many of us would have verified a domain name by pasting a string into a DNS TXT record. These methods are currently being discussed and standardised at the IETF [2]. Let's Encrypt's DNS-01 method [3] is probably considered the state of the art. The differences between DNS-01 and Domain Verification protocol are: - DNS-01 requires a new TXT record for each service provider. With Domain Verification Protocol, multiple service providers can use the same record. - Instructions to setup a DNS-01 TXT record are instigated by the service provider, whereas a Domain Verification Protocol record can be setup independently by a user or a domain registrar. They could even pre-populated by a registrar upon domain registration (with registrant opt-in) - There’s no concept of permissions in DNS-01, the act of creating the record gives the user full access for the domain with the service provider. With Domain Verification protocol multiple records can be setup, limited permissions could be setup for different third parties. For example give a marketing agency authentication to claim the domain on social media but nowhere else. I'm still working on licensing but creating these records will always be free. I hope to find service providers that see significant upside in reducing friction for user onboarding that are willing to pay to license it. Worked example: Let's say you want to authenticate the user with the email user@example.com with the domain dvexample.com, these are the steps: a. HASH(user@example.com) -> 4i7ozur385y5nsqoo0mg0mxv6t9333s2rarxrtvlpag1gsk8pg b. Store Domain Verification record at: 4i7ozur385y5nsqoo0mg0mxv6t9333s2rarxrtvlpag1gsk8pg._dv.dvexample.com c. TXT record determines permissions and time limit: @dv=1;d=Example user email;e=2025-01-01;s=[seo;email];h=4i7ozur385y5nsqoo0mg0mxv6t9333s2rarxrtvlpag1gsk8pg Thanks for taking a look, Elliott 1. https://ift.tt/a01o3rt 2. https://ift.tt/9XsLOVz... 3. https://ift.tt/MAIbzEc https://ift.tt/XwM72yP May 8, 2023 at 10:36PM
Show HN: Play SineRider, a math puzzle game built by teenagers at Hack Club https://ift.tt/szoyreq
Show HN: Play SineRider, a math puzzle game built by teenagers at Hack Club Messing with your TI-84 graphing calculator is a rite of passage for every teenager who has ever been bored in a math class. In 2013 I was that teenager, and it gave me an idea for a tiny game about sledding on graphs. This project grew into my white whale, and I spent my twenties trying and failing to finish it alone. I shelved the game when I started working for Hack Club in 2018—until last May, when a few community members took it off the shelf. The project took on a life of its own, and turned into a year of nights and weekends from a global team of 20+ teens in 8+ countries. Today SineRider enters public beta! SineRider is literally an infinite universe of function composition puzzles, each with infinite solutions, that range from welcoming for 9th graders to difficult for even the most serious matlab user. And every day we tweet out a fresh one to be solved with your morning coffee. We hope you enjoy playing SineRider as much as we’ve enjoyed making it. And we’re not done! Mobile support, polar coordinates, and a level editor are all on the roadmap. SineRider is a living project, to be continuously built and maintained as free OSS by the Hack Club community: https://ift.tt/Wf59sqr The team that built the game will try to be in the comments today between high school classes and AP tests. —chris walker, creative director Watch the trailer: https://www.youtube.com/watch?v=35nDYoIwiA8 Play now: https://sinerider.com https://ift.tt/Wf59sqr May 8, 2023 at 06:44PM
Sunday, May 7, 2023
Show HN: A recipe website where all recipes are made by GPT4 https://ift.tt/mTw05vo
Show HN: A recipe website where all recipes are made by GPT4 https://ift.tt/40XIRHv May 8, 2023 at 10:46AM
Show HN: Free tool to convert Google Docs to Markdown https://ift.tt/huP3Lso
Show HN: Free tool to convert Google Docs to Markdown https://ift.tt/94NuyXD May 8, 2023 at 02:04AM
Show HN: AI Poetry Contest https://ift.tt/aBKeyvc
Show HN: AI Poetry Contest Hi HN! Me and my buddy made this in a weekend as an experiment in 1. building something quickly and putting it out there and 2. using AI in an interesting way; in this case a poetry judge. Our “judge” isn’t perfect, but the hope is that at least it’s a relatively fair system that everyone can be sure evaluates their work. Anyway, we wanted to see what the lovely people of HN think of it. Some background on the idea; I like poetry and thought it would be cool if there was a big competition with a large financial incentive that scales with the number of participants. Using AI as a judge allows us to handle any number of submissions in a consistent and fair way. It also opens up the competition to poetry written in other languages, although for now we’re only promoting in the US. Happy to answer any questions! Also any feedback is much appreciated, thanks! https://ift.tt/gchY5Fv May 8, 2023 at 04:51AM
Show HN: What do you think about my metasearch engine? https://ift.tt/eXdfWSg
Show HN: What do you think about my metasearch engine? https://ift.tt/ENDIRtM May 8, 2023 at 02:14AM
Show HN: Filter crowded places (bars, clubs, museums) per day in major cities https://ift.tt/vqEeHJS
Show HN: Filter crowded places (bars, clubs, museums) per day in major cities Free tool to find and filter busy venues based on predicted crowd levels. This way you can find for example busy bars on Wednesday evening, or quiet museums on Sunday morning. It works in most big cities around the world. It makes it easy to find crowded places (or avoid them) when you are unfamiliar with the area. You can filter on days of the week, how busy a place is (quiet, normal, busy), and sort venues based on overall popularity, rating, dwell time, and price. https://ift.tt/9xv1U8a May 8, 2023 at 12:14AM
Show HN: ChatGPT powered AI chatbot for your website https://ift.tt/dNyvaTY
Show HN: ChatGPT powered AI chatbot for your website Introducing Chabotix.com - the no-code chatbot builder powered by ChatGPT! With Chabotix.com, you can easily create a custom chatbot for your website without any coding skills. Simply upload your document and get a link to your chatbot. Your users can then interact with the chatbot, ask questions, and get answers - all without leaving your website! Whether you're a small business owner, a blogger, or a website owner, Chabotix.com is the perfect solution for enhancing your online presence and engaging your audience. Say goodbye to expensive developers and complicated code - with Chabotix.com, you can create a chatbot in minutes and start reaping the benefits of enhanced user engagement and improved customer support. Visit Chabotix.com today and start building your own chatbot! You upload a text file like this one in Chabotix website. Then you receive a personalized link to your AI chat bot. To get your own chabotix, follow simple steps: 1- Sign in to Chabotix.com, 2- Upload your document 3-You get a link to your personalized AI chatbot. Add it to your website. To add chabotix to your website, follow simple steps: 1-Add that Javascript link to your website, before closing html tag. Check this page to see an example. 2- Also use our CSS file to style it. You can also style your Chabotix bot according to your taste by using your own CSS file. Any time if you have any questions, either ask Chabotix directly here or send me a message on Twitter. https://ift.tt/U9mGKEZ May 7, 2023 at 02:04PM
Show HN: Hyrable - An AI powered job description writer for recruiters https://ift.tt/hwauxiI
Show HN: Hyrable - An AI powered job description writer for recruiters Write Better Job Descriptions Faster with Hyrable https://ift.tt/Ix1krUa May 7, 2023 at 01:43PM
Saturday, May 6, 2023
Show HN: Git Hooting https://ift.tt/vuDqjmC
Show HN: Git Hooting 00's called, they want their RSS feeds back. I was looking at my growing Github gist collection when a sudden urge to blog and make a name for myself "by not programming" struck. Part way into implementing my oh so special static website generator it occurred to me that, quite frankly, Github gists is a pretty decent publishing platform. I mean, it gives you reasonably extended markdown with previews, heck I could even write in org-mode, has comments, follower - followee relationship, extended search with filters, check out locally and push your edits. Did someone say "edit button"? Thus the idea behind https://git.ht was born: collect gists into RSS feeds and force everyone, kicking and screaming, into the good old days when Google Reader was king. Well, it's a bit more than that now. But basically, you create a gist or grab an old one, name its main file `hoot.md` or `hoot.org` if org-mode is your poison, make it public and voila. These "hoots" make it into your RSS feed and will get permalinks with social graph metatags, so you get nice previews when you share them on Twitter and such. To take it for a spin: - pick a subdomain e.g. foo.git.ht, - navigate you browser there, - login with Github. I still consider it alpha, but it should work. Report any issues as you would normally on Github https://ift.tt/QJaxPiL . Thank you https://git.ht May 7, 2023 at 05:59AM
Show HN: Mini-spend-tracker – a self-hosted server for tracking your spendings https://ift.tt/VgkOGnt
Show HN: Mini-spend-tracker – a self-hosted server for tracking your spendings https://ift.tt/KsM9izH May 7, 2023 at 02:52AM
Show HN: MoodFood – AI Chef Assistant for Personalized Meals and Mood Dining https://ift.tt/KXjlZHm
Show HN: MoodFood – AI Chef Assistant for Personalized Meals and Mood Dining https://ift.tt/wJPTlac May 7, 2023 at 02:11AM
Show HN: CrossLine – the desktop Outliner with cross-links and transclusion https://ift.tt/z0pXG6F
Show HN: CrossLine – the desktop Outliner with cross-links and transclusion https://ift.tt/y9LdSxF May 6, 2023 at 08:16PM
Show HN: ReRender AI, Realistic Architectural Renders for AutoCAD, Blender Users https://ift.tt/c1EAJku
Show HN: ReRender AI, Realistic Architectural Renders for AutoCAD, Blender Users https://rerenderai.com May 6, 2023 at 02:45PM
Show HN: SpiderSuite: Advance GUI web security crawler https://ift.tt/SWtDRT9
Show HN: SpiderSuite: Advance GUI web security crawler https://ift.tt/3lBMKrX May 6, 2023 at 11:26AM
Friday, May 5, 2023
Show HN: Ethereum address reviews, similar to Yelp https://ift.tt/fBQEDYu
Show HN: Ethereum address reviews, similar to Yelp Hi HN, Excuse me if the formatting sucks, this is a first time post. I want to introduce to you vrfd.info. A place where you can openly view and influence the reputation of any Ethereum address. Think of it as Yelp but for Eth. Addresses are classified as either verified or flagged on-chain through soulbound NFTs. A type of NFT that has no trade value as it cannot be sold. Once minted, it is stuck to the given address. The metadata of the NFT contains either information to verify the address with, this could be a social account for example. Or in the case of flagged addresses, the metadata contains proof of wrong-doing. Users can search the classification status of any address on the web app. Additionally, users can apply to either verify or report an address, provided proof. In the case of reports, users stand a chance to be rewarded. Finally, users can up or down vote other addresses. I made this tool after suffering one to many scam without having an open source library where addresses can be reported or their credentials verified. It's still a bit clunky, but the core concept works fully integrated on the Testnet. I'm shipping a big update this week to make it more responsive. Thanks for taking the time to read this. Please give me any feedback as I am looking to improve everywhere I can. https://vrfd.info May 5, 2023 at 11:00PM
Show HN: Telegram Bot for Surf Conditions https://ift.tt/qbzAQ18
Show HN: Telegram Bot for Surf Conditions I got tired of checking different weather apps every time my surf group wanted to go out. This bot shares the current conditions whenever you message /conditions to the group! https://ift.tt/kV4HhU7 May 6, 2023 at 02:31AM
Show HN: Avoiding Imgur Link Rot https://ift.tt/ZYPzfI9
Show HN: Avoiding Imgur Link Rot Over the last decade I've built a number of different digital asset managers (mostly media files) that met the needs of my companies at the time. It is an area I enjoy working in. A month ago, when asked what was next for me, I jokingly said I would build another DAM. Then on Saturday, two weeks ago, I learnt that Imgur was going to delete all anonymous & NSFW files on the 15th of May. It was pointed out that this would mean broken links in communities that had relied on Imgur. By the Sunday I had decided that I would build another DAM, initially with the intent of avoiding Imgur link rot. It was challenging to find time to spend on this, the project was put together over about 8 evenings. It still has rough patches, this is an early MVP (a Michael Seibel "brick"). I have many ideas of where to take this project, but for now it only does one thing: backup Imgur files and produce new links that are easy to swap out for old soon-to-be-deleted Imgur links. https://haasie.com May 6, 2023 at 04:10AM
Show HN: Pure browser side natural language processing https://ift.tt/3pEb1R4
Show HN: Pure browser side natural language processing https://winkjs.org/ May 5, 2023 at 09:45PM
Thursday, May 4, 2023
Show HN: Hypertune – Visual, functional, statically-typed configuration language https://ift.tt/HKePCpa
Show HN: Hypertune – Visual, functional, statically-typed configuration language Hey HN! I'm Miraan, the founder at Hypertune, and I'm excited to be posting this on HN. Hypertune lets you make your code configurable to let teammates like PMs and marketers quickly change feature flags, in-app copy, pricing plans, etc. It's like a CMS but instead of only letting you set static content, you can insert arbitrary logic from the UI, including A/B tests and ML "loops". I previously built a landing page optimization tool that let marketers define variants of their headline, CTA, cover image, etc, then used a genetic algorithm to find the best combination of them. They used my Chrome extension to define changes on DOM elements based on their unique CSS selector. But this broke when the underlying page changed and didn't work with sites that used CSS modules. Developers hated it. I took a step back. The problem I was trying to solve was making the page configurable by marketers in a way that developers liked. I decided to solve it from first principles and this led to Hypertune. Here's how it works. You define a strongly typed configuration schema in GraphQL, e.g. type Query { page(language: Language!, deviceType: DeviceType!): Page! } type Page { headline: String! imageUrl: String! showPromotion: Boolean! benefits: [String!]! } enum Language { English, French, Spanish } enum DeviceType { Desktop, Mobile, Tablet } Then marketers can configure these fields from the UI using our visual, functional, statically-typed language. The language UI is type-directed so we only show expression options that satisfy the required type of the hole in the logic tree. So for the "headline" field, you can insert a String expression or an If / Else expression that returns a String. If you insert the latter, more holes appear. This means marketers don't need to know any syntax and can't get into invalid states. They can use arguments you define in the schema like "language" and "deviceType", and drop A/B tests and contextual multi-armed bandits anywhere in their logic. We overlay live counts on the logic tree UI so they can see how often different branches are called. You get the config via our SDK which fetches your logic tree once on initialization (from our CDN) then evaluates it locally so you can get flags or content with different arguments (e.g. for different users) immediately with no network latency. So you can use the SDK on your backend without adding extra latency to every request, or on the frontend without blocking renders. The SDK includes a command line tool that auto-generates code for end-to-end type-safety based on your schema. You can also query your config via the GraphQL API. If you use the SDK, you can also embed a build-time snapshot of your logic tree in your app bundle. The SDK initializes from this instantly then fetches the latest logic from the server. So it'll still work in the unlikely event the CDN is down. And on the frontend, you can evaluate flags, content, A/B tests, personalization logic, etc, instantly on page load without any network latency, which makes it compatible with static Jamstack sites. I started building this for landing pages but realized it could be used for configuring feature flags, in-app content, translations, onboarding flows, permissions, rules, limits, magic numbers, pricing plans, backend services, cron jobs, etc, as it's all just "code configuration". This configuration is usually hardcoded, sprawled across json or yaml files, or in separate platforms for feature flags, content management, A/B testing, pricing plans, etc. So if a PM wants to A/B test new onboarding content, they need a developer to write glue code that stitches their A/B testing tool with their CMS for that specific test, then wait for a code deployment. And at that point, it may not be worth the effort. The general problem with having separate platforms is that all this configuration naturally overlaps. Feature flags and content management overlap with A/B testing and analytics. Pricing plans overlap with feature flags. Keeping them separate leads to inflexibility and duplication and requires hacky glue code, which defeats the purpose of configuration. I think the solution is a flexible, type-safe code configuration platform with a strongly typed schema, type-safe SDKs and APIs, and a visual, functional, statically-typed language with analytics, A/B testing and ML built in. I think this solves the problem with having separate platforms, but also results in a better solution for individual use cases and makes new use cases possible. For example, compared specifically to other feature flag platforms, you get auto-generated type-safe code to catch flag typos and errors at compile-time (instead of run-time), code completion and "find all references" in your IDE (no figuring out if a flag is in kebab-case or camelCase), type-safe enum flags you can exhaustively switch on, type-safe object and list flags, and a type-safe logic UI. You pass context arguments like userId, email, etc, in a type-safe way too with compiler errors if you miss or misspell one. To clean up a flag, you remove it from your query, re-run code generation and fix all the type errors to remove all references. The full programming language under the hood means there are no limits on your flag logic (you're not locked into basic disjunctive normal form). You can embed a build-time snapshot of your flag logic in your app bundle for guaranteed, instant initialization with no network latency (and keep this up to date with a commit webhook). And all your flags are versioned together in a single Git history for instant rollbacks to known good states (no figuring out what combination of flag changes caused an incident). There are other flexible configuration languages like Dhall (discussed here: https://ift.tt/VZzmt4w ), Jsonnet (discussed here: https://ift.tt/0kAzC7W ) and Cue (discussed here: https://ift.tt/DQ1Mt5g ). But they lack a UI for nontechnical users, can't be updated at run-time and don't support analytics, A/B testing and ML. I was actually going to start with a basic language that had primitives (Boolean, Int, String), a Comparison expression and an If / Else. Then users could implement the logic for each field in the schema separately. But then I realized they might want to share logic for a group of fields at the object level, e.g. instead of repeating "if (deviceType == Mobile) { primitiveA } else { primitiveB }" for each primitive field separately, they could have the logic once at the Page level: "if (deviceType == Mobile) { pageObjectA } else { pageObjectB }". I also needed to represent field arguments like "deviceType" in the language. And I realized users may want to define other variables to reuse bits of logic, like a specific "benefit" which appears in different variations of the "benefits" list. So at this point, it made sense to build a full, functional language with Object expressions (that have a type defined in the schema) and Function, Variable and Application expressions (to implement the lambda calculus). Then all the configuration can be represented as a single Object with the root Query type from the schema, e.g. Query { page: f({ deviceType }) => switch (true) { case (deviceType == DeviceType.Mobile) => Page { headline: f({}) => "Headline A" imageUrl: f({}) => "Image A" showPromotion: f({}) => true benefits: f({}) => ["Ben", "efits", "A"] } default => Page { headline: f({}) => "Headline B" imageUrl: f({}) => "Image B" showPromotion: f({}) => false benefits: f({}) => ["Ben", "efits", "B"] } } } So each schema field is implemented by a Function that takes a single Object parameter (a dictionary of field argument name => value). I needed to evaluate this logic tree given a GraphQL query that looks like: query { page(deviceType: Mobile) { headline showPromotion } } So I built an interpreter that recursively selects the queried parts of the logic tree, evaluating the Functions for each query field with the given arguments. It ignores fields that aren't in the query so the logic tree can grow large without affecting query performance. The interpreter is used by the SDK, to evaluate logic locally, and on our CDN edge server that hosts the GraphQL API. The response for the example above would be: { "__typename": "Query", "page": { "__typename": "Page", "headline": "Headline A", "showPromotion": true } } Developers were concerned about using the SDK on the frontend as it could leak sensitive configuration logic, like lists of user IDs, to the browser. To solve this, I modified the interpreter to support "partial evaluation". This is where it takes a GraphQL query that only provides some of the required field arguments and then partially evaluates the logic tree as much as possible. Any logic which can't be evaluated is left intact. The SDK can leverage this at initialization time by passing already known arguments (e.g. the user ID) in its initialization query so that sensitive logic (like lists of user IDs) are evaluated (and eliminated) on the server. The rest of the logic is evaluated locally by the SDK when client code calls its methods with the remaining arguments. This also minimizes the payload size sent to the client and means less logic needs to be evaluated locally, which improves both page load and render performance. The interpreter also keeps a count of expression evaluations as well as events for A/B tests and ML loops, which are flushed back to Hypertune in the background to overlay live analytics on the logic tree UI. It's been a challenge to build a simple UI given there's a full functional language under the hood. For example, I needed to build a way for users to convert any expression into a variable in one click. Under the hood, to make expression X a variable, we wrap the parent of X in a Function that takes a single parameter, then wrap that Function in an Application that passes X as an argument. Then we replace X in the Function body with a reference to the parameter. So we go from: if (X) { Y } else { Z } to ((paramX) => if (paramX) { Y } else { Z } )(X) So a variable is just an Application argument that can be referenced in the called Function's body. And once we have a variable, we can reference it in more than one place in the Function body. To undo this, users can "drop" a variable in one click which replaces all its references with a copy of its value. Converting X into a variable gets more tricky if the parent of X is a Function itself which defines parameters referenced inside of X. In this case, when we make X a variable, we lift it outside of this Function. But then it doesn't have access to the Function's parameters anymore. So we automatically convert X into a Function itself which takes the parameters it needs. Then we call this new Function where we originally had X, passing in the original parameters. There are more interesting details about how we lift variables to higher scopes in one click but that's for another post. Thanks for reading this far! I'm glad I got to share Hypertune with you. I'm curious about what use case appeals to you the most. Is it type-safe feature flags, in-app content management, A/B testing static Jamstack sites, managing permissions, pricing plans or something else? Please let me know any thoughts or questions! https://ift.tt/nZF0RTE May 4, 2023 at 08:31PM
Subscribe to:
Posts (Atom)
Show HN: DrawDB – open-source online database diagram editor (a retro) https://ift.tt/BSDKLCo
Show HN: DrawDB – open-source online database diagram editor (a retro) One year ago I open-sourced my very first 'real' project and ...
-
Show HN: High school robotics code/CAD/design binder release Hello HN! My name is Patrick, and I am a junior at my High School’s FRC robotic...
-
Show HN: D&D meets Siri – Interactive voice adventure Hey HN! I've been building tooling for voice-driven apps over the past few mon...
-
Show HN: I Made an AI Social Media Manager to Automate Content Creation Hey HN, I am a Solopreneur, and I love building apps to automate bor...