The best Hacker News stories from Show from the past day
Latest posts:
Show HN: Conway's Game of Life, but with a gallery of other peoples patterns
This is my spin on Conway's Game of Life.
I have added the ability to create an account, save grids that you have discovered, and browse the gallery of grids saved by other people and replay them.<p>This project has served as a sandbox for me to practice various aspects of developing a comprehensive web application from scratch. This was my first time developing a full scale web app with [almost] all the features you would expect. I know it is nowhere near perfect in its current state, but I feel it has reached a point of diminishing returns, and therefore my time is better spent focussing on other projects with more potential. I may continue to develop this project further in the future just for fun.
Show HN: Conway's Game of Life, but with a gallery of other peoples patterns
This is my spin on Conway's Game of Life.
I have added the ability to create an account, save grids that you have discovered, and browse the gallery of grids saved by other people and replay them.<p>This project has served as a sandbox for me to practice various aspects of developing a comprehensive web application from scratch. This was my first time developing a full scale web app with [almost] all the features you would expect. I know it is nowhere near perfect in its current state, but I feel it has reached a point of diminishing returns, and therefore my time is better spent focussing on other projects with more potential. I may continue to develop this project further in the future just for fun.
Show HN: Conway's Game of Life, but with a gallery of other peoples patterns
This is my spin on Conway's Game of Life.
I have added the ability to create an account, save grids that you have discovered, and browse the gallery of grids saved by other people and replay them.<p>This project has served as a sandbox for me to practice various aspects of developing a comprehensive web application from scratch. This was my first time developing a full scale web app with [almost] all the features you would expect. I know it is nowhere near perfect in its current state, but I feel it has reached a point of diminishing returns, and therefore my time is better spent focussing on other projects with more potential. I may continue to develop this project further in the future just for fun.
Show HN: Conway's Game of Life, but with a gallery of other peoples patterns
This is my spin on Conway's Game of Life.
I have added the ability to create an account, save grids that you have discovered, and browse the gallery of grids saved by other people and replay them.<p>This project has served as a sandbox for me to practice various aspects of developing a comprehensive web application from scratch. This was my first time developing a full scale web app with [almost] all the features you would expect. I know it is nowhere near perfect in its current state, but I feel it has reached a point of diminishing returns, and therefore my time is better spent focussing on other projects with more potential. I may continue to develop this project further in the future just for fun.
Show HN: I made an extension to keep Twitter from losing my scroll position
Show HN: I made an extension to keep Twitter from losing my scroll position
Show HN: RemoteStorage – sync localStorage across devices and browsers
Hey HN! Wanted to share a new library and server I've recently been working on called remoteStorage.<p>When building frontends with Javascript, the native localStorage API is super useful for keeping track of state between sessions in the same browser, but it's not as good a solution when your data needs to be shared across multiple devices or browsers.<p>For instance, let's say you want to show a welcome modal to all new users that sign up for your product. If you use localStorage to track if a user has already seen this modal, your users will end up getting the experience repeatedly every time they switch devices or browsers, or whenever Chrome decides to nuke your data.<p>I built remoteStorage to help fix that. Using the same API as localStorage, remoteStorage allows you to easily read and write data on the fly while maintaining state across browsers and devices in order to provide a better user experience.<p>The project is built as a monorepo in Typescript and contains a JS library that works across any Javascript stack (including Node.js and React Native) and is lightweight (~1 kb minified). The server is built with Nest.js with a disk-persisted Redis Database. It can be deployed in a few minutes using Docker.<p>One of the biggest challenges when building this was coming up with a secure scheme for handling authentication while still keeping the API dead simple for frontend devs to use. While the project is intended to store non-sensitive data like impression events/preferences, I still wanted to make sure data couldn’t easily leak or be tampered with.<p>One solution has been to generate a unique secret UUID per user on your own backend to identify the user. Alternatively, you could create a simple wrapper/proxy API around remoteStorage that uses your own authentication method to verify the user's identity before allowing them to access the data (this is super simple to build with React Server Components). Then, you could pick a secure and secret Instance ID that is not publicly available to ensure that only your application can access the data.<p>Has anyone felt the same pain points with localStorage before? Is this solution useful? Let me know what you think or ideas for how I can improve it :)
Show HN: RemoteStorage – sync localStorage across devices and browsers
Hey HN! Wanted to share a new library and server I've recently been working on called remoteStorage.<p>When building frontends with Javascript, the native localStorage API is super useful for keeping track of state between sessions in the same browser, but it's not as good a solution when your data needs to be shared across multiple devices or browsers.<p>For instance, let's say you want to show a welcome modal to all new users that sign up for your product. If you use localStorage to track if a user has already seen this modal, your users will end up getting the experience repeatedly every time they switch devices or browsers, or whenever Chrome decides to nuke your data.<p>I built remoteStorage to help fix that. Using the same API as localStorage, remoteStorage allows you to easily read and write data on the fly while maintaining state across browsers and devices in order to provide a better user experience.<p>The project is built as a monorepo in Typescript and contains a JS library that works across any Javascript stack (including Node.js and React Native) and is lightweight (~1 kb minified). The server is built with Nest.js with a disk-persisted Redis Database. It can be deployed in a few minutes using Docker.<p>One of the biggest challenges when building this was coming up with a secure scheme for handling authentication while still keeping the API dead simple for frontend devs to use. While the project is intended to store non-sensitive data like impression events/preferences, I still wanted to make sure data couldn’t easily leak or be tampered with.<p>One solution has been to generate a unique secret UUID per user on your own backend to identify the user. Alternatively, you could create a simple wrapper/proxy API around remoteStorage that uses your own authentication method to verify the user's identity before allowing them to access the data (this is super simple to build with React Server Components). Then, you could pick a secure and secret Instance ID that is not publicly available to ensure that only your application can access the data.<p>Has anyone felt the same pain points with localStorage before? Is this solution useful? Let me know what you think or ideas for how I can improve it :)
Show HN: RemoteStorage – sync localStorage across devices and browsers
Hey HN! Wanted to share a new library and server I've recently been working on called remoteStorage.<p>When building frontends with Javascript, the native localStorage API is super useful for keeping track of state between sessions in the same browser, but it's not as good a solution when your data needs to be shared across multiple devices or browsers.<p>For instance, let's say you want to show a welcome modal to all new users that sign up for your product. If you use localStorage to track if a user has already seen this modal, your users will end up getting the experience repeatedly every time they switch devices or browsers, or whenever Chrome decides to nuke your data.<p>I built remoteStorage to help fix that. Using the same API as localStorage, remoteStorage allows you to easily read and write data on the fly while maintaining state across browsers and devices in order to provide a better user experience.<p>The project is built as a monorepo in Typescript and contains a JS library that works across any Javascript stack (including Node.js and React Native) and is lightweight (~1 kb minified). The server is built with Nest.js with a disk-persisted Redis Database. It can be deployed in a few minutes using Docker.<p>One of the biggest challenges when building this was coming up with a secure scheme for handling authentication while still keeping the API dead simple for frontend devs to use. While the project is intended to store non-sensitive data like impression events/preferences, I still wanted to make sure data couldn’t easily leak or be tampered with.<p>One solution has been to generate a unique secret UUID per user on your own backend to identify the user. Alternatively, you could create a simple wrapper/proxy API around remoteStorage that uses your own authentication method to verify the user's identity before allowing them to access the data (this is super simple to build with React Server Components). Then, you could pick a secure and secret Instance ID that is not publicly available to ensure that only your application can access the data.<p>Has anyone felt the same pain points with localStorage before? Is this solution useful? Let me know what you think or ideas for how I can improve it :)
Show HN: Run Stable Diffusion Directly on iPhone
Show HN: Run Stable Diffusion Directly on iPhone
Show HN: Marimo – an open-source reactive notebook for Python
Hi HN! We’re excited to share marimo, an open-source reactive notebook for Python [1]. marimo aims to solve well-known problems with traditional notebooks [2]: marimo notebooks are reproducible (no hidden state), git-friendly (stored as Python files), executable as Python scripts, and deployable as web apps.<p>GitHub repo: <a href="https://github.com/marimo-team/marimo">https://github.com/marimo-team/marimo</a><p>In marimo, a notebook’s code, outputs, and program state are always consistent. Run a cell and marimo reacts by automatically running the cells that reference its declared variables. Delete a cell and marimo scrubs its variables from program memory, eliminating hidden state. Our reactive runtime is based on static analysis, so it’s performant. If you’re worried about accidentally triggering expensive computations, you can disable specific cells from auto-running.<p>marimo comes with UI elements like sliders, a dataframe transformer, and interactive plots that are automatically synchronized with Python [3]. Interact with an element and the cells that use it are automatically re-run with its latest value. Reactivity makes these UI elements more useful and ergonomic than Jupyter’s ipywidgets.<p>Every marimo notebook can be run as a script from the command line, with cells executed in a topologically sorted order, or served as an interactive web app, using the marimo CLI.<p>We’re a team of just two developers. We chose to develop marimo because we believe that the Python community deserves a better programming environment to do research and communicate it; experiment with code and share it; and learn computational science and teach it. We’ve seen lots of research start in Jupyter notebooks (much of my own has), only to fail to reproduce; lots of promising prototypes built that were never made real; and lots of tutorials written that failed to engage students.<p>marimo has been developed with the close input of scientists and engineers, and with inspiration from many tools, including Pluto.jl and streamlit. We open-sourced it recently because we feel it’s ready for broader use. Please try it out (pip install marimo && marimo tutorial intro). We’d appreciate your feedback!<p>[1] <a href="https://github.com/marimo-team/marimo">https://github.com/marimo-team/marimo</a><p>[2] <a href="https://docs.marimo.io/faq.html#faq-problems" rel="nofollow">https://docs.marimo.io/faq.html#faq-problems</a><p>[3] <a href="https://docs.marimo.io/api/inputs/index.html" rel="nofollow">https://docs.marimo.io/api/inputs/index.html</a>
Show HN: Marimo – an open-source reactive notebook for Python
Hi HN! We’re excited to share marimo, an open-source reactive notebook for Python [1]. marimo aims to solve well-known problems with traditional notebooks [2]: marimo notebooks are reproducible (no hidden state), git-friendly (stored as Python files), executable as Python scripts, and deployable as web apps.<p>GitHub repo: <a href="https://github.com/marimo-team/marimo">https://github.com/marimo-team/marimo</a><p>In marimo, a notebook’s code, outputs, and program state are always consistent. Run a cell and marimo reacts by automatically running the cells that reference its declared variables. Delete a cell and marimo scrubs its variables from program memory, eliminating hidden state. Our reactive runtime is based on static analysis, so it’s performant. If you’re worried about accidentally triggering expensive computations, you can disable specific cells from auto-running.<p>marimo comes with UI elements like sliders, a dataframe transformer, and interactive plots that are automatically synchronized with Python [3]. Interact with an element and the cells that use it are automatically re-run with its latest value. Reactivity makes these UI elements more useful and ergonomic than Jupyter’s ipywidgets.<p>Every marimo notebook can be run as a script from the command line, with cells executed in a topologically sorted order, or served as an interactive web app, using the marimo CLI.<p>We’re a team of just two developers. We chose to develop marimo because we believe that the Python community deserves a better programming environment to do research and communicate it; experiment with code and share it; and learn computational science and teach it. We’ve seen lots of research start in Jupyter notebooks (much of my own has), only to fail to reproduce; lots of promising prototypes built that were never made real; and lots of tutorials written that failed to engage students.<p>marimo has been developed with the close input of scientists and engineers, and with inspiration from many tools, including Pluto.jl and streamlit. We open-sourced it recently because we feel it’s ready for broader use. Please try it out (pip install marimo && marimo tutorial intro). We’d appreciate your feedback!<p>[1] <a href="https://github.com/marimo-team/marimo">https://github.com/marimo-team/marimo</a><p>[2] <a href="https://docs.marimo.io/faq.html#faq-problems" rel="nofollow">https://docs.marimo.io/faq.html#faq-problems</a><p>[3] <a href="https://docs.marimo.io/api/inputs/index.html" rel="nofollow">https://docs.marimo.io/api/inputs/index.html</a>
Show HN: Marimo – an open-source reactive notebook for Python
Hi HN! We’re excited to share marimo, an open-source reactive notebook for Python [1]. marimo aims to solve well-known problems with traditional notebooks [2]: marimo notebooks are reproducible (no hidden state), git-friendly (stored as Python files), executable as Python scripts, and deployable as web apps.<p>GitHub repo: <a href="https://github.com/marimo-team/marimo">https://github.com/marimo-team/marimo</a><p>In marimo, a notebook’s code, outputs, and program state are always consistent. Run a cell and marimo reacts by automatically running the cells that reference its declared variables. Delete a cell and marimo scrubs its variables from program memory, eliminating hidden state. Our reactive runtime is based on static analysis, so it’s performant. If you’re worried about accidentally triggering expensive computations, you can disable specific cells from auto-running.<p>marimo comes with UI elements like sliders, a dataframe transformer, and interactive plots that are automatically synchronized with Python [3]. Interact with an element and the cells that use it are automatically re-run with its latest value. Reactivity makes these UI elements more useful and ergonomic than Jupyter’s ipywidgets.<p>Every marimo notebook can be run as a script from the command line, with cells executed in a topologically sorted order, or served as an interactive web app, using the marimo CLI.<p>We’re a team of just two developers. We chose to develop marimo because we believe that the Python community deserves a better programming environment to do research and communicate it; experiment with code and share it; and learn computational science and teach it. We’ve seen lots of research start in Jupyter notebooks (much of my own has), only to fail to reproduce; lots of promising prototypes built that were never made real; and lots of tutorials written that failed to engage students.<p>marimo has been developed with the close input of scientists and engineers, and with inspiration from many tools, including Pluto.jl and streamlit. We open-sourced it recently because we feel it’s ready for broader use. Please try it out (pip install marimo && marimo tutorial intro). We’d appreciate your feedback!<p>[1] <a href="https://github.com/marimo-team/marimo">https://github.com/marimo-team/marimo</a><p>[2] <a href="https://docs.marimo.io/faq.html#faq-problems" rel="nofollow">https://docs.marimo.io/faq.html#faq-problems</a><p>[3] <a href="https://docs.marimo.io/api/inputs/index.html" rel="nofollow">https://docs.marimo.io/api/inputs/index.html</a>
Show HN: Marimo – an open-source reactive notebook for Python
Hi HN! We’re excited to share marimo, an open-source reactive notebook for Python [1]. marimo aims to solve well-known problems with traditional notebooks [2]: marimo notebooks are reproducible (no hidden state), git-friendly (stored as Python files), executable as Python scripts, and deployable as web apps.<p>GitHub repo: <a href="https://github.com/marimo-team/marimo">https://github.com/marimo-team/marimo</a><p>In marimo, a notebook’s code, outputs, and program state are always consistent. Run a cell and marimo reacts by automatically running the cells that reference its declared variables. Delete a cell and marimo scrubs its variables from program memory, eliminating hidden state. Our reactive runtime is based on static analysis, so it’s performant. If you’re worried about accidentally triggering expensive computations, you can disable specific cells from auto-running.<p>marimo comes with UI elements like sliders, a dataframe transformer, and interactive plots that are automatically synchronized with Python [3]. Interact with an element and the cells that use it are automatically re-run with its latest value. Reactivity makes these UI elements more useful and ergonomic than Jupyter’s ipywidgets.<p>Every marimo notebook can be run as a script from the command line, with cells executed in a topologically sorted order, or served as an interactive web app, using the marimo CLI.<p>We’re a team of just two developers. We chose to develop marimo because we believe that the Python community deserves a better programming environment to do research and communicate it; experiment with code and share it; and learn computational science and teach it. We’ve seen lots of research start in Jupyter notebooks (much of my own has), only to fail to reproduce; lots of promising prototypes built that were never made real; and lots of tutorials written that failed to engage students.<p>marimo has been developed with the close input of scientists and engineers, and with inspiration from many tools, including Pluto.jl and streamlit. We open-sourced it recently because we feel it’s ready for broader use. Please try it out (pip install marimo && marimo tutorial intro). We’d appreciate your feedback!<p>[1] <a href="https://github.com/marimo-team/marimo">https://github.com/marimo-team/marimo</a><p>[2] <a href="https://docs.marimo.io/faq.html#faq-problems" rel="nofollow">https://docs.marimo.io/faq.html#faq-problems</a><p>[3] <a href="https://docs.marimo.io/api/inputs/index.html" rel="nofollow">https://docs.marimo.io/api/inputs/index.html</a>
Show HN: Business ideas twice a week – newsletter
Hey HN<p>I made an newsletter where I dump all my really good business ideas onto that I don't have the time to go do.
Show HN: highlight.cool – add Medium-like highlights to your own blog
Hey y'all!<p>I want to share my weekend project <a href="https://highlight.cool" rel="nofollow">https://highlight.cool</a> with you.<p>highlight.cool lets your blog readers highlight what they find interesting, where the more interesting parts are bolder and the less interesting parts are lighter.<p>As a reader, I've always enjoyed seeing the highlighted parts of Medium, but wasn't a fan of all the paywalls and that it only showed the top highlight. I'd love to see this feature on more blogs both as a way to be part of the community of readers, as well as give kudos to the writer for parts that I enjoyed reading.<p>I've tried to make it so that it gets out of your way as a reader and is only there when you want to see the highlights. It's also real-time which lets you see what other people are highlighting while you're reading, if that's your thing.<p>It's free for unlimited highlights and blogs, but will have a paid tier to remove branding and allow styling (still working on that!)<p>Happy to answer any questions and get feedback!<p>Thanks!<p>Ian
Show HN: I created a tool for quick website availability checks in 15 locations
Show HN: I created a tool for quick website availability checks in 15 locations
Show HN: Don't Press the Red Button