Monday, March 13, 2023

Show HN: Storytime AI – Generate custom stories for your kids https://ift.tt/aEhLB6f

Show HN: Storytime AI – Generate custom stories for your kids For months, my wife and I were manually and haphazardly using ChatGPT to generate bedtime stories for our 3-year-old (mostly using her ideas as prompts), so I built this app on top of the ChatGPT API to make bedtime a lot easier. https://ift.tt/JfxOPFa March 13, 2023 at 12:33AM

Sunday, March 12, 2023

Show HN: Codon: A Compiler for High-Performance Pythonic Applications and DSLs [pdf] https://ift.tt/j3U9icE

Show HN: Codon: A Compiler for High-Performance Pythonic Applications and DSLs [pdf] https://ift.tt/cwoJyYB March 13, 2023 at 02:36AM

Show HN: Topiary: universal formatter engine using treesitter https://ift.tt/0tle6P7

Show HN: Topiary: universal formatter engine using treesitter https://ift.tt/4Ci3jaD March 13, 2023 at 01:27AM

Show HN: I made my first few dollars online by publishing a cheatsheet https://ift.tt/vIuhHOi

Show HN: I made my first few dollars online by publishing a cheatsheet https://ift.tt/zIMwKA1 March 12, 2023 at 05:32PM

Show HN: Halp – A CLI tool to get help with CLI tools https://ift.tt/5Ony4if

Show HN: Halp – A CLI tool to get help with CLI tools https://ift.tt/e48Yvz9 March 12, 2023 at 04:54PM

Show HN: Ztick – tiny desktop utility to keep notes written in Zig https://ift.tt/kPrqWe7

Show HN: Ztick – tiny desktop utility to keep notes written in Zig Trying my hands with zig, hence wrote a small app for my personal use. I hope it helps others who are trying to learn zig. PS: Code is not at its best place, so it could use few refactor iterations ( I am still learning zig ) https://ift.tt/tOKcxu9 March 12, 2023 at 11:35AM

Saturday, March 11, 2023

Show HN: Hacker News LCD Badge https://ift.tt/8ysPNBf

Show HN: Hacker News LCD Badge https://ift.tt/kXCzBWS March 12, 2023 at 10:04AM

Show HN: ChatGPT Based PR Reviewer and Summarizer https://ift.tt/M29AeJh

Show HN: ChatGPT Based PR Reviewer and Summarizer https://ift.tt/jsGUZWL March 12, 2023 at 01:45AM

Show HN: Andromeda Invaders: Auto Play: Press 'Enter' twice and wait 5 seconds https://ift.tt/4wFM7VZ

Show HN: Andromeda Invaders: Auto Play: Press 'Enter' twice and wait 5 seconds https://ift.tt/us7V0DY March 12, 2023 at 12:18AM

Show HN: Browse and Generate AI Memes for Free https://ift.tt/ZVjvk0a

Show HN: Browse and Generate AI Memes for Free https://meme.koll.ai March 11, 2023 at 11:12PM

Show HN: Find the most climate friendly meeting location https://ift.tt/2VEHdlX

Show HN: Find the most climate friendly meeting location Just enter the locations people will be traveling from. MLC then calculates the location, where the combined aircraft emissions are minimised. Based on data from the European Emissions Agency. https://ift.tt/Ejnlc2z March 11, 2023 at 10:37PM

Friday, March 10, 2023

Show HN: ReplGPT.jl, a ChatGPT shell mode for Julia https://ift.tt/NPOfqL3

Show HN: ReplGPT.jl, a ChatGPT shell mode for Julia https://ift.tt/7diTFOb March 11, 2023 at 08:03AM

Show HN: structured-ripgrep – Ripgrep over structured data https://ift.tt/nc4I78A

Show HN: structured-ripgrep – Ripgrep over structured data https://ift.tt/6BrjRYA March 11, 2023 at 02:49AM

Show HN: Discontent – Extension to fight garbage content on the web https://ift.tt/ANCHrR1

Show HN: Discontent – Extension to fight garbage content on the web Creator here, I made this out of mild frustration with the current state of search engine results. Let me know what you think. https://ift.tt/WtRO9w4 March 10, 2023 at 03:43PM

Thursday, March 9, 2023

Show HN: I added autopilot to the lunar lander game https://ift.tt/6buJ38I

Show HN: I added autopilot to the lunar lander game I got pretty good at (and too addicted to) the lunar lander game from a few days ago... so I decided to make an autopilot for the lander based on what I felt like was the best strategy! Now I can have perfect landings every time without lifting a finger :D Writing the autopilot code was a lot more fun than I expected! It felt a bit like programming a robot. Source code: https://ift.tt/uHeZM9s Original lander HN post: https://ift.tt/gPxySv4 https://ift.tt/l1mSGIC March 10, 2023 at 09:00AM

Show HN: Homepage.gallery – Find your web design inspiration https://ift.tt/0peiIDX

Show HN: Homepage.gallery – Find your web design inspiration https://ift.tt/9dh8OqM March 10, 2023 at 01:33AM

Show HN: Send an AI Generated Physical Letter to Congress in Seconds https://ift.tt/T5uZWHl

Show HN: Send an AI Generated Physical Letter to Congress in Seconds https://ift.tt/Dz0LJVy March 9, 2023 at 06:27PM

Show HN: A-Pass – small little password manager https://ift.tt/VjdEntU

Show HN: A-Pass – small little password manager https://ift.tt/vUq5M8I March 10, 2023 at 12:33AM

Show HN: Safe Data Changes in PostgreSQL https://ift.tt/hrwuV5U

Show HN: Safe Data Changes in PostgreSQL Hi HN, we're excited to share our open source tool with the community! We previously posted here with the tagline “real-time events for Postgres” [0]. But after feedback from early users and the community, we’ve shifted our focus to working on tooling for manual database changes. We've consistently heard teams describe challenges with the way manual data updates are handled. Seemingly every engineer we spoke with had examples of errant queries that ended up causing significant harm in production environments (data loss/service interruptions). We’ve seen a few different approaches to how changes to production databases occur today: Option 1: all engineers have production write access (highest speed, highest risk) Option 2: one or a few engineers have write access (medium speed, high risk) Option 3: engineers request temporary access to make changes (low speed, medium risk) Option 4: all updates are checked into version control and run manually or through CI/CD (low speed, low risk) Option 5: no manual updates are made - all changes must go through an internal endpoint (lowest speed, lowest risk) Our goal is to enable high speed changes with the lowest risk possible. We’re planning to do this by providing an open-source toolkit for safeguarding databases, including the following features: - Alerts (available now): Receive notifications any time a manual change occurs - Audit History (beta): View all historical manual changes with context - Query Preview (coming soon): Preview affected rows and query plan prior to running changes - Approval Flow (coming soon): Require query review before a change can be run We’re starting with alerts. Teams can receive Slack notifications anytime an INSERT, UPDATE, or DELETE is executed from a non-application database user. While this doesn’t prevent issues from occurring, it does enable an initial level of traceability and understanding who made an update, what data was changed, and when it occurred. We’d love to hear feedback from the HN community on how you’ve seen database changes handled, pain points you’ve experienced with data change processes, or generally any feedback on our thinking and approach. [0] https://ift.tt/DwFjR05 https://ift.tt/9VG76Ly March 9, 2023 at 09:21PM

Wednesday, March 8, 2023

Show HN: Delete All Your Tweets https://ift.tt/VvEOabL

Show HN: Delete All Your Tweets To use it, go to your Twitter timeline then go to "tweets" tab to delete all tweets, OR go to "replies" tab to delete replies. Paste the following code into the browser JavaScript console. DISCLAIMER! This code deletes all your Tweets - I am not responsible for you deleting all your Tweets. Make sure you set your twitter handle in the code before pasting it! // IMPORTANT IMPORTANT IMPORTANT - SET YOUR TWITTER HANDLE IN THE NEXT LINE! // IMPORTANT IMPORTANT IMPORTANT - SET YOUR TWITTER HANDLE IN THE NEXT LINE! const yourTwitterHandle = "@yourtwitterhandle"; // one every 10 seconds to avoid Twitter noticing const waitTimeSeconds = 10 const sleep = async (seconds) => new Promise(resolve => setTimeout(resolve, seconds * 1000)); const main = async () => { while (true) { await walkTweets(); await sleep(waitTimeSeconds) } } const walkTweets = async () => { let articles = document.getElementsByTagName('article'); for (article of articles) { const spanElements = article.querySelectorAll('span'); for (spanElement of spanElements) { // delete if it is a retweet if (spanElement.textContent === "You Retweeted") { article.scrollIntoView(); try { const retweetElement = article.querySelector('[data-testid="unretweet"]'); if (retweetElement) { retweetElement.click(); document.querySelector('[data-testid="unretweetConfirm"]').click(); } } catch (e) {} return } if (spanElement.textContent === yourTwitterHandle) { // in this case it might be a tweet or a reply article.scrollIntoView(); try { // try to delete a reply const tweetReplyElement = article.querySelectorAll('[aria-label="More"]')[1]; if (tweetReplyElement) { tweetReplyElement.click() Array.from(document.getElementsByTagName('*')).find(el => el.textContent.trim() === 'Delete').click() document.querySelector('[data-testid="confirmationSheetConfirm"]').click(); return } } catch (e) {} try { // try to delete a tweet const tweetElement = article.querySelector('[aria-label="More"]'); if (tweetElement) { article.scrollIntoView(); tweetElement.click() Array.from(document.getElementsByTagName('*')).find(el => el.textContent.trim() === 'Delete').click() document.querySelector('[data-testid="confirmationSheetConfirm"]').click(); return } } catch (e) {} } } } } main() March 9, 2023 at 05:33AM

Show HN: PHP-fts – Full-text search engine in pure PHP, no extensions https://ift.tt/wgSBiJP

Show HN: PHP-fts – Full-text search engine in pure PHP, no extensions https://ift.tt/WpBoNzV May 7, 2026 at 01:58AM