The best Hacker News stories from Show from the past day
Latest posts:
Show HN: Pyper – Concurrent Python Made Simple
Hello and happy new year!<p>We're excited to introduce the Pyper package for concurrency & parallelism in Python. Pyper is a flexible framework for concurrent / parallel data processing, following the functional paradigm.<p>Source code can be found on [github](<a href="https://github.com/pyper-dev/pyper">https://github.com/pyper-dev/pyper</a>)<p>Key features:<p>Intuitive API: Easy to learn, easy to think about. Implements clean abstractions to seamlessly unify threaded, multiprocessed, and asynchronous work.<p>Functional Paradigm: Python functions are the building blocks of data pipelines. Let's you write clean, reusable code naturally.<p>Safety: Hides the heavy lifting of underlying task execution and resource clean-up. No more worrying about race conditions, memory leaks, or thread-level error handling.<p>Efficiency: Designed from the ground up for lazy execution, using queues, workers, and generators.<p>Pure Python: Lightweight, with zero sub-dependencies.<p>We'd love to hear any feedback on this project!
Show HN: Pyper – Concurrent Python Made Simple
Hello and happy new year!<p>We're excited to introduce the Pyper package for concurrency & parallelism in Python. Pyper is a flexible framework for concurrent / parallel data processing, following the functional paradigm.<p>Source code can be found on [github](<a href="https://github.com/pyper-dev/pyper">https://github.com/pyper-dev/pyper</a>)<p>Key features:<p>Intuitive API: Easy to learn, easy to think about. Implements clean abstractions to seamlessly unify threaded, multiprocessed, and asynchronous work.<p>Functional Paradigm: Python functions are the building blocks of data pipelines. Let's you write clean, reusable code naturally.<p>Safety: Hides the heavy lifting of underlying task execution and resource clean-up. No more worrying about race conditions, memory leaks, or thread-level error handling.<p>Efficiency: Designed from the ground up for lazy execution, using queues, workers, and generators.<p>Pure Python: Lightweight, with zero sub-dependencies.<p>We'd love to hear any feedback on this project!
Das Blinkenlights
Got a boring server rack? Got a retro-computer project? Need some bling??<p>If you have a little electronics skill then you may want to make a few of these babies to let your server rack party like a 1970's mainframe.<p>Just a fun little project done over a couple of days at XMAS, and probably best not to install in the corporate server room!
Show HN: I built a fair alternative to Product Hunt for indie makers
I’m an indie maker, just like many of you. A few months back, I launched a product on one of the big platforms, and... nothing. It got buried under dozens of other launches within hours. All that work, all that excitement is gone in the blink of an eye. No one even saw it.<p>It stung. I wasn’t mad, well, maybe a little but mostly, I just felt invisible. The truth is, indie makers like me don’t have big teams or budgets to fight for visibility. We rely on genuine support and connections. I couldn’t stop thinking about how many great ideas never get the attention they deserve because they’re overshadowed.<p>So, I decided to build something different: <a href="https://itslaunched.com" rel="nofollow">https://itslaunched.com</a><p>Here’s the idea:<p>• 10 launches per day, max. Limiting the number of daily launches ensures that every product gets its moment in the spotlight.<p>• 2 votes per user, per day. This isn’t a popularity contest. You only get two votes, so people have to really think about which products they want to support. It’s quality over quantity.<p>• “Under Radar” feature. This one’s my favorite. If a product doesn’t get much love on its launch day, it gets a second chance to shine the next day. Because timing shouldn’t be the only thing standing between you and success.<p>There’s more like badges, comments, streaks but the heart of it is simple: a fair shot for indie makers.<p>I built this because I believe every product deserves to be seen, especially the ones built by solo makers and small teams putting their heart into something they truly care about. And I didn’t build this to compete with Product Hunt. I built it to give indie makers the platform they deserve, one where their creativity truly gets noticed.<p>If this sounds like something you’d want to check out, I’d love your thoughts. I’m still tweaking and improving it every day based on feedback.<p>Let me know what you think and if you’ve got a product you’re proud of, I’d love to see it shine.
Show HN: I built a fair alternative to Product Hunt for indie makers
I’m an indie maker, just like many of you. A few months back, I launched a product on one of the big platforms, and... nothing. It got buried under dozens of other launches within hours. All that work, all that excitement is gone in the blink of an eye. No one even saw it.<p>It stung. I wasn’t mad, well, maybe a little but mostly, I just felt invisible. The truth is, indie makers like me don’t have big teams or budgets to fight for visibility. We rely on genuine support and connections. I couldn’t stop thinking about how many great ideas never get the attention they deserve because they’re overshadowed.<p>So, I decided to build something different: <a href="https://itslaunched.com" rel="nofollow">https://itslaunched.com</a><p>Here’s the idea:<p>• 10 launches per day, max. Limiting the number of daily launches ensures that every product gets its moment in the spotlight.<p>• 2 votes per user, per day. This isn’t a popularity contest. You only get two votes, so people have to really think about which products they want to support. It’s quality over quantity.<p>• “Under Radar” feature. This one’s my favorite. If a product doesn’t get much love on its launch day, it gets a second chance to shine the next day. Because timing shouldn’t be the only thing standing between you and success.<p>There’s more like badges, comments, streaks but the heart of it is simple: a fair shot for indie makers.<p>I built this because I believe every product deserves to be seen, especially the ones built by solo makers and small teams putting their heart into something they truly care about. And I didn’t build this to compete with Product Hunt. I built it to give indie makers the platform they deserve, one where their creativity truly gets noticed.<p>If this sounds like something you’d want to check out, I’d love your thoughts. I’m still tweaking and improving it every day based on feedback.<p>Let me know what you think and if you’ve got a product you’re proud of, I’d love to see it shine.
Show HN: I built a fair alternative to Product Hunt for indie makers
I’m an indie maker, just like many of you. A few months back, I launched a product on one of the big platforms, and... nothing. It got buried under dozens of other launches within hours. All that work, all that excitement is gone in the blink of an eye. No one even saw it.<p>It stung. I wasn’t mad, well, maybe a little but mostly, I just felt invisible. The truth is, indie makers like me don’t have big teams or budgets to fight for visibility. We rely on genuine support and connections. I couldn’t stop thinking about how many great ideas never get the attention they deserve because they’re overshadowed.<p>So, I decided to build something different: <a href="https://itslaunched.com" rel="nofollow">https://itslaunched.com</a><p>Here’s the idea:<p>• 10 launches per day, max. Limiting the number of daily launches ensures that every product gets its moment in the spotlight.<p>• 2 votes per user, per day. This isn’t a popularity contest. You only get two votes, so people have to really think about which products they want to support. It’s quality over quantity.<p>• “Under Radar” feature. This one’s my favorite. If a product doesn’t get much love on its launch day, it gets a second chance to shine the next day. Because timing shouldn’t be the only thing standing between you and success.<p>There’s more like badges, comments, streaks but the heart of it is simple: a fair shot for indie makers.<p>I built this because I believe every product deserves to be seen, especially the ones built by solo makers and small teams putting their heart into something they truly care about. And I didn’t build this to compete with Product Hunt. I built it to give indie makers the platform they deserve, one where their creativity truly gets noticed.<p>If this sounds like something you’d want to check out, I’d love your thoughts. I’m still tweaking and improving it every day based on feedback.<p>Let me know what you think and if you’ve got a product you’re proud of, I’d love to see it shine.
Show HN: Value likelihoods for OpenAI structured output
Show HN: Value likelihoods for OpenAI structured output
Show HN: Value likelihoods for OpenAI structured output
Show HN: Value likelihoods for OpenAI structured output
Show HN: WASM-powered codespaces for Python notebooks on GitHub
Hi HN!<p>Last year, we shared marimo [1], an open-source reactive notebook for Python with support for execution through WebAssembly [2].<p>We wanted to share something new: you can now run marimo and Jupyter notebooks directly from GitHub in a Wasm-powered, codespace-like environment. What makes this powerful is that we mount the GitHub repository's contents as a filesystem in the notebook, making it really easy to share notebooks with data.<p>All you need to do is prepend 'marimo.app' to any Python notebook on GitHub. Some examples:<p>- Jupyter Notebook: <a href="https://marimo.app/github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/02.08-Sorting.ipynb" rel="nofollow">https://marimo.app/github.com/jakevdp/PythonDataScienceHandb...</a><p>- marimo notebook: <a href="https://marimo.app/github.com/marimo-team/marimo/blob/07e8d14109f7312f19916fd13e4046a561a740f8/examples/third_party/polars/polars_example.py" rel="nofollow">https://marimo.app/github.com/marimo-team/marimo/blob/07e8d1...</a><p>Jupyter notebooks are automatically converted into marimo notebooks using basic static analysis and source code transformations. Our conversion logic assumes the notebook was meant to be run top-down, which is usually but not always true [3]. It can convert many notebooks, but there are still some edge cases.<p>We implemented the filesystem mount using our own FUSE-like adapter that links the GitHub repository’s contents to the Python filesystem, leveraging Emscripten’s filesystem API. The file tree is loaded on startup to avoid waterfall requests when reading many directories deep, but loading the file contents is lazy. For example, when you write Python that looks like<p>```python<p>with open("./data/cars.csv") as f:
print(f.read())<p># or<p>import pandas as pd
pd.read_csv("./data/cars.csv")<p>```<p>behind the scenes, you make a request [4] to <a href="https://raw.githubusercontent.com/<org>/<repo>/main/data/cars.csv" rel="nofollow">https://raw.githubusercontent.com/<org>/<repo>/main/data/car...</a>.<p>Docs: <a href="https://docs.marimo.io/guides/publishing/playground/#open-notebooks-hosted-on-github" rel="nofollow">https://docs.marimo.io/guides/publishing/playground/#open-no...</a><p>[1] <a href="https://github.com/marimo-team/marimo">https://github.com/marimo-team/marimo</a><p>[2] <a href="https://news.ycombinator.com/item?id=39552882">https://news.ycombinator.com/item?id=39552882</a><p>[3] <a href="https://blog.jetbrains.com/datalore/2020/12/17/we-downloaded-10-000-000-jupyter-notebooks-from-github-this-is-what-we-learned/" rel="nofollow">https://blog.jetbrains.com/datalore/2020/12/17/we-downloaded...</a><p>[4] We technically proxy it through the playground <a href="https://marimo.app" rel="nofollow">https://marimo.app</a> to fix CORS issues and GitHub rate-limiting.
Show HN: WASM-powered codespaces for Python notebooks on GitHub
Hi HN!<p>Last year, we shared marimo [1], an open-source reactive notebook for Python with support for execution through WebAssembly [2].<p>We wanted to share something new: you can now run marimo and Jupyter notebooks directly from GitHub in a Wasm-powered, codespace-like environment. What makes this powerful is that we mount the GitHub repository's contents as a filesystem in the notebook, making it really easy to share notebooks with data.<p>All you need to do is prepend 'marimo.app' to any Python notebook on GitHub. Some examples:<p>- Jupyter Notebook: <a href="https://marimo.app/github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/02.08-Sorting.ipynb" rel="nofollow">https://marimo.app/github.com/jakevdp/PythonDataScienceHandb...</a><p>- marimo notebook: <a href="https://marimo.app/github.com/marimo-team/marimo/blob/07e8d14109f7312f19916fd13e4046a561a740f8/examples/third_party/polars/polars_example.py" rel="nofollow">https://marimo.app/github.com/marimo-team/marimo/blob/07e8d1...</a><p>Jupyter notebooks are automatically converted into marimo notebooks using basic static analysis and source code transformations. Our conversion logic assumes the notebook was meant to be run top-down, which is usually but not always true [3]. It can convert many notebooks, but there are still some edge cases.<p>We implemented the filesystem mount using our own FUSE-like adapter that links the GitHub repository’s contents to the Python filesystem, leveraging Emscripten’s filesystem API. The file tree is loaded on startup to avoid waterfall requests when reading many directories deep, but loading the file contents is lazy. For example, when you write Python that looks like<p>```python<p>with open("./data/cars.csv") as f:
print(f.read())<p># or<p>import pandas as pd
pd.read_csv("./data/cars.csv")<p>```<p>behind the scenes, you make a request [4] to <a href="https://raw.githubusercontent.com/<org>/<repo>/main/data/cars.csv" rel="nofollow">https://raw.githubusercontent.com/<org>/<repo>/main/data/car...</a>.<p>Docs: <a href="https://docs.marimo.io/guides/publishing/playground/#open-notebooks-hosted-on-github" rel="nofollow">https://docs.marimo.io/guides/publishing/playground/#open-no...</a><p>[1] <a href="https://github.com/marimo-team/marimo">https://github.com/marimo-team/marimo</a><p>[2] <a href="https://news.ycombinator.com/item?id=39552882">https://news.ycombinator.com/item?id=39552882</a><p>[3] <a href="https://blog.jetbrains.com/datalore/2020/12/17/we-downloaded-10-000-000-jupyter-notebooks-from-github-this-is-what-we-learned/" rel="nofollow">https://blog.jetbrains.com/datalore/2020/12/17/we-downloaded...</a><p>[4] We technically proxy it through the playground <a href="https://marimo.app" rel="nofollow">https://marimo.app</a> to fix CORS issues and GitHub rate-limiting.
Show HN: WASM-powered codespaces for Python notebooks on GitHub
Hi HN!<p>Last year, we shared marimo [1], an open-source reactive notebook for Python with support for execution through WebAssembly [2].<p>We wanted to share something new: you can now run marimo and Jupyter notebooks directly from GitHub in a Wasm-powered, codespace-like environment. What makes this powerful is that we mount the GitHub repository's contents as a filesystem in the notebook, making it really easy to share notebooks with data.<p>All you need to do is prepend 'marimo.app' to any Python notebook on GitHub. Some examples:<p>- Jupyter Notebook: <a href="https://marimo.app/github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/02.08-Sorting.ipynb" rel="nofollow">https://marimo.app/github.com/jakevdp/PythonDataScienceHandb...</a><p>- marimo notebook: <a href="https://marimo.app/github.com/marimo-team/marimo/blob/07e8d14109f7312f19916fd13e4046a561a740f8/examples/third_party/polars/polars_example.py" rel="nofollow">https://marimo.app/github.com/marimo-team/marimo/blob/07e8d1...</a><p>Jupyter notebooks are automatically converted into marimo notebooks using basic static analysis and source code transformations. Our conversion logic assumes the notebook was meant to be run top-down, which is usually but not always true [3]. It can convert many notebooks, but there are still some edge cases.<p>We implemented the filesystem mount using our own FUSE-like adapter that links the GitHub repository’s contents to the Python filesystem, leveraging Emscripten’s filesystem API. The file tree is loaded on startup to avoid waterfall requests when reading many directories deep, but loading the file contents is lazy. For example, when you write Python that looks like<p>```python<p>with open("./data/cars.csv") as f:
print(f.read())<p># or<p>import pandas as pd
pd.read_csv("./data/cars.csv")<p>```<p>behind the scenes, you make a request [4] to <a href="https://raw.githubusercontent.com/<org>/<repo>/main/data/cars.csv" rel="nofollow">https://raw.githubusercontent.com/<org>/<repo>/main/data/car...</a>.<p>Docs: <a href="https://docs.marimo.io/guides/publishing/playground/#open-notebooks-hosted-on-github" rel="nofollow">https://docs.marimo.io/guides/publishing/playground/#open-no...</a><p>[1] <a href="https://github.com/marimo-team/marimo">https://github.com/marimo-team/marimo</a><p>[2] <a href="https://news.ycombinator.com/item?id=39552882">https://news.ycombinator.com/item?id=39552882</a><p>[3] <a href="https://blog.jetbrains.com/datalore/2020/12/17/we-downloaded-10-000-000-jupyter-notebooks-from-github-this-is-what-we-learned/" rel="nofollow">https://blog.jetbrains.com/datalore/2020/12/17/we-downloaded...</a><p>[4] We technically proxy it through the playground <a href="https://marimo.app" rel="nofollow">https://marimo.app</a> to fix CORS issues and GitHub rate-limiting.
Show HN: WASM-powered codespaces for Python notebooks on GitHub
Hi HN!<p>Last year, we shared marimo [1], an open-source reactive notebook for Python with support for execution through WebAssembly [2].<p>We wanted to share something new: you can now run marimo and Jupyter notebooks directly from GitHub in a Wasm-powered, codespace-like environment. What makes this powerful is that we mount the GitHub repository's contents as a filesystem in the notebook, making it really easy to share notebooks with data.<p>All you need to do is prepend 'marimo.app' to any Python notebook on GitHub. Some examples:<p>- Jupyter Notebook: <a href="https://marimo.app/github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/02.08-Sorting.ipynb" rel="nofollow">https://marimo.app/github.com/jakevdp/PythonDataScienceHandb...</a><p>- marimo notebook: <a href="https://marimo.app/github.com/marimo-team/marimo/blob/07e8d14109f7312f19916fd13e4046a561a740f8/examples/third_party/polars/polars_example.py" rel="nofollow">https://marimo.app/github.com/marimo-team/marimo/blob/07e8d1...</a><p>Jupyter notebooks are automatically converted into marimo notebooks using basic static analysis and source code transformations. Our conversion logic assumes the notebook was meant to be run top-down, which is usually but not always true [3]. It can convert many notebooks, but there are still some edge cases.<p>We implemented the filesystem mount using our own FUSE-like adapter that links the GitHub repository’s contents to the Python filesystem, leveraging Emscripten’s filesystem API. The file tree is loaded on startup to avoid waterfall requests when reading many directories deep, but loading the file contents is lazy. For example, when you write Python that looks like<p>```python<p>with open("./data/cars.csv") as f:
print(f.read())<p># or<p>import pandas as pd
pd.read_csv("./data/cars.csv")<p>```<p>behind the scenes, you make a request [4] to <a href="https://raw.githubusercontent.com/<org>/<repo>/main/data/cars.csv" rel="nofollow">https://raw.githubusercontent.com/<org>/<repo>/main/data/car...</a>.<p>Docs: <a href="https://docs.marimo.io/guides/publishing/playground/#open-notebooks-hosted-on-github" rel="nofollow">https://docs.marimo.io/guides/publishing/playground/#open-no...</a><p>[1] <a href="https://github.com/marimo-team/marimo">https://github.com/marimo-team/marimo</a><p>[2] <a href="https://news.ycombinator.com/item?id=39552882">https://news.ycombinator.com/item?id=39552882</a><p>[3] <a href="https://blog.jetbrains.com/datalore/2020/12/17/we-downloaded-10-000-000-jupyter-notebooks-from-github-this-is-what-we-learned/" rel="nofollow">https://blog.jetbrains.com/datalore/2020/12/17/we-downloaded...</a><p>[4] We technically proxy it through the playground <a href="https://marimo.app" rel="nofollow">https://marimo.app</a> to fix CORS issues and GitHub rate-limiting.
Show HN: A blocklist to remove spam and bad websites from search results
Hi HN!<p>I've been fed up with search results so much that I decided to make a giant blocklist to remove garbage links by using uBlacklist.<p>I browsed other blocklists and wasn't very satisfied from what exists now; the goal of this one is to be super organized and transparent, explaining why each site was blocked via issues. Contributions welcome!<p>Even though around 100 domains are blocked so far, I already noticed a big improvement in casual searches. You'd be surprised how some AI generated websites can dominate the #1 page on DuckDuckGo.
Show HN: A blocklist to remove spam and bad websites from search results
Hi HN!<p>I've been fed up with search results so much that I decided to make a giant blocklist to remove garbage links by using uBlacklist.<p>I browsed other blocklists and wasn't very satisfied from what exists now; the goal of this one is to be super organized and transparent, explaining why each site was blocked via issues. Contributions welcome!<p>Even though around 100 domains are blocked so far, I already noticed a big improvement in casual searches. You'd be surprised how some AI generated websites can dominate the #1 page on DuckDuckGo.
Show HN: A blocklist to remove spam and bad websites from search results
Hi HN!<p>I've been fed up with search results so much that I decided to make a giant blocklist to remove garbage links by using uBlacklist.<p>I browsed other blocklists and wasn't very satisfied from what exists now; the goal of this one is to be super organized and transparent, explaining why each site was blocked via issues. Contributions welcome!<p>Even though around 100 domains are blocked so far, I already noticed a big improvement in casual searches. You'd be surprised how some AI generated websites can dominate the #1 page on DuckDuckGo.
Show HN: A blocklist to remove spam and bad websites from search results
Hi HN!<p>I've been fed up with search results so much that I decided to make a giant blocklist to remove garbage links by using uBlacklist.<p>I browsed other blocklists and wasn't very satisfied from what exists now; the goal of this one is to be super organized and transparent, explaining why each site was blocked via issues. Contributions welcome!<p>Even though around 100 domains are blocked so far, I already noticed a big improvement in casual searches. You'd be surprised how some AI generated websites can dominate the #1 page on DuckDuckGo.
Show HN: A blocklist to remove spam and bad websites from search results
Hi HN!<p>I've been fed up with search results so much that I decided to make a giant blocklist to remove garbage links by using uBlacklist.<p>I browsed other blocklists and wasn't very satisfied from what exists now; the goal of this one is to be super organized and transparent, explaining why each site was blocked via issues. Contributions welcome!<p>Even though around 100 domains are blocked so far, I already noticed a big improvement in casual searches. You'd be surprised how some AI generated websites can dominate the #1 page on DuckDuckGo.
Show HN: A daily digest for reMarkable