Friday, March 10, 2023

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

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/q462Aud March 10, 2023 at 03:43PM

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

Show HN: I added autopilot to the lunar lander game I got both (1) pretty good at and (2) 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: https://ift.tt/q6oCxZm Original lander HN post: https://ift.tt/BCn39Lw https://ift.tt/Zdjl2vO March 10, 2023 at 09:00AM

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

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

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

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

Show HN: Ask Chad GPT https://ift.tt/BQLkbId

Show HN: Ask Chad GPT Fun project I made over the weekend to ask AI Chad any questions you many have. Leveraged "developer mode" with the new chat api + next.js. Originally made to show my friends, but some people here may get a kick out of it. Share any good Chad answers you get! https://ift.tt/yUAl5OS March 10, 2023 at 12:28AM

Thursday, March 9, 2023

Show HN: Lofi, a Tiny Spotify Player https://ift.tt/tsU2fCi

Show HN: Lofi, a Tiny Spotify Player https://ift.tt/Qxi4rk6 March 9, 2023 at 05:54AM

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

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 = "@yourhandle"; // 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: Happy Coder – End-to-End Encrypted Mobile Client for Claude Code https://ift.tt/vt1BkI0

Show HN: Happy Coder – End-to-End Encrypted Mobile Client for Claude Code Hey all! Few weeks ago we realized AI models are now so good you d...