
{"id":57,"date":"2026-01-19T03:39:34","date_gmt":"2026-01-19T03:39:34","guid":{"rendered":"https:\/\/shofutex.net\/?p=57"},"modified":"2026-01-19T03:58:50","modified_gmt":"2026-01-19T03:58:50","slug":"artificial-intelligence-adventures","status":"publish","type":"post","link":"https:\/\/shofutex.net\/index.php\/2026\/01\/19\/artificial-intelligence-adventures\/","title":{"rendered":"Artificial Intelligence Adventures"},"content":{"rendered":"\n<p>Well, I finally broke down and decided to use AI for something actually useful. For a long time, I&#8217;ve had a very specific use-case for an iOS app:<\/p>\n\n\n\n<ul><li>Grab my current IP<\/li><li>Send it to Vultr (or any cloud provider) through a RESTful API and add it to the firewall rules<\/li><\/ul>\n\n\n\n<p>Nothing really seems to meet this requirement (admittedly, I haven&#8217;t tried <em>too<\/em> hard)&#8211;and while I can do it through the browser, that&#8217;s really clunky: it requires me to turn off the proxy, log into the provider manually, and make the edits to the firewall rules. I really just want to be able to push a button.<\/p>\n\n\n\n<p>So what did I break down and do? I asked ChatGPT how I would go about doing this. It was a little clunky: first it gave me some Swift code that looks like it does what I&#8217;m talking about. But I can&#8217;t just go and implement this on a Macbook. The Macbook in the house isn&#8217;t mine! I can &#8220;borrow&#8221; it to compile and push to my device, but I can&#8217;t develop on it. So I asked ChatGPT &#8220;how would I build this on a Linux machine?&#8221;<\/p>\n\n\n\n<p>ChatGPT gave me the two curl commands that would do this:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><kbd>IP=$(curl -s https:\/\/api.ipify.org)<\/kbd><\/p><p><kbd>curl -X POST https:\/\/example.com\/report-ip \\<\/kbd><\/p><p><kbd>-H \"Content-Type: application\/json\" \\<\/kbd><\/p><p><kbd>-d \"{\\\"ip_address\\\":\\\"$IP\\\",\\\"platform\\\":\\\"linux\\\"}\"<\/kbd><\/p><\/blockquote>\n\n\n\n<p>That&#8217;s great! But that&#8217;s not what I actually asked ChatGPT, so I had to ask a different way: &#8220;No. How would I make the iOS app on a Linux machine.&#8221;<\/p>\n\n\n\n<p>First, ChatGPT gave me the <strong>hard<\/strong> truth: you can&#8217;t build and sign an iOS app on a Linux machine! &lt;sarcasm&gt;Man, I wish I knew that!&lt;\/sarcasm&gt; No matter. Then ChatGPT was a little weird and told me the three ways to do this and then told me this:<\/p>\n\n\n\n<p><strong>Best balance<\/strong><\/p>\n\n\n\n<ul><li>Develop logic + UI on Linux using Flutter<\/li><li>Or write pure Swift logic on Linux<\/li><li>Use a cloud Mac only for final builds<\/li><\/ul>\n\n\n\n<p>I like how their recommendation has an <em>or<\/em> in it&#8230;<\/p>\n\n\n\n<p>I had forgotten about flutter! But one of the major issues I have with other languages and new frameworks is I spend a <strong>lot<\/strong> of time searching how to do things and the examples are always a bit wonky. To me, this is where AI actually helped: it gave me some structure to start with: an initial flutter application that fits square into the template in vscode, so I was able to modify it pretty easily without having to do any searching. It&#8217;s probably important to note that when I end up searching for how to do something unique (even if it&#8217;s simple), I end up going through multiple different StackOverflow answers. This saves a significant amount of time.<\/p>\n\n\n\n<p>That was pretty cool, BUT:<\/p>\n\n\n\n<p>I tried to use AI to port a Python script I have over to PowerShell and OMG, that was insane. Every single step of the way the PowerShell would error and ChatGPT would say &#8220;you&#8217;ve run into one of the classic PowerShell blunders!&#8221; It ended up not figuring out how to generate the proper formatting to pass commands to the AWS CLI without errors. I ended up going down the route of loading a PowerShell library for AWS. The first one they suggested doesn&#8217;t work with PowerShell 5 (the version installed on this Windows 11 system by default). Eventually, we got it working with a different PowerShell library&#8211;and even then it required a significant amount of back and forth with the AI. It was a little intense. At the end of the day, I&#8217;m not sure it saved me any time&#8230; But it was a neat exercise and I now have a PowerShell version of that script that is superior to the batch script I was using before.<\/p>\n\n\n\n<p>Image from: https:\/\/www.vpnsrus.com\/, which now seems defunct&#8230; But they said to put the link to credit the image.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Well, I finally broke down and decided to use AI for something actually useful. For a long time, I&#8217;ve had a very specific use-case for an iOS app: Grab my current IP Send it to Vultr (or any cloud provider) through a RESTful API and add it to the firewall rules Nothing really seems to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":60,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":[],"categories":[11,5],"tags":[],"_links":{"self":[{"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/posts\/57"}],"collection":[{"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/comments?post=57"}],"version-history":[{"count":5,"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/posts\/57\/revisions"}],"predecessor-version":[{"id":64,"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/posts\/57\/revisions\/64"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/media\/60"}],"wp:attachment":[{"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/media?parent=57"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/categories?post=57"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/tags?post=57"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}