<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: jmagland</title><link>https://news.ycombinator.com/user?id=jmagland</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 17 Aug 2026 06:47:22 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jmagland" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jmagland in "SugarTrack – an offline Android logbook for blood sugar (no account, no cloud)"]]></title><description><![CDATA[
<p>There should be more simple, no login, apps like this</p>
]]></description><pubDate>Sun, 16 Aug 2026 00:15:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=49315596</link><dc:creator>jmagland</dc:creator><comments>https://news.ycombinator.com/item?id=49315596</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49315596</guid></item><item><title><![CDATA[Show HN: Matlab syntax in Jupyter, client-side]]></title><description><![CDATA[
<p>jupyterlite-numbl-kernel is a JupyterLite kernel for numbl (<a href="https://numbl.org" rel="nofollow">https://numbl.org</a>). It demonstrates running MATLAB syntax in Jupyter, client-side in the browser (no MATLAB or Octave needed). The live demo is a static site hosted on GitHub Pages... nothing to install:<p><a href="https://concept-collection.github.io/jupyterlite-numbl-kernel/" rel="nofollow">https://concept-collection.github.io/jupyterlite-numbl-kerne...</a><p>Numbl is a lightweight (TypeScript + wasm + optional native bridge to OpenBLAS) numerical computing environment that tries to be as compatible as possible with MATLAB syntax. It has 500+ built-in functions and runs both in the browser and on the command line. I am developing it with Dan Fortunato at the Flatiron Institute.<p>Why do this? There are many codebases that are written exclusively in MATLAB, require a MATLAB license, and cannot be run client-side in the browser. One such example is chebfun (<a href="https://www.chebfun.org/" rel="nofollow">https://www.chebfun.org/</a>), whose heavy use of MATLAB's object-oriented features means it does not run on Octave. Right now, numbl is mature enough to run most of Chebfun. The capabilities will expand over time as we implement more builtins.<p>I make a lot of static web applications (many of them proofs of concept) and I love trying to get code to run client-side in the browser. I think it's great for teaching, sharing ideas and methods, and communicating science with interactive views.<p>Caveat: numbl of course is not MATLAB. It covers a large, tested subset of the language though.<p>Kernel source: <a href="https://github.com/concept-collection/jupyterlite-numbl-kernel" rel="nofollow">https://github.com/concept-collection/jupyterlite-numbl-kern...</a><p>Numbl source: <a href="https://github.com/flatironinstitute/numbl" rel="nofollow">https://github.com/flatironinstitute/numbl</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49021763">https://news.ycombinator.com/item?id=49021763</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 23 Jul 2026 14:01:17 +0000</pubDate><link>https://concept-collection.github.io/jupyterlite-numbl-kernel/</link><dc:creator>jmagland</dc:creator><comments>https://news.ycombinator.com/item?id=49021763</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49021763</guid></item><item><title><![CDATA[Show HN: mip – the missing package manager for MATLAB + MEX]]></title><description><![CDATA[
<p>Article URL: <a href="https://mip.sh">https://mip.sh</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48820197">https://news.ycombinator.com/item?id=48820197</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 07 Jul 2026 16:36:25 +0000</pubDate><link>https://mip.sh</link><dc:creator>jmagland</dc:creator><comments>https://news.ycombinator.com/item?id=48820197</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48820197</guid></item><item><title><![CDATA[Show HN: Figpack science viz – Python script → Shareable HTML Bundle in cloud]]></title><description><![CDATA[
<p>Sharing interactive scientific visualizations is hard. I don’t want my colleagues to have to install specialized software. I just want to email them a link which they can click on and see the full interactive visualization and explore my (potentially large) dataset and results. I want figures to be long-term archivable (Zenodo, etc). And local first (no upload required to view).<p>I created Figpack to solve these problems by creating self-contained HTML bundles for rich interactive scientific viz.<p>How it works. You import figpack in your Python project, pass numpy data (large time series, images, domain-specific data) to a figpack view object (many existing types, extensible via custom javascript/react), and then the show() command creates a completely self-contained HTML bundle with rich interactive visualization in a temporary directory and spins up a local web server to view it in the browser. The data and rendering code are all in one stand-alone directory. Easy!<p>To share with a colleague, just set upload=True and it uploads to the cloud. You get a url to send to your friend and they can see the exact same thing without any login.<p>I know… how is this different from Plotly, Bokeh, Observable, etc? Happy to discuss!<p>Please try it out and let me know what you think!<p>Open source (Apache 2.0).</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47888312">https://news.ycombinator.com/item?id=47888312</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 24 Apr 2026 10:39:27 +0000</pubDate><link>https://figpack.org</link><dc:creator>jmagland</dc:creator><comments>https://news.ycombinator.com/item?id=47888312</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47888312</guid></item><item><title><![CDATA[Show HN: Too many browser tabs! I solved it with a simple electron app]]></title><description><![CDATA[
<p>There are a few sites I visit very frequently and I find myself always opening a new tab. I'm used to an IDE where if you click on a file on the left it takes you to a new editor, and if the editor already exists it just takes you to that. So I thought I'd make something similar for a web browser. I admit I used AI. One hour well spent because now I don't have the too-many-tabs problem anymore.<p>Maybe this solution already exists? I couldn't find it.<p>Enjoy! And if you decide to tweak it, please submit your work back in a PR! Or of course you're welcome to fork it. Please share your improvements!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47850451">https://news.ycombinator.com/item?id=47850451</a></p>
<p>Points: 4</p>
<p># Comments: 2</p>
]]></description><pubDate>Tue, 21 Apr 2026 15:46:45 +0000</pubDate><link>https://github.com/magland/tabs/blob/main/README.md</link><dc:creator>jmagland</dc:creator><comments>https://news.ycombinator.com/item?id=47850451</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47850451</guid></item><item><title><![CDATA[New comment by jmagland in "Show HN: Git Push No-Mistakes"]]></title><description><![CDATA[
<p>I like the idea of having a proxy git server between you and the remote, I've never seen that before. Are there other use cases you imagine for such a setup besides intercepting and reviewing pushes?</p>
]]></description><pubDate>Tue, 21 Apr 2026 15:03:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47849842</link><dc:creator>jmagland</dc:creator><comments>https://news.ycombinator.com/item?id=47849842</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47849842</guid></item><item><title><![CDATA[New comment by jmagland in "Taking a Look at Compression Algorithms – Moncef Abboud"]]></title><description><![CDATA[
<p>I've found that Asymmetric Numeral Systems (you mentioned it briefly) is the optimal practical method for pure entropy encoding. I just posted this <a href="https://news.ycombinator.com/item?id=47806122">https://news.ycombinator.com/item?id=47806122</a></p>
]]></description><pubDate>Fri, 17 Apr 2026 14:34:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=47806405</link><dc:creator>jmagland</dc:creator><comments>https://news.ycombinator.com/item?id=47806405</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47806405</guid></item><item><title><![CDATA[New comment by jmagland in "Show HN: simple_ans – Asymmetric Numeral Systems Compression in Python/C++"]]></title><description><![CDATA[
<p>Oh, you may also be interested in this fun<p>ANS Visualizer<p><a href="https://visposts.github.io/ans-visualizer/" rel="nofollow">https://visposts.github.io/ans-visualizer/</a></p>
]]></description><pubDate>Fri, 17 Apr 2026 14:11:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=47806144</link><dc:creator>jmagland</dc:creator><comments>https://news.ycombinator.com/item?id=47806144</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47806144</guid></item><item><title><![CDATA[Show HN: simple_ans – Asymmetric Numeral Systems Compression in Python/C++]]></title><description><![CDATA[
<p>The Asymmetric Numeral Systems (ANS) algorithm (Duda et al, 2015) is perhaps the most practical way of getting near optimal compression ratios for independent and identically distributed random sequences of symbols from a known discrete probability distribution. Simplest example: a random sequence of 0’s and 1’s with probability p of getting a 1. Shannon’s entropy formula gives us the expected compression ratio for such a sequence, but realizing that compression ratio efficiently in a computer program is not such an easy task. ANS does the trick and is incorporated into several general purpose compression algorithms, but I wasn’t able to track down a simple, self-contained implementation that was reasonably performant.<p>So I made simple_ans, a straightforward Python package that uses a small, yet efficient, kernel of C++ code (few hundred lines of code).<p>If you want it <i>even simpler</i>, there’s also a pure Python implementation in the repo (much slower though).<p>I hope you find it interesting and/or useful!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47806122">https://news.ycombinator.com/item?id=47806122</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 17 Apr 2026 14:10:04 +0000</pubDate><link>https://github.com/flatironinstitute/simple_ans</link><dc:creator>jmagland</dc:creator><comments>https://news.ycombinator.com/item?id=47806122</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47806122</guid></item><item><title><![CDATA[New comment by jmagland in "Show HN: I built a music theory course with games and spaced repetition"]]></title><description><![CDATA[
<p>Yes the FBG-101 works after a few seconds. However in the original link it still doesn't work... I tried chrome and firefox. But here's a clue, when I pluck the guitar string several times, I sometimes here a little short scratch/static sound.</p>
]]></description><pubDate>Thu, 16 Apr 2026 22:43:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47800452</link><dc:creator>jmagland</dc:creator><comments>https://news.ycombinator.com/item?id=47800452</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47800452</guid></item><item><title><![CDATA[New comment by jmagland in "Show HN: Online Sound Decibel Meter"]]></title><description><![CDATA[
<p>Seems to work. What do you imagine is the main use case?</p>
]]></description><pubDate>Thu, 16 Apr 2026 20:40:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47799212</link><dc:creator>jmagland</dc:creator><comments>https://news.ycombinator.com/item?id=47799212</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47799212</guid></item><item><title><![CDATA[New comment by jmagland in "Show HN: Modulo – A daily spatial reasoning puzzle"]]></title><description><![CDATA[
<p>Oh tricky. Thanks!</p>
]]></description><pubDate>Thu, 16 Apr 2026 19:55:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47798639</link><dc:creator>jmagland</dc:creator><comments>https://news.ycombinator.com/item?id=47798639</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47798639</guid></item><item><title><![CDATA[New comment by jmagland in "Show HN: I built a music theory course with games and spaced repetition"]]></title><description><![CDATA[
<p>The air particle visualization is really cool! However, I don't hear anything. I'm on chrome browser in linux. It wasn't clear how to get that to work. Thx</p>
]]></description><pubDate>Thu, 16 Apr 2026 18:28:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47797501</link><dc:creator>jmagland</dc:creator><comments>https://news.ycombinator.com/item?id=47797501</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47797501</guid></item><item><title><![CDATA[New comment by jmagland in "Show HN: Arrow. Point your phone, walk where it says, find out where"]]></title><description><![CDATA[
<p>Fun idea. Before I try it, how far should I expect to go before reaching my destination?</p>
]]></description><pubDate>Thu, 16 Apr 2026 18:20:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47797391</link><dc:creator>jmagland</dc:creator><comments>https://news.ycombinator.com/item?id=47797391</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47797391</guid></item><item><title><![CDATA[New comment by jmagland in "Show HN: Modulo – A daily spatial reasoning puzzle"]]></title><description><![CDATA[
<p>Nice! Is this meant to promote brain health, or to just be relaxing?<p>Q. Is it possible to resize the shapes? That wasn't clear to me from the interface, and I had a hard time completing one of the first puzzles without being able to resize.</p>
]]></description><pubDate>Thu, 16 Apr 2026 18:12:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47797313</link><dc:creator>jmagland</dc:creator><comments>https://news.ycombinator.com/item?id=47797313</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47797313</guid></item></channel></rss>