The best Hacker News stories from Show from the past day
Latest posts:
Show HN: Visit the front page of Hacker News on a random day
Hi HN. I was surprised that there wasn't a feature here that lets you go back in time to the front page of Hacker News on a random day...so I made one. <a href="http://randomhackernews.com" rel="nofollow">http://randomhackernews.com</a> is a simple HTML page that navigates you to the front page of HN on a random day between today and February 19, 2007 (the oldest date I could find with content).<p>I made this for myself, but figured others may find some interest in it.
Show HN: Visit the front page of Hacker News on a random day
Hi HN. I was surprised that there wasn't a feature here that lets you go back in time to the front page of Hacker News on a random day...so I made one. <a href="http://randomhackernews.com" rel="nofollow">http://randomhackernews.com</a> is a simple HTML page that navigates you to the front page of HN on a random day between today and February 19, 2007 (the oldest date I could find with content).<p>I made this for myself, but figured others may find some interest in it.
Show HN: Natural-SQL-7B, a strong text-to-SQL model
Would love thoughts!<p>Here is the HF page: <a href="https://huggingface.co/chatdb/natural-sql-7b" rel="nofollow">https://huggingface.co/chatdb/natural-sql-7b</a>
Show HN: Natural-SQL-7B, a strong text-to-SQL model
Would love thoughts!<p>Here is the HF page: <a href="https://huggingface.co/chatdb/natural-sql-7b" rel="nofollow">https://huggingface.co/chatdb/natural-sql-7b</a>
Show HN: Natural-SQL-7B, a strong text-to-SQL model
Would love thoughts!<p>Here is the HF page: <a href="https://huggingface.co/chatdb/natural-sql-7b" rel="nofollow">https://huggingface.co/chatdb/natural-sql-7b</a>
Show HN: Atopile – Design circuit boards with code
Hey HN! We are the founders of atopile. We’re building a tool to describe electronics with code. Here is a quick demo: <a href="https://youtu.be/7-Q0XVpfW3Y" rel="nofollow">https://youtu.be/7-Q0XVpfW3Y</a><p>Could you imagine the pain of building an entire software product using only assembly code? That’s about how we felt designing hardware. We don’t currently have good ways to describe what we need, reuse existing designs and compile that description down to a product.<p>We started atopile to fix this. atopile is an open-source language and toolchain to describe circuits with code. The compiler is here: <a href="https://github.com/atopile/atopile">https://github.com/atopile/atopile</a> Docs are here: <a href="https://atopile.io/getting-started/" rel="nofollow">https://atopile.io/getting-started/</a> . For a detailed deep dive designing an ESP32 module, see this video: <a href="https://youtu.be/eMWRwZOajdQ" rel="nofollow">https://youtu.be/eMWRwZOajdQ</a><p>We realized this was a problem in our previous jobs. Narayan and I (Tim) had to manually, draw and export all our electronic circuit boards. This lasted until our friend Matt, a software engineer, showed us his development workflow. All his projects were built, tested, and merged automatically via GitHub. So we asked: Can we build the same for hardware?<p>We observed that the ability to abstract electronics effectively hinged on using a language to describe the requirements, so we came up with the “ato” language. In ato, you can break down circuits into modules, components and interfaces. You can nest and connect those blocks with each other. Here is an example with an RP2040 microcontroller:<p><pre><code> import RP2040Kit from "rp2040/RP2040Kit.ato"
import LEDIndicatorBlue from "generics/leds.ato"
import LDOReg3V3 from "regulators/regulators.ato"
import USBCConn from "usb-connectors/usb-connectors.ato"
module Blinky:
micro_controller = new RP2040Kit
led_indicator = new LEDIndicatorBlue
voltage_regulator = new LDOReg3V3
usb_c_connector = new USBCConn
usb_c_connector.power ~ voltage_regulator.power_in
voltage_regulator.power_out ~ micro_controller.power
micro_controller.gpio13 ~ led_indicator.input
micro_controller.power.gnd ~ led_indicator.gnd
led_indicator.resistor.value = 100ohm +/- 10%
</code></pre>
From there, the compiler produces a netlist that describes how the circuit is connected and selects jelly-bean components for you (<a href="https://atopile.io/blog/2024/01/31/cloud-components/" rel="nofollow">https://atopile.io/blog/2024/01/31/cloud-components/</a>). Our next focus will be to add layout reuse, mathematical relations between values and define circuits by traits (similar to Rusts’).<p>At the moment, atopile is intended to design all types of printed circuit boards (PCB) with low to medium complexity. The circuit complexity that the compiler can handle will steadily increase until it becomes suited for production usage. We often get asked if the compiler is meant for chip design rather than PCBs, but that is not the case. The language is exclusive to PCBs. At least for now..!<p>A big part of why the software community is so prolific is thanks to open source and open core technology. The ability to share software packages with each other and efficiently chain tools together has made the software world an awesome place for developers. As hardware engineers, we would love our field to benefit from this as well. That’s why we’ve made atopile’s core open source (Apache 2.0). We plan to generate revenue by selling entreprise targeted features, similar to GitLab.<p>We would love to have your thoughts on the compiler! What’s your story in electronics? What would you want us to build?
Show HN: Atopile – Design circuit boards with code
Hey HN! We are the founders of atopile. We’re building a tool to describe electronics with code. Here is a quick demo: <a href="https://youtu.be/7-Q0XVpfW3Y" rel="nofollow">https://youtu.be/7-Q0XVpfW3Y</a><p>Could you imagine the pain of building an entire software product using only assembly code? That’s about how we felt designing hardware. We don’t currently have good ways to describe what we need, reuse existing designs and compile that description down to a product.<p>We started atopile to fix this. atopile is an open-source language and toolchain to describe circuits with code. The compiler is here: <a href="https://github.com/atopile/atopile">https://github.com/atopile/atopile</a> Docs are here: <a href="https://atopile.io/getting-started/" rel="nofollow">https://atopile.io/getting-started/</a> . For a detailed deep dive designing an ESP32 module, see this video: <a href="https://youtu.be/eMWRwZOajdQ" rel="nofollow">https://youtu.be/eMWRwZOajdQ</a><p>We realized this was a problem in our previous jobs. Narayan and I (Tim) had to manually, draw and export all our electronic circuit boards. This lasted until our friend Matt, a software engineer, showed us his development workflow. All his projects were built, tested, and merged automatically via GitHub. So we asked: Can we build the same for hardware?<p>We observed that the ability to abstract electronics effectively hinged on using a language to describe the requirements, so we came up with the “ato” language. In ato, you can break down circuits into modules, components and interfaces. You can nest and connect those blocks with each other. Here is an example with an RP2040 microcontroller:<p><pre><code> import RP2040Kit from "rp2040/RP2040Kit.ato"
import LEDIndicatorBlue from "generics/leds.ato"
import LDOReg3V3 from "regulators/regulators.ato"
import USBCConn from "usb-connectors/usb-connectors.ato"
module Blinky:
micro_controller = new RP2040Kit
led_indicator = new LEDIndicatorBlue
voltage_regulator = new LDOReg3V3
usb_c_connector = new USBCConn
usb_c_connector.power ~ voltage_regulator.power_in
voltage_regulator.power_out ~ micro_controller.power
micro_controller.gpio13 ~ led_indicator.input
micro_controller.power.gnd ~ led_indicator.gnd
led_indicator.resistor.value = 100ohm +/- 10%
</code></pre>
From there, the compiler produces a netlist that describes how the circuit is connected and selects jelly-bean components for you (<a href="https://atopile.io/blog/2024/01/31/cloud-components/" rel="nofollow">https://atopile.io/blog/2024/01/31/cloud-components/</a>). Our next focus will be to add layout reuse, mathematical relations between values and define circuits by traits (similar to Rusts’).<p>At the moment, atopile is intended to design all types of printed circuit boards (PCB) with low to medium complexity. The circuit complexity that the compiler can handle will steadily increase until it becomes suited for production usage. We often get asked if the compiler is meant for chip design rather than PCBs, but that is not the case. The language is exclusive to PCBs. At least for now..!<p>A big part of why the software community is so prolific is thanks to open source and open core technology. The ability to share software packages with each other and efficiently chain tools together has made the software world an awesome place for developers. As hardware engineers, we would love our field to benefit from this as well. That’s why we’ve made atopile’s core open source (Apache 2.0). We plan to generate revenue by selling entreprise targeted features, similar to GitLab.<p>We would love to have your thoughts on the compiler! What’s your story in electronics? What would you want us to build?
Show HN: HN stories categorized by topics of interest
Hi HN,<p>TL;DR: I made a website that takes all the top stories on HN and categorizes them into one of ten topics of interest using LangChain and GPT-4.<p>I've always liked the idea of getting a personal mix of news tailored to my interests. Hacker News is pretty close to that ideal, which is reflected in the time I spend on here every day.<p>It's a great mix, but playing with LangChain, I got the idea for a weekend project. Roughly speaking most posts on HN fall into one of these categories:<p><pre><code> * Programming, Software & Computer Science
* AI, Data Science & Analytics
* Business & Entrepreneurship
* Science & Research
* Cybersecurity & Digital Safety
* Design, User Experience & Creativity
* Finance & Economics in Tech
* Work Culture & Career Development
* Media, Content & Communication
* General & Diverse Interests
</code></pre>
Using langchain with GPT-4 Turbo (JSON mode), I sort every top submission into one of the above. Costs for using the API are currently at 15$ a month, with few optimizations.<p>For ease of use I also added the possibility to consume the news topics via a responsive webpage, RSS and email digest (daily,weekly,monthly).
Show HN: USD 0.99/TB/month cloud storage
Show HN: Twitter API Wrapper for Python – No API Keys Needed
I have created a Twitter API wrapper that works with just a username, email address, and password — no API key required. With this library, you can post tweets, search, and check trending topics for free. In addition, it supports both asynchronous and synchronous use, so it can be used in a variety of situations.<p>Please send me your comments and suggestions.
Additionally, if you're willing, kindly give me a star on GitHub.
Show HN: Simple demo of a cold boot attack using a Raspberry Pi
Show HN: Simple demo of a cold boot attack using a Raspberry Pi
Show HN: Simple demo of a cold boot attack using a Raspberry Pi
Show HN: Visualize the entropy of a codebase with a 3D force-directed graph
Hi HN! I'm Gabriel, the author of dep-tree (<a href="https://github.com/gabotechs/dep-tree">https://github.com/gabotechs/dep-tree</a>), and I wanted to show off this tool and explain why it's being really useful at my current org for dealing with code complexity.<p>I work at a startup where business evolves really fast, and requirements change frequently, so it's easy to end up with big piles of code stacked together without a clear structure, specially with tight deadlines. I made dep-tree [1] to help us maintain a clean code architecture and a logical separation of concerns between parts of the application, which is accomplished by: (1) Visualizing the source files and the dependencies between them using a 3D force-directed graph; and (2) Enforcing some dependency rules that allow/forbid dependencies between different parts of the application.<p>The 3D force-directed graph visualization works like this: - It takes an entrypoint to the codebase, usually the main executable file or a library's entrypoint (index.js, main.py, etc...) - It recursively crawls import statements gathering other source files that are being depended upon - It creates a directed graph out of that, where nodes are source files and edges are the dependencies between them - It renders this graph in the browser using a 3D force-directed layout, where attraction/repulsion forces will be applied to each node depending on which other nodes it is connected to.<p>With this, properly decoupled codebases will tend to form clusters of nodes, representing logical parts that live together and are clearly separated from other parts, and tightly coupled codebases will be rendered without clear clustering or without a clear structural pattern in the node placement.<p>Some examples of this visualization for well-known codebases are:<p>TypeScript: <a href="https://dep-tree-explorer.vercel.app/api?repo=https://github.com/microsoft/TypeScript&entrypoint=src/typescript/typescript.ts" rel="nofollow">https://dep-tree-explorer.vercel.app/api?repo=https://...</a><p>React: <a href="https://dep-tree-explorer.vercel.app/api?repo=https://github.com/facebook/react&entrypoint=packages/react-dom/index.js" rel="nofollow">https://dep-tree-explorer.vercel.app/api?repo=https://...</a><p>Svelte: <a href="https://dep-tree-explorer.vercel.app/api?repo=https://github.com/sveltejs/svelte&entrypoint=packages/svelte/src/compiler/index.js" rel="nofollow">https://dep-tree-explorer.vercel.app/api?repo=https://...</a><p>Langchain: <a href="https://dep-tree-explorer.vercel.app/api?repo=https://github.com/langchain-ai/langchain&entrypoint=libs/langchain/langchain/__init__.py" rel="nofollow">https://dep-tree-explorer.vercel.app/api?repo=https://...</a><p>Numpy: <a href="https://dep-tree-explorer.vercel.app/api?repo=https://github.com/numpy/numpy&entrypoint=numpy/__init__.py" rel="nofollow">https://dep-tree-explorer.vercel.app/api?repo=https://...</a><p>Deno: <a href="https://dep-tree-explorer.vercel.app/api?repo=https://github.com/denoland/deno&entrypoint=cli/main.rs" rel="nofollow">https://dep-tree-explorer.vercel.app/api?repo=https://...</a><p>The visualizations are cool, but it's just the first step. The dependency rules checking capabilities is what makes the tool actually useful in a daily basis and what keeps us using it every day in our CI pipelines for enforcing decoupling. More info about this feature is available in the repo: <a href="https://github.com/gabotechs/dep-tree?tab=readme-ov-file#check">https://github.com/gabotechs/dep-tree?tab=readme-ov-file#che...</a>. The code is fully open-source.
Show HN: Visualize the entropy of a codebase with a 3D force-directed graph
Hi HN! I'm Gabriel, the author of dep-tree (<a href="https://github.com/gabotechs/dep-tree">https://github.com/gabotechs/dep-tree</a>), and I wanted to show off this tool and explain why it's being really useful at my current org for dealing with code complexity.<p>I work at a startup where business evolves really fast, and requirements change frequently, so it's easy to end up with big piles of code stacked together without a clear structure, specially with tight deadlines. I made dep-tree [1] to help us maintain a clean code architecture and a logical separation of concerns between parts of the application, which is accomplished by: (1) Visualizing the source files and the dependencies between them using a 3D force-directed graph; and (2) Enforcing some dependency rules that allow/forbid dependencies between different parts of the application.<p>The 3D force-directed graph visualization works like this: - It takes an entrypoint to the codebase, usually the main executable file or a library's entrypoint (index.js, main.py, etc...) - It recursively crawls import statements gathering other source files that are being depended upon - It creates a directed graph out of that, where nodes are source files and edges are the dependencies between them - It renders this graph in the browser using a 3D force-directed layout, where attraction/repulsion forces will be applied to each node depending on which other nodes it is connected to.<p>With this, properly decoupled codebases will tend to form clusters of nodes, representing logical parts that live together and are clearly separated from other parts, and tightly coupled codebases will be rendered without clear clustering or without a clear structural pattern in the node placement.<p>Some examples of this visualization for well-known codebases are:<p>TypeScript: <a href="https://dep-tree-explorer.vercel.app/api?repo=https://github.com/microsoft/TypeScript&entrypoint=src/typescript/typescript.ts" rel="nofollow">https://dep-tree-explorer.vercel.app/api?repo=https://...</a><p>React: <a href="https://dep-tree-explorer.vercel.app/api?repo=https://github.com/facebook/react&entrypoint=packages/react-dom/index.js" rel="nofollow">https://dep-tree-explorer.vercel.app/api?repo=https://...</a><p>Svelte: <a href="https://dep-tree-explorer.vercel.app/api?repo=https://github.com/sveltejs/svelte&entrypoint=packages/svelte/src/compiler/index.js" rel="nofollow">https://dep-tree-explorer.vercel.app/api?repo=https://...</a><p>Langchain: <a href="https://dep-tree-explorer.vercel.app/api?repo=https://github.com/langchain-ai/langchain&entrypoint=libs/langchain/langchain/__init__.py" rel="nofollow">https://dep-tree-explorer.vercel.app/api?repo=https://...</a><p>Numpy: <a href="https://dep-tree-explorer.vercel.app/api?repo=https://github.com/numpy/numpy&entrypoint=numpy/__init__.py" rel="nofollow">https://dep-tree-explorer.vercel.app/api?repo=https://...</a><p>Deno: <a href="https://dep-tree-explorer.vercel.app/api?repo=https://github.com/denoland/deno&entrypoint=cli/main.rs" rel="nofollow">https://dep-tree-explorer.vercel.app/api?repo=https://...</a><p>The visualizations are cool, but it's just the first step. The dependency rules checking capabilities is what makes the tool actually useful in a daily basis and what keeps us using it every day in our CI pipelines for enforcing decoupling. More info about this feature is available in the repo: <a href="https://github.com/gabotechs/dep-tree?tab=readme-ov-file#check">https://github.com/gabotechs/dep-tree?tab=readme-ov-file#che...</a>. The code is fully open-source.
Show HN: Visualize the entropy of a codebase with a 3D force-directed graph
Hi HN! I'm Gabriel, the author of dep-tree (<a href="https://github.com/gabotechs/dep-tree">https://github.com/gabotechs/dep-tree</a>), and I wanted to show off this tool and explain why it's being really useful at my current org for dealing with code complexity.<p>I work at a startup where business evolves really fast, and requirements change frequently, so it's easy to end up with big piles of code stacked together without a clear structure, specially with tight deadlines. I made dep-tree [1] to help us maintain a clean code architecture and a logical separation of concerns between parts of the application, which is accomplished by: (1) Visualizing the source files and the dependencies between them using a 3D force-directed graph; and (2) Enforcing some dependency rules that allow/forbid dependencies between different parts of the application.<p>The 3D force-directed graph visualization works like this: - It takes an entrypoint to the codebase, usually the main executable file or a library's entrypoint (index.js, main.py, etc...) - It recursively crawls import statements gathering other source files that are being depended upon - It creates a directed graph out of that, where nodes are source files and edges are the dependencies between them - It renders this graph in the browser using a 3D force-directed layout, where attraction/repulsion forces will be applied to each node depending on which other nodes it is connected to.<p>With this, properly decoupled codebases will tend to form clusters of nodes, representing logical parts that live together and are clearly separated from other parts, and tightly coupled codebases will be rendered without clear clustering or without a clear structural pattern in the node placement.<p>Some examples of this visualization for well-known codebases are:<p>TypeScript: <a href="https://dep-tree-explorer.vercel.app/api?repo=https://github.com/microsoft/TypeScript&entrypoint=src/typescript/typescript.ts" rel="nofollow">https://dep-tree-explorer.vercel.app/api?repo=https://...</a><p>React: <a href="https://dep-tree-explorer.vercel.app/api?repo=https://github.com/facebook/react&entrypoint=packages/react-dom/index.js" rel="nofollow">https://dep-tree-explorer.vercel.app/api?repo=https://...</a><p>Svelte: <a href="https://dep-tree-explorer.vercel.app/api?repo=https://github.com/sveltejs/svelte&entrypoint=packages/svelte/src/compiler/index.js" rel="nofollow">https://dep-tree-explorer.vercel.app/api?repo=https://...</a><p>Langchain: <a href="https://dep-tree-explorer.vercel.app/api?repo=https://github.com/langchain-ai/langchain&entrypoint=libs/langchain/langchain/__init__.py" rel="nofollow">https://dep-tree-explorer.vercel.app/api?repo=https://...</a><p>Numpy: <a href="https://dep-tree-explorer.vercel.app/api?repo=https://github.com/numpy/numpy&entrypoint=numpy/__init__.py" rel="nofollow">https://dep-tree-explorer.vercel.app/api?repo=https://...</a><p>Deno: <a href="https://dep-tree-explorer.vercel.app/api?repo=https://github.com/denoland/deno&entrypoint=cli/main.rs" rel="nofollow">https://dep-tree-explorer.vercel.app/api?repo=https://...</a><p>The visualizations are cool, but it's just the first step. The dependency rules checking capabilities is what makes the tool actually useful in a daily basis and what keeps us using it every day in our CI pipelines for enforcing decoupling. More info about this feature is available in the repo: <a href="https://github.com/gabotechs/dep-tree?tab=readme-ov-file#check">https://github.com/gabotechs/dep-tree?tab=readme-ov-file#che...</a>. The code is fully open-source.
Show HN: Attabit – AI powered news
Hi HN! I built a GPT powered tool that searches for today's top news, creates article summaries with GPT4, and will even read those summaries aloud while scrolling down the page for you (just click 'Play Audio').<p>I instruct GPT4 to be as neutral (politically) as possible and to not cover tragedies with no historical significance.<p>What you get is a news site that heavily respects your time.<p>I've had a lot of fun building this for friends and family. I can imagine a future where we all have a personal version of this, searching for news we care about and eventually going beyond just aggregation and moving on to custom reporting.<p>Check it out and let me know your thoughts? Thanks.
Show HN: Attabit – AI powered news
Hi HN! I built a GPT powered tool that searches for today's top news, creates article summaries with GPT4, and will even read those summaries aloud while scrolling down the page for you (just click 'Play Audio').<p>I instruct GPT4 to be as neutral (politically) as possible and to not cover tragedies with no historical significance.<p>What you get is a news site that heavily respects your time.<p>I've had a lot of fun building this for friends and family. I can imagine a future where we all have a personal version of this, searching for news we care about and eventually going beyond just aggregation and moving on to custom reporting.<p>Check it out and let me know your thoughts? Thanks.
Show HN: Attabit – AI powered news
Hi HN! I built a GPT powered tool that searches for today's top news, creates article summaries with GPT4, and will even read those summaries aloud while scrolling down the page for you (just click 'Play Audio').<p>I instruct GPT4 to be as neutral (politically) as possible and to not cover tragedies with no historical significance.<p>What you get is a news site that heavily respects your time.<p>I've had a lot of fun building this for friends and family. I can imagine a future where we all have a personal version of this, searching for news we care about and eventually going beyond just aggregation and moving on to custom reporting.<p>Check it out and let me know your thoughts? Thanks.
Show HN: Million 3 – Optimizing compiler for React