The best Hacker News stories from Show from the past day
Latest posts:
Show HN: I made a programmable computer from NAND gates
I am proud to present my solo hobby project NAND. This year-long undertaking follows the completed Nand to Tetris course, but ported to the web with its own runtime, user interface, and IDE. Using the "Load example program" selector, you can try out some programs I wrote on NAND's emulated hardware such as 2048, a genetic algorithm, and a manual stack overflow to corrupt the screen.<p>Check out NAND at <a href="https://nand.arhan.sh" rel="nofollow">https://nand.arhan.sh</a><p>Additionally, I've authored an extensive writeup about the project. Read about it on the GitHub repository's readme.
Show HN: I made a programmable computer from NAND gates
I am proud to present my solo hobby project NAND. This year-long undertaking follows the completed Nand to Tetris course, but ported to the web with its own runtime, user interface, and IDE. Using the "Load example program" selector, you can try out some programs I wrote on NAND's emulated hardware such as 2048, a genetic algorithm, and a manual stack overflow to corrupt the screen.<p>Check out NAND at <a href="https://nand.arhan.sh" rel="nofollow">https://nand.arhan.sh</a><p>Additionally, I've authored an extensive writeup about the project. Read about it on the GitHub repository's readme.
Show HN: Use LLMs to Interact with APIs
Recently featured in a LangChain blog <a href="https://blog.langchain.dev/empowering-development-with-flowtestai/" rel="nofollow">https://blog.langchain.dev/empowering-development-with-flowt...</a> , use LLMs to construct an API first runnable workflow with an IDE experience.
Show HN: Metashade – a Pythonic GPU shading/compute EDSL
Superficially, it may look similar to Nvidia's Warp or OpenAI's Triton, but instead of transpiling a subset of Python to the target language, it implements dynamic codegen in pure Python.<p>These slides discuss the existing GPU programming solutions and make a case for Metashade's approach: <a href="https://docs.google.com/presentation/d/e/2PACX-1vQtYIwXIkMnVC6TzWTKPAtZIA6_xeUCQc8Mvyziu0qy7HDUduz_onsJ5TabxTuuVQ/pub?start=false&loop=false&delayms=3000" rel="nofollow">https://docs.google.com/presentation/d/e/2PACX-1vQtYIwXIkMnV...</a>
Show HN: Hashquery, a Python library for defining reusable analysis
Hi all, we recently open sourced the first version of Hashquery, a Python library which lets you model analytics, DRY up common logic, and execute it against a database or warehouse.<p>We were originally rendering SQL directly for all our queries, but that spiraled out of control with more complex analysis; the SQL needed to be changed sporadically for each new database dialect (BigQuery, Redshift, Aethena, Postgres, etc etc) and the SQL fragments were very challenging to reuse (and so fragments were copy-pasted all over).<p>~~~<p>Advantages we think it has over writing SQL by hand:<p>- Queries are fully compossible, so any analysis can be chained into further analysis without refactoring.<p>- All analysis executes within the data warehouse itself, making them super fast for big data.<p>- It's just Python, so you can extend or parameterize query logic with a simple def function.<p>- You can run it anywhere, like inside of unit tests, ETL nodes, or Jupyter notebooks.<p>- Developer experience is pretty good since editors already know how to autocomplete Python. ChatGPT knows Python already too :)<p>- The library handles normalizing between database dialects. Write once and use in any database.<p>- Hashquery content is fully serializable, which makes it a good fit for exposing a flexible API for consumers to efficiently query datamarts or internal analytics. We use it as the endpoint for headless BI, as opposed to having to define and teach a DSL or GraphQL specification.<p>~~~<p>We've built native funnel analysis on top of Hashquery and have been thrilled with it so far, and we thought others might want to use it too. It's pretty early days so we're still trying to explain it, and the docs aren't perfectly clear, but the examples on the dev site are editable and you can download the pip package to play around with it!
Show HN: Open-source alternative to HashiCorp/IBM Vault
Show HN: Open-source alternative to HashiCorp/IBM Vault
Show HN: Open-source alternative to HashiCorp/IBM Vault
Show HN: Open-source alternative to HashiCorp/IBM Vault
Show HN: Podlite - a lightweight markup language for organizing knowledge
Unbound by any specific domain, programming language, or concept, Podlite stands out as a universal markup language<p>In addition, the support for Markdown markup as a standard block adds convenience and allows for the use of familiar syntax for text formatting<p>It's perfect for documentation, educational materials, blogging, and much more for organizing knowledge.<p>One of the key features of Podlite is its extensibility. This allows for defining unique and domain-specific blocks and expanding the language's functionality according to the requirements of your project.<p>The Podlite specification is published under the Artistic license 2.0.<p>Site: <a href="https://podlite.org" rel="nofollow">https://podlite.org</a>
Thank You!
Show HN: Podlite - a lightweight markup language for organizing knowledge
Unbound by any specific domain, programming language, or concept, Podlite stands out as a universal markup language<p>In addition, the support for Markdown markup as a standard block adds convenience and allows for the use of familiar syntax for text formatting<p>It's perfect for documentation, educational materials, blogging, and much more for organizing knowledge.<p>One of the key features of Podlite is its extensibility. This allows for defining unique and domain-specific blocks and expanding the language's functionality according to the requirements of your project.<p>The Podlite specification is published under the Artistic license 2.0.<p>Site: <a href="https://podlite.org" rel="nofollow">https://podlite.org</a>
Thank You!
Show HN: Podlite - a lightweight markup language for organizing knowledge
Unbound by any specific domain, programming language, or concept, Podlite stands out as a universal markup language<p>In addition, the support for Markdown markup as a standard block adds convenience and allows for the use of familiar syntax for text formatting<p>It's perfect for documentation, educational materials, blogging, and much more for organizing knowledge.<p>One of the key features of Podlite is its extensibility. This allows for defining unique and domain-specific blocks and expanding the language's functionality according to the requirements of your project.<p>The Podlite specification is published under the Artistic license 2.0.<p>Site: <a href="https://podlite.org" rel="nofollow">https://podlite.org</a>
Thank You!
Show HN: LangCSS – An AI Assistant for Tailwind
Hi All<p>This is my personal project that is an IDE and AI assistant for creating tailwind components and pages. You can chat to create designs, then make small edits yourself, and continue chatting to refine them. I am always working to improve the UX.<p>I have a time limited demo page here: <a href="https://langcss.com/demo" rel="nofollow">https://langcss.com/demo</a><p>Please let me know what you think! Feedback is welcome.<p>Tech wise, this just uses NextJS (Hosted on Docker) and Azure Open AI.
Show HN: LangCSS – An AI Assistant for Tailwind
Hi All<p>This is my personal project that is an IDE and AI assistant for creating tailwind components and pages. You can chat to create designs, then make small edits yourself, and continue chatting to refine them. I am always working to improve the UX.<p>I have a time limited demo page here: <a href="https://langcss.com/demo" rel="nofollow">https://langcss.com/demo</a><p>Please let me know what you think! Feedback is welcome.<p>Tech wise, this just uses NextJS (Hosted on Docker) and Azure Open AI.
Show HN: Getada: rustup-like installer for Ada's toolchain/package manager
One of my goals with Ada is to have a one-liner copy-paste terminal command for people to install Ada so they can get to coding in just a few minutes. After extensive testing I feel like it's ready for general release[1].<p>Getada was inspired by Rustup[2] and aside from the init script is written entirely in Ada.<p>It's completely open source and you can check out the readme and code on github[3]. It currently supports all non-windows platforms that Alire has an official release for, which at present is Linux (glibc) and MacOS. If you try running it on an unsupported platform, it tries to point you in the right direction. For example, you can install Alire on windows with an already-existing installer.<p>It downloads the latest version of Alire[4] (Ada's toolchain and package manager, similar to Cargo) for your platform as a zip file to a temporary directory and then extracts it to a binary directory. By default the temporary directory (configure with "-t /directory" or "--tmp=/directory") defaulted to $TMPDIR or /tmp. The config directory is ~/.getada (change via "-c /directory", "--cfg=/directory", or $GETADA_CFG), and the alr and getada binaries go in ~/.getada/bin (configure with ""-b /directory", "--bin=/directory", or $GETADA_BIN). It also tries to add the file to your path by dropping a "env.sh" file into ~/.profile/ (disable with -p or --no-path).<p>If you don't allow executables in temporary or home directories, you can change all of these via environmental variables or passing parameters.<p>You can remove it all by running: getada --uninstall<p>Now you can create a brand new Ada project with: alr init --bin my_project (How to use Alire[5] for more details)<p>Since one of the biggest complaints about Ada is getting the toolchain [6], I hope this can solve a lot of problems for newcomers to the language.<p>[1] <a href="https://www.getada.dev" rel="nofollow">https://www.getada.dev</a><p>[2] <a href="https://rustup.rs/" rel="nofollow">https://rustup.rs/</a><p>[3] <a href="https://github.com/aj-ianozi/getada">https://github.com/aj-ianozi/getada</a><p>[4] <a href="https://alire.ada.dev/" rel="nofollow">https://alire.ada.dev/</a><p>[5] <a href="https://www.getada.dev/how-to-use-alire.html" rel="nofollow">https://www.getada.dev/how-to-use-alire.html</a><p>[6] <a href="https://programming.dev/comment/9438211" rel="nofollow">https://programming.dev/comment/9438211</a>
Show HN: Getada: rustup-like installer for Ada's toolchain/package manager
One of my goals with Ada is to have a one-liner copy-paste terminal command for people to install Ada so they can get to coding in just a few minutes. After extensive testing I feel like it's ready for general release[1].<p>Getada was inspired by Rustup[2] and aside from the init script is written entirely in Ada.<p>It's completely open source and you can check out the readme and code on github[3]. It currently supports all non-windows platforms that Alire has an official release for, which at present is Linux (glibc) and MacOS. If you try running it on an unsupported platform, it tries to point you in the right direction. For example, you can install Alire on windows with an already-existing installer.<p>It downloads the latest version of Alire[4] (Ada's toolchain and package manager, similar to Cargo) for your platform as a zip file to a temporary directory and then extracts it to a binary directory. By default the temporary directory (configure with "-t /directory" or "--tmp=/directory") defaulted to $TMPDIR or /tmp. The config directory is ~/.getada (change via "-c /directory", "--cfg=/directory", or $GETADA_CFG), and the alr and getada binaries go in ~/.getada/bin (configure with ""-b /directory", "--bin=/directory", or $GETADA_BIN). It also tries to add the file to your path by dropping a "env.sh" file into ~/.profile/ (disable with -p or --no-path).<p>If you don't allow executables in temporary or home directories, you can change all of these via environmental variables or passing parameters.<p>You can remove it all by running: getada --uninstall<p>Now you can create a brand new Ada project with: alr init --bin my_project (How to use Alire[5] for more details)<p>Since one of the biggest complaints about Ada is getting the toolchain [6], I hope this can solve a lot of problems for newcomers to the language.<p>[1] <a href="https://www.getada.dev" rel="nofollow">https://www.getada.dev</a><p>[2] <a href="https://rustup.rs/" rel="nofollow">https://rustup.rs/</a><p>[3] <a href="https://github.com/aj-ianozi/getada">https://github.com/aj-ianozi/getada</a><p>[4] <a href="https://alire.ada.dev/" rel="nofollow">https://alire.ada.dev/</a><p>[5] <a href="https://www.getada.dev/how-to-use-alire.html" rel="nofollow">https://www.getada.dev/how-to-use-alire.html</a><p>[6] <a href="https://programming.dev/comment/9438211" rel="nofollow">https://programming.dev/comment/9438211</a>
Show HN: Getada: rustup-like installer for Ada's toolchain/package manager
One of my goals with Ada is to have a one-liner copy-paste terminal command for people to install Ada so they can get to coding in just a few minutes. After extensive testing I feel like it's ready for general release[1].<p>Getada was inspired by Rustup[2] and aside from the init script is written entirely in Ada.<p>It's completely open source and you can check out the readme and code on github[3]. It currently supports all non-windows platforms that Alire has an official release for, which at present is Linux (glibc) and MacOS. If you try running it on an unsupported platform, it tries to point you in the right direction. For example, you can install Alire on windows with an already-existing installer.<p>It downloads the latest version of Alire[4] (Ada's toolchain and package manager, similar to Cargo) for your platform as a zip file to a temporary directory and then extracts it to a binary directory. By default the temporary directory (configure with "-t /directory" or "--tmp=/directory") defaulted to $TMPDIR or /tmp. The config directory is ~/.getada (change via "-c /directory", "--cfg=/directory", or $GETADA_CFG), and the alr and getada binaries go in ~/.getada/bin (configure with ""-b /directory", "--bin=/directory", or $GETADA_BIN). It also tries to add the file to your path by dropping a "env.sh" file into ~/.profile/ (disable with -p or --no-path).<p>If you don't allow executables in temporary or home directories, you can change all of these via environmental variables or passing parameters.<p>You can remove it all by running: getada --uninstall<p>Now you can create a brand new Ada project with: alr init --bin my_project (How to use Alire[5] for more details)<p>Since one of the biggest complaints about Ada is getting the toolchain [6], I hope this can solve a lot of problems for newcomers to the language.<p>[1] <a href="https://www.getada.dev" rel="nofollow">https://www.getada.dev</a><p>[2] <a href="https://rustup.rs/" rel="nofollow">https://rustup.rs/</a><p>[3] <a href="https://github.com/aj-ianozi/getada">https://github.com/aj-ianozi/getada</a><p>[4] <a href="https://alire.ada.dev/" rel="nofollow">https://alire.ada.dev/</a><p>[5] <a href="https://www.getada.dev/how-to-use-alire.html" rel="nofollow">https://www.getada.dev/how-to-use-alire.html</a><p>[6] <a href="https://programming.dev/comment/9438211" rel="nofollow">https://programming.dev/comment/9438211</a>
Show HN: Balancing game for the mobile browser with increasing difficulty
I made this 10 level Game. Excited for people to try it. :) Stay Balanced :)
Show HN: Balancing game for the mobile browser with increasing difficulty
I made this 10 level Game. Excited for people to try it. :) Stay Balanced :)
Show HN: Balancing game for the mobile browser with increasing difficulty
I made this 10 level Game. Excited for people to try it. :) Stay Balanced :)