<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Programming on nsf.name</title><link>https://nsf.name/tags/programming/</link><description>Recent content in Programming on nsf.name</description><generator>Hugo</generator><language>en-US</language><copyright>Copyright © 2026, Nathaniel Flores.</copyright><lastBuildDate>Mon, 22 Jun 2026 11:19:06 -0400</lastBuildDate><atom:link href="https://nsf.name/tags/programming/index.xml" rel="self" type="application/rss+xml"/><item><title>Nix(OS) Considered Harmful</title><link>https://nsf.name/blog/nixos-considered-harmful/</link><pubDate>Mon, 22 Jun 2026 11:19:06 -0400</pubDate><guid>https://nsf.name/blog/nixos-considered-harmful/</guid><description>&lt;p&gt;I really want to like Nix and NixOS. There are many genuinely amazing and intelligent ideas within the project, but every time I stop and consider recommending it to someone, I feel like I can&amp;rsquo;t give a positive endorsement of the &lt;em&gt;project&lt;/em&gt;, even though the &lt;em&gt;technology&lt;/em&gt; of Nix(OS) is incredible, and I hope someone better builds upon it someday.&lt;/p&gt;
&lt;h2 id="what-is-nixos"&gt;What is Nix(OS)?&lt;/h2&gt;
&lt;p&gt;Many have never heard about this project, so a bit of explanation might not be remiss. Nix&amp;rsquo;s one sentence definition, as described by the main website&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;</description></item><item><title>Copycat: iOS Copyparty Client</title><link>https://nsf.name/blog/copycat-ios-copyparty-client/</link><pubDate>Mon, 08 Jun 2026 19:15:02 -0600</pubDate><guid>https://nsf.name/blog/copycat-ios-copyparty-client/</guid><description>&lt;p&gt;&lt;a href="https://copyparty.eu"&gt;Copyparty&lt;/a&gt; is a genuinely great file server that I like using, and it&amp;rsquo;s played an important role in many smaller projects I&amp;rsquo;ve done throughout the year when something like &lt;code&gt;scp&lt;/code&gt; or AirDrop just won&amp;rsquo;t do. The one area where it&amp;rsquo;s still really lacking is in user-friendly GUI and a native experience on mobile: while there is a pile of iOS shortcuts that allow for uploading to a copyparty server (and a small Android app that does roughly the same thing), it&amp;rsquo;s nothing quite like a full native app in terms of speed and ease of use.&lt;/p&gt;</description></item><item><title>Lufsa: Sticky Note Images</title><link>https://nsf.name/blog/lufsa-sticky-note-images/</link><pubDate>Mon, 01 Jun 2026 19:21:43 -0600</pubDate><guid>https://nsf.name/blog/lufsa-sticky-note-images/</guid><description>&lt;p&gt;After previous projects with SwiftUI, I became curious as to what the limits of the framework are, and how different the development experience is between macOS and iOS apps. To push those limits, I aimed to recreate a somewhat weirder application: &lt;a href="https://itn-web.it.liu.se/~stegu76/xteddy/index.html"&gt;&lt;code&gt;xteddy&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="why-xteddy"&gt;Why &lt;code&gt;xteddy&lt;/code&gt;?&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;xteddy&lt;/code&gt; is a X11 application written by Professor Stefan Gustavson which originally did exactly one thing: draw a non-rectangular, floating window to the screen containing just the bundled &lt;code&gt;xteddy&lt;/code&gt; image, and implement some basic handlers to kill and open it appropriately. However, later versions released in 1997 onwards allow you to load any arbitrary &lt;code&gt;.xbm&lt;/code&gt; (X Bitmap), and in the Debian Linux port, &lt;code&gt;.png&lt;/code&gt; files. This effectively made it a simple sticky note application but for images.&lt;/p&gt;</description></item><item><title>Learning Rust &amp; Project Ideas</title><link>https://nsf.name/blog/learning-rust-project-ideas/</link><pubDate>Thu, 21 May 2026 11:44:30 -0600</pubDate><guid>https://nsf.name/blog/learning-rust-project-ideas/</guid><description>&lt;p&gt;Recently I finished taking CS237, a class all about writing in C and x86 assembly, so I thought it would be a natural try to work on Rustlings at the same time to see if the hype around Rust really lived up to what everyone else was saying about it. After finishing Rustlings, I can confidently say that Rust is an extremely useful language that I&amp;rsquo;m glad I spent the time to learn and working on it has given me the confidence to approach some ideas I probably wouldn&amp;rsquo;t have ever considered otherwise.&lt;/p&gt;</description></item><item><title>Rewriting WSO Mobile in Swift</title><link>https://nsf.name/blog/rewriting-wso-mobile-in-swift/</link><pubDate>Mon, 23 Mar 2026 22:59:16 -0500</pubDate><guid>https://nsf.name/blog/rewriting-wso-mobile-in-swift/</guid><description>&lt;p&gt;At Williams College, most student technological services run through an organization called WSO&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;, for common tasks like checking the course calendar, dining hall menus, rating professors, trading textbooks, and more. Since the college doesn&amp;rsquo;t provide its own app, that means our app is the standard app for the ~2,000 students who are active students.&lt;/p&gt;
&lt;p&gt;Around December of 2025, I began to realize that we should aspire to do better than our current trainwreck of an app. The last time that WSO&amp;rsquo;s aging mobile app was rewritten before the rewrite that I am about to discuss here was all the way back in &lt;em&gt;2016&lt;/em&gt;, meaning the current mobile app was made of nearly &lt;em&gt;a decade&lt;/em&gt; of unmaintained trash. I can&amp;rsquo;t even begin to explain how bad this actually was&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;</description></item></channel></rss>