The best Hacker News stories from Show from the past day

Go back

Latest posts:

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

Show HN: Million 3 – Optimizing compiler for React

Show HN: Million 3 – Optimizing compiler for React

Show HN: An open source performance monitoring tool

Hey HN. We’re Jay and Vadim from Highlight.io (<a href="https://highlight.io">https://highlight.io</a>). We’re building an open source [1] monitoring platform for web applications.<p>Today we’re excited to be sharing a performance tool we’ve been working on, which helps you inspect the latency of code execution from the client to the server. As engineers at past startups, we often had to debug slow queries, poor load times, inconsistent errors, etc... While tools like Jaegar [2] helped us inspect server-side performance, we had no way to tie user events to the traces we were inspecting. In other words, although we had an idea of what API route was slow, there wasn’t much visibility into the actual bottleneck.<p>This is where our performance product comes in: we’re rethinking a tracing/performance tool that focuses on bridging the gap between the client and server.<p>What’s unique about our approach is that we lean heavily into creating traces from the frontend. For example, if you’re using our Next.js SDK, we automatically connect browser HTTP requests with server-side code execution, all from the perspective of a user. We find this much more powerful because you can understand what part of your frontend codebase causes a given trace to occur. There’s an example here [3].<p>From an instrumentation perspective, we’ve built our SDKs on-top of OTel, so you can create custom spans to expand highlight-created traces in server routes that will transparently roll up into the flame graph you see in our UI. You can also send us raw OTel traces and manually set up the client-server connection if you want. [4] Here’s an example of what a trace looks like with a database integration using our Golang GORM SDK, triggered by a frontend GraphQL query [5] [6].<p>In terms of how it's built, we continue to rely heavily on ClickHouse as our time-series storage engine. Given that traces require that we also query based on an ID for specific groups of spans (more akin to an OLTP db), we’ve leveraged the power of CH materialized views to make these operations efficient (described here [7]).<p>To try it out, you can spin up the project with our self hosted docs [8] or use our cloud offering at app.highlight.io. The entire stack runs in docker via a compose file, including an OpenTelemetry collector for data ingestion. You’ll need to point your SDK to export data to it by setting the relevant OTLP endpoint configuration (ie. environment variable OTEL_EXPORTER_OTLP_LOGS_ENDPOINT [9]).<p>Overall, we’d really appreciate feedback on what we’re building here. We’re also all ears if anyone has opinions on what they’d like to see in a product like this!<p>[1] <a href="https://github.com/highlight/highlight/blob/main/LICENSE">https://github.com/highlight/highlight/blob/main/LICENSE</a><p>[2] <a href="https://www.jaegertracing.io" rel="nofollow">https://www.jaegertracing.io</a><p>[3] <a href="https://app.highlight.io/1383/sessions/COu90Th4Qc3PVYTXbx9Xee7xbQqN?ts=5.243&network-resource-id=25">https://app.highlight.io/1383/sessions/COu90Th4Qc3PVYTXbx9Xe...</a><p>[4] <a href="https://www.highlight.io/docs/getting-started/native-opentelemetry/overview">https://www.highlight.io/docs/getting-started/native-opentel...</a><p>[5] <a href="https://static.highlight.io/assets/docs/gorm.png">https://static.highlight.io/assets/docs/gorm.png</a><p>[6] <a href="https://github.com/highlight/highlight/blob/1fc9487a676409f12fb84709603dcdf0b4440952/backend/main.go#L218-L266">https://github.com/highlight/highlight/blob/1fc9487a676409f1...</a><p>[7] <a href="https://highlight.io/blog/clickhouse-materialized-views">https://highlight.io/blog/clickhouse-materialized-views</a><p>[8] <a href="https://www.highlight.io/docs/getting-started/self-host/self-hosted-hobby-guide">https://www.highlight.io/docs/getting-started/self-host/self...</a><p>[9] <a href="https://opentelemetry.io/docs/concepts/sdk-configuration/otlp-exporter-configuration/#otel_exporter_otlp_endpoint" rel="nofollow">https://opentelemetry.io/docs/concepts/sdk-configuration/otl...</a>

Show HN: An open source performance monitoring tool

Hey HN. We’re Jay and Vadim from Highlight.io (<a href="https://highlight.io">https://highlight.io</a>). We’re building an open source [1] monitoring platform for web applications.<p>Today we’re excited to be sharing a performance tool we’ve been working on, which helps you inspect the latency of code execution from the client to the server. As engineers at past startups, we often had to debug slow queries, poor load times, inconsistent errors, etc... While tools like Jaegar [2] helped us inspect server-side performance, we had no way to tie user events to the traces we were inspecting. In other words, although we had an idea of what API route was slow, there wasn’t much visibility into the actual bottleneck.<p>This is where our performance product comes in: we’re rethinking a tracing/performance tool that focuses on bridging the gap between the client and server.<p>What’s unique about our approach is that we lean heavily into creating traces from the frontend. For example, if you’re using our Next.js SDK, we automatically connect browser HTTP requests with server-side code execution, all from the perspective of a user. We find this much more powerful because you can understand what part of your frontend codebase causes a given trace to occur. There’s an example here [3].<p>From an instrumentation perspective, we’ve built our SDKs on-top of OTel, so you can create custom spans to expand highlight-created traces in server routes that will transparently roll up into the flame graph you see in our UI. You can also send us raw OTel traces and manually set up the client-server connection if you want. [4] Here’s an example of what a trace looks like with a database integration using our Golang GORM SDK, triggered by a frontend GraphQL query [5] [6].<p>In terms of how it's built, we continue to rely heavily on ClickHouse as our time-series storage engine. Given that traces require that we also query based on an ID for specific groups of spans (more akin to an OLTP db), we’ve leveraged the power of CH materialized views to make these operations efficient (described here [7]).<p>To try it out, you can spin up the project with our self hosted docs [8] or use our cloud offering at app.highlight.io. The entire stack runs in docker via a compose file, including an OpenTelemetry collector for data ingestion. You’ll need to point your SDK to export data to it by setting the relevant OTLP endpoint configuration (ie. environment variable OTEL_EXPORTER_OTLP_LOGS_ENDPOINT [9]).<p>Overall, we’d really appreciate feedback on what we’re building here. We’re also all ears if anyone has opinions on what they’d like to see in a product like this!<p>[1] <a href="https://github.com/highlight/highlight/blob/main/LICENSE">https://github.com/highlight/highlight/blob/main/LICENSE</a><p>[2] <a href="https://www.jaegertracing.io" rel="nofollow">https://www.jaegertracing.io</a><p>[3] <a href="https://app.highlight.io/1383/sessions/COu90Th4Qc3PVYTXbx9Xee7xbQqN?ts=5.243&network-resource-id=25">https://app.highlight.io/1383/sessions/COu90Th4Qc3PVYTXbx9Xe...</a><p>[4] <a href="https://www.highlight.io/docs/getting-started/native-opentelemetry/overview">https://www.highlight.io/docs/getting-started/native-opentel...</a><p>[5] <a href="https://static.highlight.io/assets/docs/gorm.png">https://static.highlight.io/assets/docs/gorm.png</a><p>[6] <a href="https://github.com/highlight/highlight/blob/1fc9487a676409f12fb84709603dcdf0b4440952/backend/main.go#L218-L266">https://github.com/highlight/highlight/blob/1fc9487a676409f1...</a><p>[7] <a href="https://highlight.io/blog/clickhouse-materialized-views">https://highlight.io/blog/clickhouse-materialized-views</a><p>[8] <a href="https://www.highlight.io/docs/getting-started/self-host/self-hosted-hobby-guide">https://www.highlight.io/docs/getting-started/self-host/self...</a><p>[9] <a href="https://opentelemetry.io/docs/concepts/sdk-configuration/otlp-exporter-configuration/#otel_exporter_otlp_endpoint" rel="nofollow">https://opentelemetry.io/docs/concepts/sdk-configuration/otl...</a>

Show HN: An open source performance monitoring tool

Hey HN. We’re Jay and Vadim from Highlight.io (<a href="https://highlight.io">https://highlight.io</a>). We’re building an open source [1] monitoring platform for web applications.<p>Today we’re excited to be sharing a performance tool we’ve been working on, which helps you inspect the latency of code execution from the client to the server. As engineers at past startups, we often had to debug slow queries, poor load times, inconsistent errors, etc... While tools like Jaegar [2] helped us inspect server-side performance, we had no way to tie user events to the traces we were inspecting. In other words, although we had an idea of what API route was slow, there wasn’t much visibility into the actual bottleneck.<p>This is where our performance product comes in: we’re rethinking a tracing/performance tool that focuses on bridging the gap between the client and server.<p>What’s unique about our approach is that we lean heavily into creating traces from the frontend. For example, if you’re using our Next.js SDK, we automatically connect browser HTTP requests with server-side code execution, all from the perspective of a user. We find this much more powerful because you can understand what part of your frontend codebase causes a given trace to occur. There’s an example here [3].<p>From an instrumentation perspective, we’ve built our SDKs on-top of OTel, so you can create custom spans to expand highlight-created traces in server routes that will transparently roll up into the flame graph you see in our UI. You can also send us raw OTel traces and manually set up the client-server connection if you want. [4] Here’s an example of what a trace looks like with a database integration using our Golang GORM SDK, triggered by a frontend GraphQL query [5] [6].<p>In terms of how it's built, we continue to rely heavily on ClickHouse as our time-series storage engine. Given that traces require that we also query based on an ID for specific groups of spans (more akin to an OLTP db), we’ve leveraged the power of CH materialized views to make these operations efficient (described here [7]).<p>To try it out, you can spin up the project with our self hosted docs [8] or use our cloud offering at app.highlight.io. The entire stack runs in docker via a compose file, including an OpenTelemetry collector for data ingestion. You’ll need to point your SDK to export data to it by setting the relevant OTLP endpoint configuration (ie. environment variable OTEL_EXPORTER_OTLP_LOGS_ENDPOINT [9]).<p>Overall, we’d really appreciate feedback on what we’re building here. We’re also all ears if anyone has opinions on what they’d like to see in a product like this!<p>[1] <a href="https://github.com/highlight/highlight/blob/main/LICENSE">https://github.com/highlight/highlight/blob/main/LICENSE</a><p>[2] <a href="https://www.jaegertracing.io" rel="nofollow">https://www.jaegertracing.io</a><p>[3] <a href="https://app.highlight.io/1383/sessions/COu90Th4Qc3PVYTXbx9Xee7xbQqN?ts=5.243&network-resource-id=25">https://app.highlight.io/1383/sessions/COu90Th4Qc3PVYTXbx9Xe...</a><p>[4] <a href="https://www.highlight.io/docs/getting-started/native-opentelemetry/overview">https://www.highlight.io/docs/getting-started/native-opentel...</a><p>[5] <a href="https://static.highlight.io/assets/docs/gorm.png">https://static.highlight.io/assets/docs/gorm.png</a><p>[6] <a href="https://github.com/highlight/highlight/blob/1fc9487a676409f12fb84709603dcdf0b4440952/backend/main.go#L218-L266">https://github.com/highlight/highlight/blob/1fc9487a676409f1...</a><p>[7] <a href="https://highlight.io/blog/clickhouse-materialized-views">https://highlight.io/blog/clickhouse-materialized-views</a><p>[8] <a href="https://www.highlight.io/docs/getting-started/self-host/self-hosted-hobby-guide">https://www.highlight.io/docs/getting-started/self-host/self...</a><p>[9] <a href="https://opentelemetry.io/docs/concepts/sdk-configuration/otlp-exporter-configuration/#otel_exporter_otlp_endpoint" rel="nofollow">https://opentelemetry.io/docs/concepts/sdk-configuration/otl...</a>

Show HN: The classic Minesweeper on an irregular grid

I'm experimenting game mechanics that are usually seen on a typical grid, but transposed on an irregular one.<p>This is a first game based on Minesweeper.<p>The changes an irregular grid brings are that cells don't all have 8 neighbors. Some can have less, some can have more. So when you try and deduce if a tile has a mine, you have to pay closer attention at the number clues and which tiles neighbors it.<p>My intention is to make a very classic game a bit more challenging & fun.<p>I've also released a first version of Checkers/Draughts, and plan to test similar variants for Chess, Othello and Go.

Show HN: The classic Minesweeper on an irregular grid

I'm experimenting game mechanics that are usually seen on a typical grid, but transposed on an irregular one.<p>This is a first game based on Minesweeper.<p>The changes an irregular grid brings are that cells don't all have 8 neighbors. Some can have less, some can have more. So when you try and deduce if a tile has a mine, you have to pay closer attention at the number clues and which tiles neighbors it.<p>My intention is to make a very classic game a bit more challenging & fun.<p>I've also released a first version of Checkers/Draughts, and plan to test similar variants for Chess, Othello and Go.

Show HN: The classic Minesweeper on an irregular grid

I'm experimenting game mechanics that are usually seen on a typical grid, but transposed on an irregular one.<p>This is a first game based on Minesweeper.<p>The changes an irregular grid brings are that cells don't all have 8 neighbors. Some can have less, some can have more. So when you try and deduce if a tile has a mine, you have to pay closer attention at the number clues and which tiles neighbors it.<p>My intention is to make a very classic game a bit more challenging & fun.<p>I've also released a first version of Checkers/Draughts, and plan to test similar variants for Chess, Othello and Go.

Show HN: The classic Minesweeper on an irregular grid

I'm experimenting game mechanics that are usually seen on a typical grid, but transposed on an irregular one.<p>This is a first game based on Minesweeper.<p>The changes an irregular grid brings are that cells don't all have 8 neighbors. Some can have less, some can have more. So when you try and deduce if a tile has a mine, you have to pay closer attention at the number clues and which tiles neighbors it.<p>My intention is to make a very classic game a bit more challenging & fun.<p>I've also released a first version of Checkers/Draughts, and plan to test similar variants for Chess, Othello and Go.

Show HN: ML Blocks – Deploy multimodal AI workflows without code

Hey everyone,<p>ML Blocks is a node-based workflow builder to create multi-modal AI workflows without writing any code.<p>You connect blocks that call various visual models like GPT4v, Segment Anything, Dino etc. along with basic image processing blocks like resize, invert color, blur, crop, and several others.<p>The idea is to make it easier to deploy multi-step image processing workflows, without needing to spin up endless custom OpenCV cloud functions to glue together AI models. Usually, even if you're using cloud inference servers like Replicate, you still need to write your own image processing code to pre and post-process images in your pipeline. When you're trying to move fast, that's just unnecessary overhead.<p>With ML Blocks, you can build a workflow and deploy the whole thing as a single API. AFAIK, ML Blocks is the only end-to-end workflow builder built specifically for image processing.<p>If you're curious, our models run on Replicate, HuggingFace & Modal Labs cloud GPUs and we use React Flow for the node UX.

< 1 2 3 ... 384 385 386 387 388 ... 958 959 960 >