<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Code on DevGypsy</title>
		<link>https://devgypsy.com/tags/code/</link>
		<description>Recent content in Code on DevGypsy</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
			<copyright>All rights reserved - 2026</copyright>
		
		
			<lastBuildDate>Tue, 06 Jun 2023 21:15:00 +0200</lastBuildDate>
		
			<atom:link href="https://devgypsy.com/tags/code/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Quick Look with NStableView and Swift</title>
				<link>https://devgypsy.com/post/2023-06-06-quicklook-swift-tableview/</link>
				<pubDate>Tue, 06 Jun 2023 21:15:00 +0200</pubDate>
				<guid>https://devgypsy.com/post/2023-06-06-quicklook-swift-tableview/</guid>
				<description>&lt;p&gt;So, I have a macOS project I&amp;rsquo;m currently working on where I wanted to add some polish to the app in the form of &lt;a href=&#34;https://support.apple.com/en-au/guide/mac-help/mh14119/mac&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Quick Look&lt;/a&gt; file previews. Im building the app with Swift, and couldn&amp;rsquo;t find any nice examples of doing this. All of the samples I found online are written in Objective-C. The implementation is not at all difficult, but I figured, since I hadn&amp;rsquo;t posted in a while - I thought write a quick blog post. So here we are. 🙂&lt;/p&gt;</description>
			</item>
			<item>
				<title>Open Source software</title>
				<link>https://devgypsy.com/post/2022-07-02-open-source/</link>
				<pubDate>Sat, 02 Jul 2022 16:58:00 +0200</pubDate>
				<guid>https://devgypsy.com/post/2022-07-02-open-source/</guid>
				<description>&lt;p&gt;I&amp;rsquo;m a big fan of Open Source software, and if it wasn&amp;rsquo;t for the fact that I have bills to pay - I would likely open source all my apps.&lt;/p&gt;&#xA;&lt;h3 id=&#34;background&#34;&gt;Background&lt;/h3&gt;&#xA;&lt;p&gt;So I actually had my first taste of programming in New Zealand way back in the early 1980&amp;rsquo;s. Mum was a very forward thinking women and spent way too much money buying an Apple II clone, from the local Tech chain &lt;a href=&#34;https://www.dicksmith.co.nz/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Dick Smith&lt;/a&gt;. &lt;em&gt;Dick Smith is still going strong by the way, but has evolved into more of an electronics retailer than the hobby store it used to be.&lt;/em&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Updating PostgreSQL with Homebrew on macOS Big Sur</title>
				<link>https://devgypsy.com/post/2021-10-06-updating-postgres-with-homebrew-on-macos-big-sur/</link>
				<pubDate>Wed, 06 Oct 2021 08:24:00 +0100</pubDate>
				<guid>https://devgypsy.com/post/2021-10-06-updating-postgres-with-homebrew-on-macos-big-sur/</guid>
				<description>&lt;p&gt;I recently updated my install of &lt;a href=&#34;https://www.postgresql.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;PostgreSQL&lt;/a&gt; to v14 with Homebrew, and thought this small tutorial might help others. And it will obviously help me when it comes time to update again!&lt;/p&gt;&#xA;&lt;h3 id=&#34;introduction&#34;&gt;Introduction&lt;/h3&gt;&#xA;&lt;p&gt;If you&amp;rsquo;re running macOS and are doing any kind of development work, and aren&amp;rsquo;t using &lt;a href=&#34;https://brew.sh&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Homebrew&lt;/a&gt; - you really should take a look. It&amp;rsquo;s a package manager which allows for quick and easy installation and updating of many common packages. It&amp;rsquo;s super easy to install:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Updating PostgreSQL on Plesk Obsidian</title>
				<link>https://devgypsy.com/post/2021-10-01-updating-postgres-on-plesk-obsidian/</link>
				<pubDate>Fri, 01 Oct 2021 18:46:00 +0100</pubDate>
				<guid>https://devgypsy.com/post/2021-10-01-updating-postgres-on-plesk-obsidian/</guid>
				<description>&lt;p&gt;I&amp;rsquo;ve wanted to update &lt;a href=&#34;https://www.postgresql.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Postgres&lt;/a&gt; for some time now, as &lt;a href=&#34;https://www.plesk.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Plesk Obsidian&lt;/a&gt; currently only installs version 10 by default. I also thought this would be a whole lot more difficult than it actually was. And with the release of Postgres v14, I figured this was as good a time as any to get stuck in.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Reverse Engineering Safari&#39;s Cookies.binaryCookies file format</title>
				<link>https://devgypsy.com/post/2021-08-17-reverse-engineering/</link>
				<pubDate>Tue, 17 Aug 2021 05:58:00 +0100</pubDate>
				<guid>https://devgypsy.com/post/2021-08-17-reverse-engineering/</guid>
				<description>&lt;h3 id=&#34;an-indie-developers-short-tale-in-overcoming-one-of-many-problems-developing-for-the-macos-platform&#34;&gt;An Indie Developer&amp;rsquo;s short tale in overcoming one of MANY problems developing for the macOS platform&lt;/h3&gt;&#xA;&lt;p&gt;Building products for the Apple ecosystem, while a very rewarding experience can be stressful&amp;hellip; especially around the dates for the Worldwide Developers Conference. This is when Apple give us Devs just a few months to prepare for the next macOS release, with all the deprecations and outright course changes that come with it.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Installing Listmonk Newsletter manager</title>
				<link>https://devgypsy.com/post/2020-08-18-installing-listmonk-newsletter-manager/</link>
				<pubDate>Sun, 16 Aug 2020 17:16:00 +0100</pubDate>
				<guid>https://devgypsy.com/post/2020-08-18-installing-listmonk-newsletter-manager/</guid>
				<description>&lt;p&gt;Up until recently i was using &lt;a href=&#34;https://github.com/Mailtrain-org/mailtrain&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Mailtrain&lt;/a&gt;, a fantastic opensource newsletter manager built in Node.js. I never had any problems with it, but&amp;hellip; it hasn&amp;rsquo;t seen an update since Sep 2018, the system requirements for the upcoming v2 release seem a little steep. The setup is a little funky to get just right, and the templating system always bothered me how cumbersome it was. Ive had mye eye on migrating away for some time, but never could find the right project to jump ship too.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Migrating away from Mailgun to Amazon SES</title>
				<link>https://devgypsy.com/post/2020-03-03-migrating-away-from-mailgun-to-amazon-ses/</link>
				<pubDate>Tue, 03 Mar 2020 09:14:27 +0100</pubDate>
				<guid>https://devgypsy.com/post/2020-03-03-migrating-away-from-mailgun-to-amazon-ses/</guid>
				<description>&lt;p&gt;So, Ive been a relatively happy user of &lt;a href=&#34;https://www.mailgun.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Mailgun&lt;/a&gt; for all my transactional store and support emails and also for my newsletter blasts. When I say relatively happy, it was not without issue. I run my rails/node apps on subdomains. And with this setup, it was just not possible to configure Mailgun to send the transactional emails from the base domain. As an example, the licenses from my store were being sent with headers showing as coming from &lt;code&gt;licensing.sweetpproductions.com&lt;/code&gt;, rather than &lt;code&gt;sweetpproductions.com&lt;/code&gt;. This was causing issues with gmail putting license emails into users spam folders, as the mail server didn&amp;rsquo;t match correctly&amp;hellip; While this was annoying to deal with, as an indie dev, its hard to argue with free emails&amp;hellip; which is what Mailgun were offering. 10,000 free emails per month to be exact. So, I added a note to my store, to let users know they should check their spam folders for any misplaced emails from me&amp;hellip;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Updating to SpamAssassin 3.4.2 on Plesk Onyx running on Centos 7</title>
				<link>https://devgypsy.com/post/2019-01-15-updating-to-spamassassin-3.4.2-on-centos-7/</link>
				<pubDate>Tue, 15 Jan 2019 14:58:27 +0100</pubDate>
				<guid>https://devgypsy.com/post/2019-01-15-updating-to-spamassassin-3.4.2-on-centos-7/</guid>
				<description>&lt;p&gt;So, &lt;a href=&#34;https://spamassassin.apache.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;SpamAssassin&lt;/a&gt; was just recently updated to v3.4.2 after a number of years of no updates. And, as I like new things - of course i would update. But after digging around in Plesk, and then also dropping down to the command line - I discovered it was not going to be a simple update. So of course I jump on &lt;a href=&#34;https://duckduckgo.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;DuckDuckGo&lt;/a&gt; to look for a solution. this is the thread I found, which was almost exactly what I needed:  &lt;a href=&#34;https://talk.plesk.com/threads/spamassassin-update-from-3-3-1-to-3-4-1.337266/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://talk.plesk.com/threads/spamassassin-update-from-3-3-1-to-3-4-1.337266/&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Restarting NodeBB after a crash and at login</title>
				<link>https://devgypsy.com/post/2018-11-10-restarting-nodebb-after-a-crash-and-at-login/</link>
				<pubDate>Sat, 10 Nov 2018 12:27:27 +0100</pubDate>
				<guid>https://devgypsy.com/post/2018-11-10-restarting-nodebb-after-a-crash-and-at-login/</guid>
				<description>&lt;p&gt;I ran in to a minor issue the other day with my &lt;a href=&#34;https://nodebb.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;NobeBB&lt;/a&gt; install, and woke up to find it had crashed. Not really a big deal, as it is super easy to restart. But restarting it manually after a crash, or system reboot is not ideal - there must be a better way. And of course there is, and its super easy using &lt;a href=&#34;https://en.wikipedia.org/wiki/Systemd&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;systemd&lt;/a&gt;. There&amp;rsquo;s &lt;a href=&#34;https://docs.nodebb.org/configuring/running/#systemd&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;official docs&lt;/a&gt; on how to set this up. But, it took me a little trial and error to get my setup working, so i&amp;rsquo;ll post my solution.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Migrating away from Wordpress to Hugo</title>
				<link>https://devgypsy.com/post/2018-11-05-migrating-away-from-wordpress-to-hugo-/</link>
				<pubDate>Mon, 05 Nov 2018 20:47:27 +0100</pubDate>
				<guid>https://devgypsy.com/post/2018-11-05-migrating-away-from-wordpress-to-hugo-/</guid>
				<description>&lt;p&gt;In my quest to remove all php code from my site, it was time to get rid of &lt;a href=&#34;https://wordpress.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wordpress&lt;/a&gt;. don&amp;rsquo;t get me wrong, Wordpress is a great platform and is extremely useful for many different applications, but does feel very heavy for how I use it - as a simple blog. I use minimal plugins, and really only wanted a secure platform to share my thoughts and interests quickly.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Migrating from myBB to NodeBB postgreSQL</title>
				<link>https://devgypsy.com/post/2018-11-04-migrating-from-mybb-to-node-bb-postgresql/</link>
				<pubDate>Sun, 04 Nov 2018 10:01:27 +0100</pubDate>
				<guid>https://devgypsy.com/post/2018-11-04-migrating-from-mybb-to-node-bb-postgresql/</guid>
				<description>&lt;p&gt;Ok, so I&amp;rsquo;ve recently upgraded my &lt;a href=&#34;https://support.sweetpproductions.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;support forum&lt;/a&gt; from &lt;a href=&#34;https://mybb.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;myBB&lt;/a&gt;  to a &lt;a href=&#34;https://nodebb.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;NodeBB&lt;/a&gt; install. I&amp;rsquo;d like to stay it was easy - well it kinda was, but there were many steps, so I thought I&amp;rsquo;d quickly outline what i did.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;The migration was a couple of weeks ago now - and not super fresh in my mind, so this is not a complete migration tutorial - more of an overview&lt;/em&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>macOS Mojave and Mac App Store review purgatory</title>
				<link>https://devgypsy.com/post/2018-10-28-macos-mojave-and-mac-app-store-review-purgatory/</link>
				<pubDate>Sun, 28 Oct 2018 11:01:27 +0100</pubDate>
				<guid>https://devgypsy.com/post/2018-10-28-macos-mojave-and-mac-app-store-review-purgatory/</guid>
				<description>&lt;p&gt;So, here we are again&amp;hellip; stuck at the mercy of an opaque review system.&lt;br&gt;&#xA;Cookie (and also Privatus) have both been stuck in review now for close to a month.&lt;br&gt;&#xA;😕&lt;/p&gt;&#xA;&lt;p&gt;At first I was given reasons why review was failing, and while a few days earlier this was not a problem - I quickly fixed the given issues. That was the last time i heard back from Apple review&amp;hellip; Both apps have been sitting &lt;em&gt;in review&lt;/em&gt; now for weeks. There is not even an option to question why there is a hold up, as the usual &lt;em&gt;*Resolution Center&lt;/em&gt; form is disabled.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Resending dropped emails in Mailgun</title>
				<link>https://devgypsy.com/post/2018-05-05-resending-dropped-emails-in-mailgun/</link>
				<pubDate>Sat, 05 May 2018 09:13:08 +0000</pubDate>
				<guid>https://devgypsy.com/post/2018-05-05-resending-dropped-emails-in-mailgun/</guid>
				<description>&lt;p&gt;I use a custom setup of &lt;a href=&#34;https://www.mailgun.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Mailgun&lt;/a&gt; and &lt;a href=&#34;https://github.com/Mailtrain-org/mailtrain&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Mailtrain&lt;/a&gt; to send out my newsletters. Recently I had an issue with sending out my latest newsletter, and came up with a solution I figured I would like to &lt;a href=&#34;https://github.com/sweetppro/GetFailedMailGunEmails&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;share&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;my-small-issue-with-mailgun--mailtrain&#34;&gt;My small issue with Mailgun &amp;amp; Mailtrain&lt;/h3&gt;&#xA;&lt;p&gt;Now don&amp;rsquo;t get me wrong, Mailgun + Mailtrain is a fantastic combo and saves me hundreds of dollars when sending out newsletters. If your&amp;rsquo;e not using it - &lt;a href=&#34;https://devgypsy.com/email-marketing-with-mailtrain-in-plesk-onyx/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;you should be&lt;/a&gt;! I have encountered a small issue with it though&amp;hellip;&lt;/p&gt;</description>
			</item>
			<item>
				<title>The biggest problem with the Mac App Store</title>
				<link>https://devgypsy.com/post/2018-04-11-the-biggest-problem-with-the-mac-app-store/</link>
				<pubDate>Wed, 11 Apr 2018 22:35:28 +0000</pubDate>
				<guid>https://devgypsy.com/post/2018-04-11-the-biggest-problem-with-the-mac-app-store/</guid>
				<description>&lt;p&gt;So, I&amp;rsquo;m in the midst of a Mac App Store related support nightmare right now&amp;hellip;&lt;br&gt;&#xA;I uploaded an important update to &lt;a href=&#34;https://apps.apple.com/app/id1473091386&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Cookie&lt;/a&gt; yesterday (v5.8.1), and in my haste (it was a long day, and I uploaded it around 2am) it had a receipt checking bug.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Email marketing with MailTrain in Plesk Onyx</title>
				<link>https://devgypsy.com/post/2017-11-15-email-marketing-with-mailtrain-in-plesk-onyx/</link>
				<pubDate>Wed, 15 Nov 2017 20:39:59 +0000</pubDate>
				<guid>https://devgypsy.com/post/2017-11-15-email-marketing-with-mailtrain-in-plesk-onyx/</guid>
				<description>&lt;p&gt;So I ran in to a few small issues getting an email marketing solution based on MailTrain running in Plesk Onyx. Nothing show stopping - but I figured I&amp;rsquo;d archive this here, so no one else has to waste a full day getting it all configured just right. 🙂&lt;/p&gt;</description>
			</item>
			<item>
				<title>Rails - access a subdomain app via the root domain in Plesk Onyx</title>
				<link>https://devgypsy.com/post/2017-10-17-rails-app-subdomain-plesk-onyx/</link>
				<pubDate>Tue, 17 Oct 2017 06:26:11 +0000</pubDate>
				<guid>https://devgypsy.com/post/2017-10-17-rails-app-subdomain-plesk-onyx/</guid>
				<description>&lt;p&gt;I ran into just this problem the other day. Migrating my Rails store from a CPanel VPS over to the current Plesk Onyx VPS proved to be a little tricky. It took me a while to figure out a solution. So I figured I&amp;rsquo;d write a blog outlining the steps I took to get my desired result.&lt;/p&gt;</description>
			</item>
			<item>
				<title>App Store review macOS and iOS review nightmares</title>
				<link>https://devgypsy.com/post/2017-10-14-app-store-review-nightmares/</link>
				<pubDate>Sat, 14 Oct 2017 02:09:42 +0000</pubDate>
				<guid>https://devgypsy.com/post/2017-10-14-app-store-review-nightmares/</guid>
				<description>&lt;p&gt;So for the past 3 weeks I have been literally banging my head against a wall with the App Store review process and the cryptic illogical rejection reasons.&lt;/p&gt;&#xA;&lt;h3 id=&#34;app-store-review&#34;&gt;App Store review&lt;/h3&gt;&#xA;&lt;p&gt;I am normally quite happy with the App Store review process, and my apps are normally all reviewed and available within 24hrs. However just recently I have had the mis-fortune of feeling the pain many other iOS/macOS devs speak of. Two of my apps; &lt;a href=&#34;https://cookieapp.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Cookie 5&lt;/a&gt; and &lt;a href=&#34;https://itunes.apple.com/app/id862914093&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Bitcoin Convert&lt;/a&gt; have both taken 3 weeks to be approved and ready for sale. Although both for entirely different reasons, both updates were delayed for what seemed like an eternity&amp;hellip;.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
