<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Geek And Dad&#039;s Blog</title>
	<atom:link href="https://geekanddad.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://geekanddad.wordpress.com</link>
	<description>A Geek and his Dad...</description>
	<lastBuildDate>Wed, 25 Feb 2026 06:24:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>

<image>
	<url>https://geekanddad.wordpress.com/wp-content/uploads/2019/11/logo.gif?w=32</url>
	<title>Geek And Dad&#039;s Blog</title>
	<link>https://geekanddad.wordpress.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">7413548</site><cloud domain='geekanddad.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<atom:link rel="search" type="application/opensearchdescription+xml" href="https://geekanddad.wordpress.com/osd.xml" title="Geek And Dad&#039;s Blog" />
	<atom:link rel='hub' href='https://geekanddad.wordpress.com/?pushpress=hub'/>
	<item>
		<title>Deleting old &#8220;Versions&#8221; of a document inside Numbers &#038; Pages…</title>
		<link>https://geekanddad.wordpress.com/2026/02/24/deleting-old-versions-of-a-document-inside-numbers-pages/</link>
					<comments>https://geekanddad.wordpress.com/2026/02/24/deleting-old-versions-of-a-document-inside-numbers-pages/#respond</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Wed, 25 Feb 2026 06:24:30 +0000</pubDate>
				<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/?p=2432</guid>

					<description><![CDATA[To delete all old versions of a document, open the document, navigate to File &#62; Revert To &#62; Browse All Versions… (opens Time Machine type versions view), select the most recent non-current version on the left, move the mouse into the menubar region to reveal the menubar (it's hidden in full screen view by default), navigate to File &#62; Revert To &#62; and notice that your choice is now Delete This Version….  Hold down the option key and it becomes Delete Old Versions…. And that is the option you're looking for.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">…and likely any other app that supports auto-document versioning in macOS.</p>



<p class="wp-block-paragraph"><strong>TL;DR:</strong>   </p>



<p class="wp-block-paragraph">To delete all old versions of a document, open the document, navigate to <strong>File</strong> &gt; <strong>Revert</strong> <strong>To</strong> &gt; <strong>Browse All Versions…</strong> (opens Time Machine type versions view), select the most recent non-current version on the left, move the mouse into the menubar region to reveal the menubar (it&#8217;s hidden in full screen view by default), navigate to<strong> <strong>File</strong> &gt; <strong>Revert</strong> <strong>To</strong> &gt; </strong>and notice that your choice is now <strong>Delete This Version…</strong>.  Hold down the option key and it becomes <strong>Delete Old Versions…</strong>. And <strong><em>that is the option you&#8217;re looking for</em>.</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<p class="wp-block-paragraph">After leanring  and I didn&#8217;t find an answer easily so after I stumbled upon the answer via too much trial and error I thought I&#8217;d document it for next time I forget <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">In Numbers (as an example), if you&#8217;ve saved several versions of a document and use the <strong>File</strong> &gt; <strong>Revert</strong> <strong>To</strong> &gt; <strong>Browse All Versions…</strong> menu item you will be shown a full screen interface that looks like Time Machine backups.  It has the Current Version of your frontmost document on the left, a stack of document versions on the right going back in time, and a timeline on the very right edge of the screen for quick navigation.</p>



<p class="wp-block-paragraph">There is a &#8220;Done&#8221; button at the bottom of the Current Version that exits this mode or view.  There is a &#8220;Restore&#8221; button under the document stack view on the right.  If you you hold the option key down that &#8220;Restore&#8221; button becomes &#8220;Restore a Copy&#8221;.</p>



<p class="wp-block-paragraph">What is missing here is a way to delete versions, or, better yet, delete <em>all</em> old versions.</p>



<p class="wp-block-paragraph">To get to this functionality you have to do some magic and that magic is…</p>



<p class="wp-block-paragraph">…move the mouse up to where the menu bar <em>should</em> be but is hidden in full screen mode by default and it will appear (!).</p>



<p class="wp-block-paragraph">Once the menu bar is visible, navigate to the <strong>File</strong> menu and notice some things:</p>



<ul class="wp-block-list">
<li>If you have selected a revision by selecting it before opening the <strong>File</strong> menu (by clicking on the frontmost non-current version or using the navigation arrows to go back in time) then <strong>File</strong> &gt; <strong>Duplicate</strong> has become <strong>File</strong> &gt;  <strong>Restore A Copy</strong>.</li>



<li>Likewise, <strong>File</strong> &gt; <strong>Revert To</strong> &gt; <strong>Browse All Versions</strong> has become <strong>File</strong> &gt; <strong>Revert To</strong> &gt; <strong>Delete This Version…</strong>.  If you hold the option key down this becomes <strong>Delete Old Versions…</strong> and <span style="text-decoration: underline"><em><strong>that</strong></em> is the option you want to delete all old versions of the current document</span>.</li>
</ul>



<p class="wp-block-paragraph">Cheers.</p>



<p class="wp-block-paragraph">P.S.  Sorry about the crappy WordPress.com ads.  Migrating off of wordpress.com is on the To Do list, but it&#8217;s a long list…</p>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2026/02/24/deleting-old-versions-of-a-document-inside-numbers-pages/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2432</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>
	</item>
		<item>
		<title>How to make a Swift Package that includes a library target in C++ and a Swift target that calls into that library C++ code.</title>
		<link>https://geekanddad.wordpress.com/2025/06/22/how-to-make-a-swift-package-that-includes-a-library-target-in-c-and-a-swift-target-that-calls-into-that-library-c-code/</link>
					<comments>https://geekanddad.wordpress.com/2025/06/22/how-to-make-a-swift-package-that-includes-a-library-target-in-c-and-a-swift-target-that-calls-into-that-library-c-code/#respond</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Sun, 22 Jun 2025 10:13:28 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/?p=2419</guid>

					<description><![CDATA[A developer on Mastodon posted a query: I want to use some C++ code from a Swift Package, so I: 1) Added a target with the C++ code2) Added an umbrella header3) Added this new target as a dependency to the client target4) Import the new module in the client target But now when I &#8230; <a href="https://geekanddad.wordpress.com/2025/06/22/how-to-make-a-swift-package-that-includes-a-library-target-in-c-and-a-swift-target-that-calls-into-that-library-c-code/" class="more-link">Continue reading<span class="screen-reader-text"> "How to make a Swift Package that includes a library target in C++ and a Swift target that calls into that library C++&#160;code."</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">A developer on Mastodon posted a query:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">I want to use some C++ code from a Swift Package, so I:</p>



<p class="wp-block-paragraph">1) Added a target with the C++ code<br>2) Added an umbrella header<br>3) Added this new target as a dependency to the client target<br>4) Import the new module in the client target</p>



<p class="wp-block-paragraph">But now when I try to call a C++ function, which I can autocomplete to, the linker throws “Undefined symbol”.</p>
</blockquote>



<p class="wp-block-paragraph">I&#8217;d never done this before so I thought I&#8217;d take a look.  The definitive documentation I could find seemed to be &#8220;<a href="https://www.swift.org/documentation/cxx-interop/project-build-setup/#" target="_blank" rel="noreferrer noopener">Setting up Mixed-Language Swift and C++ Projects</a>&#8221; on Swift.org.</p>



<p class="wp-block-paragraph">The poster on Mastodon wanted to use a couple of C++ files from <a href="https://github.com/aappleby/smhasher/tree/master">https://github.com/aappleby/smhasher/tree/master</a>, specifically MurmurHash3.h / MurmurHash3.cpp.  Not really sure what this repo is all about, but I grabbed those files and played around some.</p>



<p class="wp-block-paragraph">Got it working and you can see a <a href="https://github.com/GeekAndDad/testCplusSwift" target="_blank" rel="noreferrer noopener">test repo here</a> (ignore the hacky Swift code trying to make some test parameters to call the C++ MurmurHash3 function with; not sure what this function is really expecting  but I was just trying to solve the linking issue the poster was running into.</p>



<p class="wp-block-paragraph">The key to getting this to work is the addition of:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
swiftSettings: &#91;.interoperabilityMode(.Cxx)])
</pre></div>


<p class="wp-block-paragraph">on the target that is going to <em>use</em> the C++ containing target.</p>



<p class="wp-block-paragraph">Take a look at the repo.</p>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<p class="wp-block-paragraph"><em><strong>UPDATE</strong></em>: <em><strong> </strong></em>Added a second branch &#8220;<a href="https://github.com/GeekAndDad/testCplusSwift/tree/threelayer" target="_blank" rel="noreferrer noopener">three layer</a>&#8221; which increases the complexity to match what the person asking was doing. It now has three layers of Swift modules dependencies before the base C++ module. So:</p>



<p class="wp-block-paragraph">Swift Executable target (&#8220;testCmd&#8221;) -&gt; Swift Library  target (&#8220;SwiftMumurLib&#8221; -&gt; Swift Library target (&#8220;MurmurTest&#8221;) -&gt; C++ Library target (&#8220;Murmur&#8221;)</p>



<p class="wp-block-paragraph">The key to getting this deeper level of nesting to work was to include the <code>swiftSettings: [.interoperabilityMode(.Cxx)]</code> in each target that was using the C++ target <em>or a target that was using it even indirectly</em>.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: swift; title: ; notranslate">
let package = Package(
    name: "testCmd",
	platforms: &#91;.macOS(.v14)],
	products: &#91;
		.executable(name: "testCmd", targets: &#91;"testCmd"]),
		.library(name: "SwiftMurmurLib", targets: &#91;"SwiftMurmurLib"]),
		.library(name: "MurmurTest", targets: &#91;"MurmurTest"]),
		.library(name: "Murmur", targets: &#91;"Murmur"])
	],
    dependencies: &#91;
        .package(url: "https://github.com/apple/swift-argument-parser.git", from: "1.2.0")
    ],
    targets: &#91;
        .executableTarget(
            name: "testCmd",
            dependencies: &#91;
                .product(name: "ArgumentParser", package: "swift-argument-parser")
				, .target(name: "SwiftMurmurLib")
            ]
			, swiftSettings: &#91;.interoperabilityMode(.Cxx)]
        )
		, .target(name: "SwiftMurmurLib",
			dependencies: &#91;
				.target(name: "MurmurTest")
			]
			, swiftSettings: &#91;.interoperabilityMode(.Cxx)]
		)
		, .target(name: "MurmurTest",
			  dependencies: &#91;
				.target(name: "Murmur")
			  ]
			  , swiftSettings: &#91;.interoperabilityMode(.Cxx)]
		)
		, .target(name: "Murmur",
				dependencies: &#91;]
		)
    ]
)
</pre></div>


<p class="wp-block-paragraph">(Repo was tested with Xcode 16.2, macOS 14.7.5).</p>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2025/06/22/how-to-make-a-swift-package-that-includes-a-library-target-in-c-and-a-swift-target-that-calls-into-that-library-c-code/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2419</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>
	</item>
		<item>
		<title>Alfred Workflow to activate the services menu in any application</title>
		<link>https://geekanddad.wordpress.com/2025/04/10/alfred-workflow-to-activate-the-services-menu-in-any-application/</link>
					<comments>https://geekanddad.wordpress.com/2025/04/10/alfred-workflow-to-activate-the-services-menu-in-any-application/#comments</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Fri, 11 Apr 2025 02:15:50 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Utilities]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/?p=2407</guid>

					<description><![CDATA[I saw a thread by Dr. Drang about automating a macro, and then a reply by John Gruber about a Keyboard Maestro macro he uses that opens the Services menu so you can just type the name of the service and go. That made me think, &#8220;that sounds very useful, but I use Alfred.&#8221; Today &#8230; <a href="https://geekanddad.wordpress.com/2025/04/10/alfred-workflow-to-activate-the-services-menu-in-any-application/" class="more-link">Continue reading<span class="screen-reader-text"> "Alfred Workflow to activate the services menu in any&#160;application"</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I saw a thread by Dr. Drang about automating a macro, and then a reply by John Gruber about a Keyboard Maestro macro he uses that opens the Services menu so you can just type the name of the service and go.  That made me think, &#8220;that sounds very useful, but I use Alfred.&#8221;</p>



<p class="wp-block-paragraph">Today I noodled around and got the same thing working in Alfred.  I&#8217;m just learning how to do Alfred Workflows (this is only my second one), so if there&#8217;s an easier way that doesn&#8217;t require using AppleScript, <em>I&#8217;d love to hear about it</em> either here or on <a href="https://mastodon.social/@GeekAndDad">Mastodon</a>.</p>



<p class="wp-block-paragraph">Here&#8217;s a screenshot of the Alfred Workflow editor for a &#8220;Show Series Menu&#8221; workflow that has two nodes.  A <strong>Hotkey</strong> node which is set to the control+command+S sequence (^⌘S) and a <strong>Run NSAppleScript</strong> node which is opened to the AppleScript editor and shows:</p>



<p class="wp-block-paragraph"><kbd>on alfred_script(q)</kbd><br>    <kbd>tell application "System Events"</kbd><br>        <kbd>tell item 1 of (the processes whose frontmost is true)</kbd><br>            <kbd>tell menu bar item 2 of menu bar 1</kbd><br>                <kbd>click</kbd><br>                <kbd>click menu item "Services" of menu 1</kbd><br>            <kbd>end tell</kbd><br>        <kbd>end tell</kbd><br>    <kbd>end tell</kbd><br><kbd>end alfred_script</kbd></p>



<p class="wp-block-paragraph">That seems to work.  </p>



<figure class="wp-block-image size-large"><a href="https://geekanddad.wordpress.com/wp-content/uploads/2025/04/image.png"><img width="719" height="647" data-attachment-id="2408" data-permalink="https://geekanddad.wordpress.com/2025/04/10/alfred-workflow-to-activate-the-services-menu-in-any-application/image-2/" data-orig-file="https://geekanddad.wordpress.com/wp-content/uploads/2025/04/image.png" data-orig-size="719,647" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://geekanddad.wordpress.com/wp-content/uploads/2025/04/image.png?w=300" data-large-file="https://geekanddad.wordpress.com/wp-content/uploads/2025/04/image.png?w=719" src="https://geekanddad.wordpress.com/wp-content/uploads/2025/04/image.png?w=719" alt="" class="wp-image-2408" srcset="https://geekanddad.wordpress.com/wp-content/uploads/2025/04/image.png 719w, https://geekanddad.wordpress.com/wp-content/uploads/2025/04/image.png?w=150 150w, https://geekanddad.wordpress.com/wp-content/uploads/2025/04/image.png?w=300 300w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px" /></a></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2025/04/10/alfred-workflow-to-activate-the-services-menu-in-any-application/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2407</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>

		<media:content url="https://geekanddad.wordpress.com/wp-content/uploads/2025/04/image.png?w=719" medium="image" />
	</item>
		<item>
		<title>New 2025 Mac Studio is impressive but $$$?</title>
		<link>https://geekanddad.wordpress.com/2025/03/05/new-2025-mac-studio-is-impressive-but/</link>
					<comments>https://geekanddad.wordpress.com/2025/03/05/new-2025-mac-studio-is-impressive-but/#respond</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Wed, 05 Mar 2025 18:22:53 +0000</pubDate>
				<category><![CDATA[history]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[mac]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/?p=2402</guid>

					<description><![CDATA[Priced out the impressive looking Mac Studio Apple just released and wow it adds up fast when you max out the RAM and get the max processor 🙂 The top of the line new Mac Studio M3 Ultra (32-core CPU, 80-core GPU) with 512G RAM (!) and a 4TB SSD is an impressive and tempting &#8230; <a href="https://geekanddad.wordpress.com/2025/03/05/new-2025-mac-studio-is-impressive-but/" class="more-link">Continue reading<span class="screen-reader-text"> "New 2025 Mac Studio is impressive but&#160;$$$?"</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Priced out the impressive looking Mac Studio Apple just released and wow it adds up fast when you max out the RAM and get the max processor <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">The top of the line new Mac Studio M3 Ultra (32-core CPU, 80-core GPU) with 512G RAM (!) and a 4TB SSD is an impressive and tempting machine, but ~$11K (!!).  Is that &#8220;ridiculously expensive&#8221;?  <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f914.png" alt="🤔" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">A more &#8220;reasonable&#8221; configuration (for me) would be Mac Studio M3 Ultra (28-core CPU, 60-core GPU) with 96GB RAM and 2TB of SSD and that&#8217;s only $4400.</p>



<p class="wp-block-paragraph">Future proof it now that I&#8217;m not replacing machines very often and go 256G RAM and 4TB SSD?  $6K.  Bump the M3 Ultra to 32-core CPU, 80-core GPU, $7500.</p>



<p class="wp-block-paragraph">I can&#8217;t really justify any machine upgrade because I&#8217;m not working again (yet), but it&#8217;s fun to price them out and think about it <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<p class="wp-block-paragraph">What&#8217;s amazing to me is that this &#8216;around $5K&#8217; price for a solid Mac is very close to to the &#8220;standard developer mac&#8221; I&#8217;ve been buying for quite a few years despite inflation.  That means that basically the performance per $ has increased to keep up with inflation.</p>



<p class="wp-block-paragraph">Decided I&#8217;d compare prices then to now and, since these have been business expenses, they&#8217;re in my quicken file going back quite a ways.  Some are missing (not sure why!) and some are uninteresting (test machines so lower spec, etc).</p>



<p class="wp-block-paragraph">Just for fun I put in the equivalent price in today&#8217;s dollars (<em>am I trying to justify the maxed out Studio&#8217;s 11K as &#8220;reasonable?&#8221; <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f602.png" alt="😂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Maybe! <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </em>).</p>



<p class="wp-block-paragraph">(The prices below are apple developer program prices until the hardware purchase benefit went away (not sure what year that was). Had a large discount early on in the 1990s but that went down over time.  The developer program cost $500 a year for years there, but the hardware discount made up for it).</p>



<ul class="wp-block-list">
<li>(1986-1988: 512Ke, MacPlus, Mac II, missing data)</li>



<li>1989 Macintosh IIcx in 1990 (dev discount was big then!) was $4200; $9700 today (and base retail was $5300 but I got more RAM and larger HD options).</li>



<li>(1990 IIci, missing)</li>



<li>1991 PowerBook 170 in 1991 at $3600 + $1400 in RAM &amp; HD upgrades in the first year; $5K $11,600 today.</li>



<li>(IIfx, missing)</li>



<li>1993/1994 PowerBook 180 was $3,335 + $1700 for extra batteries, charger, RAM, modem, hard drive upgrade) so about $5K total; $10,900 today.</li>



<li>(Quadra 700, missing)</li>



<li>1997 PowerBook 3400c was $4786 plus $700 of upgrades; $10,700 today.</li>



<li>2002 Titanium PowerBook $1750 + $450 upgrades; only 2.2K &#8211; great deal for a powerful laptop! $4100 today.</li>



<li>2003 17&#8243; Powerbook G4 $2800 with RAM upgrade; $4800 today.</li>



<li>2005 Dual dual-core G5 Mac (QuadG4) for $2997 (had to get a bigger UPS to handle its startup surge for $250 though! <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f602.png" alt="😂" class="wp-smiley" style="height: 1em; max-height: 1em;" />); $4900 today.</li>



<li>(First Intel PowerMac, missing)</li>



<li>2007 MacBook Pro $1700 + $275 RAM &amp; HD upgrades so right around $2K; $3100 today.</li>



<li>2010 27&#8243; iMac $2200 + $100 RAM upgrade; $3400 today.</li>



<li>2011 13&#8243; MacBook Air + case cables adaptors and accessories $2250; $3100 today. (Great portable mac!)</li>



<li>2017 MacBook Pro $3300; $4300 today.</li>



<li>2020 12&#8243; M1 MacBook Pro $2,250 + $500 dongles (<img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f602.png" alt="😂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> USB-C switch and dongles); $3400 today.</li>
</ul>



<p class="wp-block-paragraph">Anyway.  An amusing way to procrastinate doing a few chores <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">The take away though is that while they seem expensive, Apple computers are a heck of a value for the money considering how much more capable they are from the early ones and how the prices are basically the same despite this <em>and</em> inflation.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2025/03/05/new-2025-mac-studio-is-impressive-but/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2402</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>
	</item>
		<item>
		<title>Shortbread Cookie Recipe</title>
		<link>https://geekanddad.wordpress.com/2024/07/23/shortbread-cookie-recipe/</link>
					<comments>https://geekanddad.wordpress.com/2024/07/23/shortbread-cookie-recipe/#respond</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Tue, 23 Jul 2024 18:20:51 +0000</pubDate>
				<category><![CDATA[Recipes]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/?p=2395</guid>

					<description><![CDATA[Yummy shortbread cookies - especially the spicy chocolate variant :)]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Lavender Shortbread Cookies</p>



<p class="wp-block-paragraph">Variations: Chocolate chunks + hot red chili pepper (ground up)</p>



<p class="wp-block-paragraph">(Weight is Double / Single batch)<br>250g / 125g | 4.5oz Sugar<br>450g / 225g | 8oz Unsalted butter, softened (room temp)<br>600g / 300g | 10.5oz plain flour (whole wheat pastry flour)<br>100g / 50g | 1.75oz brown rice flour (ground brown rice)</p>



<ul class="wp-block-list">
<li>Sugar + Butter in KitchenAid mixer with beater blade<br>start slow but speed up to about speed 5 and<br>cream butter &amp; sugar.<br>Scrape down sides and blade and run a bit more.</li>



<li>Sift flours &amp; add to mix<br>Also add lavender or chocolate+chili pepper</li>



<li>Mix AS LITTLE AS POSSIBLE, slow speed (lowest)<br>The idea is to just mix the ingredients and then test to see if it&#8217;ll squish together and hold shape (indicating that the butter is well mixed in).</li>



<li>Pull out and knead gently until smooth &amp; roll into a log with diameter the diameter of the cookies you want.</li>



<li>Chill for 2 hours+ in fridge in waxed paper (rolled up and ends twisted)</li>



<li>Preheat oven to 350F</li>



<li>Slice &#8220;1/2 inch&#8221; thick disks off the roll (I&#8217;ve always done 1/4 inch) and place on cookie sheet with space between them.<br>(We&#8217;ve also done it on parchment paper on cookie sheet).</li>



<li>Cook 18-20 minutes (until golden brown on edges and centers are firm).<br>-&gt; 28-30 minutes for double batch (two cookie sheets), swapping cookie sheets on shelves top/bottom half way through.</li>
</ul>



<h3 class="wp-block-heading">Chocolate + chili peppers variant:</h3>



<p class="wp-block-paragraph">1/2 tsp ground chili peppers (I used the Mexican market red chillies I grind for burritos).<br>1/2 to 3/4 cup chocolate chips (not really chips, little round chunks from bulk place. 63% cocoa with sugar (and milk?)).</p>



<h3 class="wp-block-heading">Notes:</h3>



<ul class="wp-block-list">
<li>Both the dough and the cooked cookies freeze quite well so you can make a big batch and freeze them for later eating. <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2024/07/23/shortbread-cookie-recipe/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2395</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>
	</item>
		<item>
		<title>A good product idea…</title>
		<link>https://geekanddad.wordpress.com/2023/09/30/a-good-product-idea/</link>
					<comments>https://geekanddad.wordpress.com/2023/09/30/a-good-product-idea/#respond</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Sat, 30 Sep 2023 18:41:00 +0000</pubDate>
				<category><![CDATA[Indie]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/?p=2392</guid>

					<description><![CDATA[A post I made on Mastodon as advice to a younger indie app developer based on my three decades of experience working for smaller software businesses &#8211; mostly as a freelance software engineer &#8211; and watching which ones succeeded and which ones did not: A good product idea: You have to spend time speaking with &#8230; <a href="https://geekanddad.wordpress.com/2023/09/30/a-good-product-idea/" class="more-link">Continue reading<span class="screen-reader-text"> "A good product&#160;idea…"</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">A post I made on Mastodon as advice to a younger indie app developer based on my three decades of experience working for smaller software businesses &#8211; mostly as a freelance software engineer &#8211; and watching which ones succeeded and which ones did not:</p>



<p class="wp-block-paragraph">A good product idea:</p>



<ul class="wp-block-list">
<li>solves a <em>real</em> problem that <em>real</em> people have</li>



<li>these people feel the pain of this problem regularly</li>



<li>they have the money to solve it, and will spend it</li>



<li>there are enough of such people</li>



<li>you can solve it well with software</li>



<li>[ideally] there is little competition or only significantly inferior solutions to yours</li>
</ul>



<p class="wp-block-paragraph">You have to spend time speaking with people to learn these answers.</p>



<p class="wp-block-paragraph">If your idea doesn’t pass the first 5, find a different problem to solve because this one isn’t likely to succeed.</p>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<p class="wp-block-paragraph">There are lots of <em>other</em> things required to develop and market a successful software product, but working on the right product idea is a very important initial decision.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2023/09/30/a-good-product-idea/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2392</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>
	</item>
		<item>
		<title>OpenSCAD</title>
		<link>https://geekanddad.wordpress.com/2023/07/26/openscad/</link>
					<comments>https://geekanddad.wordpress.com/2023/07/26/openscad/#respond</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Wed, 26 Jul 2023 21:23:16 +0000</pubDate>
				<category><![CDATA[3D Printing]]></category>
		<category><![CDATA[CAD]]></category>
		<category><![CDATA[3D_Printing]]></category>
		<category><![CDATA[OpenSCAD]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/?p=2379</guid>

					<description><![CDATA[Recently wanted to make a better version of an irrigation part I bought that just doesn’t work well and so diving into 3d printing again.   As usual, the CAD hurdle remains painful.   Background (feel free to skip) FreeCAD is super powerful, but confusing, and, more importantly, buggy.  Spent a long time drawing the &#8230; <a href="https://geekanddad.wordpress.com/2023/07/26/openscad/" class="more-link">Continue reading<span class="screen-reader-text"> "OpenSCAD"</span></a>]]></description>
										<content:encoded><![CDATA[<p>Recently wanted to make a better version of an irrigation part I bought that just doesn’t work well and so diving into 3d printing again.   As usual, the CAD hurdle remains painful.  </p>
<h2>Background (feel free to skip)</h2>
<p>FreeCAD is super powerful, but confusing, and, more importantly, buggy.  Spent a long time drawing the part and then STL export failed to export some holes.  Redrew the part a different way and some holes worked but others didn’t. GRRRRR!</p>
<p>Gave up on that project in frustration and moved on to more fun activities.</p>
<p>After that experience I did some research on alternatives.  </p>
<p>Fusion360 has a hobby tier that would be appropriate but I seem to recall them cancelling that at one point (and, apparently, bringing it back) and the paid subscription is <em>way</em> too expensive for the very infrequent use I make of 3d printing and CAD software (largely because of the CAD software hurdle).  </p>
<p>I want to love Shapr 3D, but again the every single month subscription cost vs how rarely I’ll actually use it is problematic, and I did run into some difficulties using it when I paid for a month to try it out.  I loved working on the iPad though.</p>
<p>I had a friend who worked at OnShape and had taken a look at it some time ago, and another friend on Mastodon has recently commented that the’s liking it, so that’s something I need to look into but it goes from “Free but share all your cad files publicly” to $1500 per year (way way too much), so that’s pretty useless to me.</p>
<h2>Hello OpenSCAD</h2>
<p>I have a friend who’s long sung praise of OpenSCAD and a talented maker I follow on Mastodon has made it clear he’ll use nothing else.  I tried it out briefly some time ago but the idea of typing in visual things seemed off to me; draw visual things, type textual things just makes the most sense to me.  But I’m to cheap to pay for the visual tools, so OpenSCAD is what I’ll be trying out for my next phase of experiments but this time I’m going to take the time to learn it more thoroughly.</p>
<h2>Some initial cool/useful things I learned</h2>
<p>So far I’m really liking OpenSCAD’s capabilities, though the macOS app’s text editor is <em>very annoyingly different</em> than the native macOS editing key commands and shortcuts.  I finally switched to using BBEdit (<a href="https://barebones.com" rel="nofollow">https://barebones.com</a>) and an outdated OpenSCAD language module for it I found in the OpenSCAD repo (<a href="https://github.com/openscad/openscad/tree/master/contrib" rel="nofollow">https://github.com/openscad/openscad/tree/master/contrib</a>).  I plan on spending the time to update that language module and submitting a PR, but not until <em>after</em> this project is done (no Yak Shaving allowed! <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ).</p>
<p>A couple of really helpful things I’ve run across so far:</p>
<h3><a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Modifier_Characters">Modifier Characters</a> for debugging and visualization aid.  </h3>
<p><em>Super</em> helpful.  I’m using <code><code>%</code></code> and <code>#</code> so far.</p>
<p>Example use:  If you are using one shape to cut out a portion of another, <code>#</code> lets you visualize the shape doing the cutting.</p>
<p>Without <code>#</code>, the following statements:</p>
<pre class="wp-block-code"><code>c_h = 20;
c_r = 10;
pipe_r = 16;
difference() {
    cylinder(c_h, r= c_r);
    rotate([90,0,0])
    translate([0,0, -(pipe_r/2+2)])
    cylinder(h=c_r*2, r = pipe_r);
}
</code></pre>
<pre class="wp-block-code"><code></code></pre>
<p>Gives you:</p>
<p><img style="display: block;margin-left: auto;margin-right: auto" title="curved cylinder bottom.png" src="https://geekanddad.wordpress.com/wp-content/uploads/2023/07/curved-cylinder-bottom.png" alt="Curved cylinder bottom" width="341" height="339" border="0" /></p>
<p> </p>
<p>If you add the <code>#</code> sign in front of the last <code>cylinder</code> call you can see the shape doing the cutout of the bottom of this vertical cylinder:</p>
<pre class="wp-block-code"><code></code></pre>
<pre class="wp-block-code"><code>c_h = 20;
c_r = 10;
pipe_r = 16;
difference() {
    cylinder(c_h, r= c_r);
    rotate([90,0,0])
    translate([0,0, -(pipe_r/2+2)])
    #cylinder(h=c_r*2, r = pipe_r);
}
</code></pre>
<p><img style="display: block;margin-left: auto;margin-right: auto" title="curved cylinder bottom visualized.png" src="https://geekanddad.wordpress.com/wp-content/uploads/2023/07/curved-cylinder-bottom-visualized.png" alt="Curved cylinder bottom visualized" width="344" height="339" border="0" /></p>
<p>Which makes it a <em>lot</em> easier to see what’s going on.</p>
<p class="wp-block-code"> </p>
<pre class="wp-block-code"><code></code></pre>
</p>
<h3>Nested <code>module</code> definitions</h3>
<p>This isn’t mentioned in the manual, but I think it’s going to be very helpful for statement modularization. Turns out you<span style="font-size: 13px"> can </span><em style="font-size: 13px">nest</em> <code style="font-size: 13px">module</code><span style="font-size: 13px"> definitions inside each other.  </span></p>
<p><span style="font-size: 13px">Here’s a made-up example:</span></p>
<pre class="wp-block-code"><code>
module test_outer() {
    inner_test();
    inner_test2();
        module inner_test() {
        translate([100, 150, 0])
        sphere(10);
    }
    module inner_test2() {
        translate([100, 100, 0])
        sphere(20);
    }
}

test_outer();
</code></pre>
<p> </p>
<p>Which gives you:</p>
<p><img loading="lazy" style="display: block;margin-left: auto;margin-right: auto" title="two spheres.png" src="https://geekanddad.wordpress.com/wp-content/uploads/2023/07/two-spheres.png" alt="Two spheres" width="350" height="321" border="0" /></p>
<p> </p>
<p>This is handy for complex part assemblies where you want a single line <code>test_outer();</code> to represent a complex part with multiple sub-parts but don’t want those sub-parts to be constructible outside of the assembly.  Using <code>inner_test();</code> outside of the body of <code>test_outer();</code> raises an error.  <em>Excellent.</em></p>
<p>Anyway, that’s it for this short initial OpenSCAD post.  <em>IFF</em> I find OpenSCAD working out for me I hope to post more as I figure more stuff out <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2023/07/26/openscad/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2379</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>

		<media:content url="https://geekanddad.wordpress.com/wp-content/uploads/2023/07/curved-cylinder-bottom.png" medium="image">
			<media:title type="html">curved cylinder bottom.png</media:title>
		</media:content>

		<media:content url="https://geekanddad.wordpress.com/wp-content/uploads/2023/07/curved-cylinder-bottom-visualized.png" medium="image">
			<media:title type="html">curved cylinder bottom visualized.png</media:title>
		</media:content>

		<media:content url="https://geekanddad.wordpress.com/wp-content/uploads/2023/07/two-spheres.png" medium="image">
			<media:title type="html">two spheres.png</media:title>
		</media:content>
	</item>
		<item>
		<title>A poem that influenced my life, though I knew it naught.</title>
		<link>https://geekanddad.wordpress.com/2022/11/03/a-poem-that-influenced-my-life-though-i-knew-it-naught/</link>
					<comments>https://geekanddad.wordpress.com/2022/11/03/a-poem-that-influenced-my-life-though-i-knew-it-naught/#respond</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Thu, 03 Nov 2022 19:39:57 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/?p=2365</guid>

					<description><![CDATA[A poem that influenced my life, though I knew it naught until today when I read an email from my step dad and just now read it. You see, he read this during his college years and took it to heart. Influenced his life and his architectural practice and, perhaps, why the house I grew &#8230; <a href="https://geekanddad.wordpress.com/2022/11/03/a-poem-that-influenced-my-life-though-i-knew-it-naught/" class="more-link">Continue reading<span class="screen-reader-text"> "A poem that influenced my life, though I knew it&#160;naught."</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"> A poem that influenced my life, though I knew it naught until today when I read an email from my step dad and just now read it. You see, he read this during his college years and took it to heart.  Influenced his life and his architectural practice and, perhaps, why the house I grew up in had a warped plane roof and curved walls, among many other interesting and unusual features <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">Pretty neat poem.</p>



<p class="wp-block-paragraph">The Calf-Path by Sam Foss &#8211; Poems | Academy of American Poets</p>



<p class="wp-block-paragraph"></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<h1 class="wp-block-heading">The Calf-Path</h1>



<p class="wp-block-paragraph"><a href="https://poets.org/poet/sam-foss" class="">Sam Foss</a></p>



<p class="wp-block-paragraph"><strong>I.</strong><br /><br />One day through the primeval wood<br />A calf walked home as good calves should;<br /><br />But made a trail all bent askew,<br />A crooked trail as all calves do.</p>



<p class="wp-block-paragraph">Since then three hundred years have fled,<br />And I infer the calf is dead.</p>



<p class="wp-block-paragraph"><strong>II.</strong></p>



<p class="wp-block-paragraph">But still he left behind his trail,<br />And thereby hangs my moral tale.</p>



<p class="wp-block-paragraph">The trail was taken up next day,<br />By a lone dog that passed that way;</p>



<p class="wp-block-paragraph">And then a wise bell-wether sheep<br />Pursued the trail o&#8217;er vale and steep,</p>



<p class="wp-block-paragraph">And drew the flock behind him, too,<br />As good bell-wethers always do.</p>



<p class="wp-block-paragraph">And from that day, o&#8217;er hill and glade.<br />Through those old woods a path was made.<br /><br /><br /><strong>III.</strong><br /><br />And many men wound in and out,<br />And dodged, and turned, and bent about,</p>



<p class="wp-block-paragraph">And uttered words of righteous wrath,<br />Because &#8217;twas such a crooked path;</p>



<p class="wp-block-paragraph">But still they followed—do not laugh—<br />The first migrations of that calf,</p>



<p class="wp-block-paragraph">And through this winding wood-way stalked<br />Because he wobbled when he walked.<br /><br /><br /><strong>IV.</strong><br /><br />This forest path became a lane,<br />that bent and turned and turned again;</p>



<p class="wp-block-paragraph">This crooked lane became a road,<br />Where many a poor horse with his load</p>



<p class="wp-block-paragraph">Toiled on beneath the burning sun,<br />And traveled some three miles in one.</p>



<p class="wp-block-paragraph">And thus a century and a half<br />They trod the footsteps of that calf.<br /><br /><br /><strong>V.</strong><br /><br />The years passed on in swiftness fleet,<br />The road became a village street;</p>



<p class="wp-block-paragraph">And this, before men were aware,<br />A city&#8217;s crowded thoroughfare.</p>



<p class="wp-block-paragraph">And soon the central street was this<br />Of a renowned metropolis;</p>



<p class="wp-block-paragraph">And men two centuries and a half,<br />Trod in the footsteps of that calf.<br /><br /><br /><strong>VI.</strong><br /><br />Each day a hundred thousand rout<br />Followed the zigzag calf about</p>



<p class="wp-block-paragraph">And o&#8217;er his crooked journey went<br />The traffic of a continent.</p>



<p class="wp-block-paragraph">A Hundred thousand men were led,<br />By one calf near three centuries dead.</p>



<p class="wp-block-paragraph">They followed still his crooked way,<br />And lost one hundred years a day;</p>



<p class="wp-block-paragraph">For thus such reverence is lent,<br />To well established precedent.<br />&nbsp;</p>



<p class="wp-block-paragraph"><strong>VII.</strong></p>



<p class="wp-block-paragraph">A moral lesson this might teach<br />Were I ordained and called to preach;</p>



<p class="wp-block-paragraph">For men are prone to go it blind<br />Along the calf-paths of the mind,</p>



<p class="wp-block-paragraph">And work away from sun to sun,<br />To do what other men have done.</p>



<p class="wp-block-paragraph">They follow in the beaten track,<br />And out and in, and forth and back,</p>



<p class="wp-block-paragraph">And still their devious course pursue,<br />To keep the path that others do.</p>



<p class="wp-block-paragraph">They keep the path a sacred groove,<br />Along which all their lives they move.</p>



<p class="wp-block-paragraph">But how the wise old wood gods laugh,<br />Who saw the first primeval calf.</p>



<p class="wp-block-paragraph">Ah, many things this tale might teach—<br>But I am not ordained to preach.</p>
<cite>This poem is in the public domain.</cite></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2022/11/03/a-poem-that-influenced-my-life-though-i-knew-it-naught/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2365</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>
	</item>
		<item>
		<title>Bus conversion trip &#8211; accessing the internet on the road in 1997</title>
		<link>https://geekanddad.wordpress.com/2022/10/30/bus-conversion-trip-accessing-the-internet-on-the-road-in-1997/</link>
					<comments>https://geekanddad.wordpress.com/2022/10/30/bus-conversion-trip-accessing-the-internet-on-the-road-in-1997/#respond</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Mon, 31 Oct 2022 06:25:40 +0000</pubDate>
				<category><![CDATA[history]]></category>
		<category><![CDATA[random]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/?p=2340</guid>

					<description><![CDATA[Some may remember stories of the bus conversion of a 1980s transit bus (Gillig Phantom, if you&#8217;re into that sort of thing) I did (with some help) and how our family (Geek was only a year old! my how time flies…) lived in it for about 8 months traveling about 25,000 miles around the continental &#8230; <a href="https://geekanddad.wordpress.com/2022/10/30/bus-conversion-trip-accessing-the-internet-on-the-road-in-1997/" class="more-link">Continue reading<span class="screen-reader-text"> "Bus conversion trip &#8211; accessing the internet on the road in&#160;1997"</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Some may remember stories of the bus conversion of a 1980s transit bus (Gillig Phantom, if you&#8217;re into that sort of thing) I did (with some help) and how our family (Geek was only a year old! <em>my how time flies…)</em> lived in it for about 8 months traveling about 25,000 miles around the continental United States.</p>



<p class="wp-block-paragraph">During this period Dad worked remotely for a client programming a Mac application.  But a bit of research will show you that while WiFi &#8211; which we all take for granted now &#8211; had been invented some 10 years earlier Lucent hadn&#8217;t been able to get anyone to adopt it and it wasn&#8217;t actually available on a consumer computer until Apple launched the <a href="https://9to5mac.com/2019/07/22/the-launch-of-wi-fi/">iBook at NY MacWorld</a> in 1999.</p>



<p class="wp-block-paragraph">Oh, but WiFi is so passé <em>now</em> in the 2020s, we have 5G digital wireless on the cellular network! <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" />  Oh the <em>dream</em> of digital transmission on the cellular network was alive in 1997, but it was mostly just that a dream.  Digital cell service was just starting to roll out and I think AT&amp;T had 12 towers in big cities.  I had to buy a special Nokia phone that was analog but also supported digital cellular connection.  And a booster that had to be connected to the car to get enough power to push the signal.  And the highest speed I ever got was 1200 baud despite the advertised 2400 maximum (pretty sure I&#8217;m remembering that right) &#8211; and that was parked directly under one of the few digital towers in the country <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">Here&#8217;s an excerpt I just found on my computer (which prompted this post) of a Bulletin Board System post I found on the &#8220;Bus Conversion News Board&#8221; from January 1999 which makes it clear that even nearly two years later it was still a challenge to get online from the road:</p>



<pre class="wp-block-preformatted">            Re: Wireless Internet, Cheap (relatively), nationwide

       [ Follow Ups ] [ Post Followup ] [ Bus Conversions News Board ]

Posted by Ed Carroll on January 17, 1999 at 18:22:25 PST:

In Reply to: Wireless Internet, Cheap (relatively), nationwide posted by Joe Solbrig on January 17, 1999 at 15:32:17 PST:

Thanks for the info Joe. Sounds like something a lot of us would be
interested in. A couple of questions though: 1. Do I understand you
correctly that if we connect up with this service then AT&amp;T becomes our
regular ISP for unlimited connect time via wireless connection for only $60
per month regardless of our location? (Does that mean worldwide or just the
lower 48?) And 2. You mentioned a $100 "Pocketnet phone". Does that $60
monthly fee allow any voice communication from this "Pocketnet phone" to
friends on a regular land line phone?

: Hello again folks,

: I'm back, thanks to CDPD service from ATT wireless.

: There now is a way to connect to the internet wirelessly, nationwide and
for less than an arm and a leg.

: It takes a bit of looking around to actually get the information on this,

: "CDPD" and "Wireless" are data-broadcasting standards that uses the
cellular radio bands. ATT has used it for things like meter-reading and
stuff for a while. The problem is they traditionally charged per data
transmission and this made the service too expensive. However, recently,
they started a "nationwide unlimited" service which gives unlimited data at
a set price of $60/month. You have to buy a special connection equipment
also (request a "pocketnet phone" for $100 plus the connection kit for
another $100. The special CDPD moderm ).

: This is a business service, so it's best to say you're in business. Aren't we all ;). Also, you have to deal with the ATT office via phone and fax. But they're quite patient.
: They ran no credit check and started my service without my having paid for the equipment (which is good, given the delay my mail gets sometime).

: So all you full-timers, check it out!!

: Joe

          ---------------------------------------------------------

Follow Ups:

          ---------------------------------------------------------

Post a Followup

 Name
 Email Address
 Subject
 Comments:



          ---------------------------------------------------------
       [ Follow Ups ] [ Post Followup ] [ Bus Conversions News Board ]</pre>



<p class="wp-block-paragraph">Makes the kind of speed and service we can get now pretty <em>amazing</em> in contrast, eh?</p>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<p class="wp-block-paragraph">So, how <em>did</em> I upload my source code, pull down shared source, get my email, and otherwise work remotely from a 40&#8242; transit (city) bus as we drove around the country for 8 months? </p>



<p class="wp-block-paragraph">Two techniques I figured out:</p>



<p class="wp-block-paragraph">1. Most businesses have a fax machine and that&#8217;s often the only analog line in the office (the rest were part of the business PBX digital phone system).  So I&#8217;d ask to borrow that line and since most didn&#8217;t need their fax machine online all the time, they&#8217;d often let me.  Some hotels had a business communications area off the lobby that you could access without having a room if you acted confident and carried a laptop briefcase (and didn&#8217;t look too shaggy :)).</p>



<p class="wp-block-paragraph">2. This gizmo:</p>



<figure class="wp-block-image size-large is-resized"><a href="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5287.jpg"><img loading="lazy" data-attachment-id="2352" data-permalink="https://geekanddad.wordpress.com/2022/10/30/bus-conversion-trip-accessing-the-internet-on-the-road-in-1997/img_5287/" data-orig-file="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5287.jpg" data-orig-size="3024,4032" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;1.6&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 12 Pro&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1667171069&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.2&quot;,&quot;iso&quot;:&quot;80&quot;,&quot;shutter_speed&quot;:&quot;0.0083333333333333&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="img_5287" data-image-description="" data-image-caption="" data-medium-file="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5287.jpg?w=225" data-large-file="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5287.jpg?w=768" src="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5287.jpg?w=768" alt="" class="wp-image-2352" width="384" height="512" srcset="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5287.jpg?w=768 768w, https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5287.jpg?w=384 384w, https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5287.jpg?w=113 113w, https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5287.jpg?w=225 225w" sizes="(max-width: 384px) 85vw, 384px" /></a><figcaption class="wp-element-caption">A &#8220;fancy&#8221; for the time portable acoustic coupler.</figcaption></figure>



<p class="wp-block-paragraph">What is this? How is it used?  It&#8217;s an <em>Acoustic Coupler</em> and it&#8217;s used to connect to a POTS telephone, like this:</p>



<figure class="wp-block-image size-large is-resized"><a href="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5288.jpg"><img loading="lazy" data-attachment-id="2355" data-permalink="https://geekanddad.wordpress.com/2022/10/30/bus-conversion-trip-accessing-the-internet-on-the-road-in-1997/img_5288/" data-orig-file="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5288.jpg" data-orig-size="3024,4032" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;1.6&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 12 Pro&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1667171136&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.2&quot;,&quot;iso&quot;:&quot;80&quot;,&quot;shutter_speed&quot;:&quot;0.0083333333333333&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="img_5288" data-image-description="" data-image-caption="" data-medium-file="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5288.jpg?w=225" data-large-file="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5288.jpg?w=768" src="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5288.jpg?w=768" alt="" class="wp-image-2355" width="384" height="512" srcset="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5288.jpg?w=768 768w, https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5288.jpg?w=384 384w, https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5288.jpg?w=113 113w, https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5288.jpg?w=225 225w" sizes="(max-width: 384px) 85vw, 384px" /></a></figure>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Yah, that&#8217;s an &#8220;antique&#8221; <em>rotary</em> <em>phone</em> and you can see the acoustic coupler held against the handset with the integrated velcro strap.  This is literally a physical connection between the speaker on the acoustic coupler and the microphone on the phone handset and the microphone on the acoustic coupler and the speaker on the handset.   So primitive!</p>



<p class="wp-block-paragraph">And yet, <em>it worked.</em>  Well, assuming I could find a payphone that hadn&#8217;t had beer poured on it and wasn&#8217;t trashed from being pounded against the side of the phone booth in frustration, etc.</p>



<p class="wp-block-paragraph">My strategy was to find the largest bank of payphones &#8211; yah, they made them in rows, something like this:</p>



<figure class="wp-block-image size-large"><a href="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/image.png"><img loading="lazy" width="800" height="600" data-attachment-id="2359" data-permalink="https://geekanddad.wordpress.com/2022/10/30/bus-conversion-trip-accessing-the-internet-on-the-road-in-1997/image/" data-orig-file="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/image.png" data-orig-size="800,600" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/image.png?w=300" data-large-file="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/image.png?w=800" src="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/image.png?w=800" alt="" class="wp-image-2359" srcset="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/image.png 800w, https://geekanddad.wordpress.com/wp-content/uploads/2022/10/image.png?w=150 150w, https://geekanddad.wordpress.com/wp-content/uploads/2022/10/image.png?w=300 300w, https://geekanddad.wordpress.com/wp-content/uploads/2022/10/image.png?w=768 768w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px" /></a><figcaption class="wp-element-caption">&#8220;Toronto payphones covered with graffiti and notices.  Telephone books are contained in weatherproof holders hanging from the bottom of each phone.&#8221; &#8212; <a href="https://en.wikipedia.org/wiki/Payphone#/media/File:Nm_toronto_pay_phones_and_newspaper_boxes_toronto.jpg">wikipedia</a><br>Image: CC BY-SA 3.0</figcaption></figure>



<p class="wp-block-paragraph"> but I&#8217;d look for at least 5 and 8 or 10 was a better bet.  I&#8217;d take my laptop and a folding camp chair and start at one end and work my way down the bank of pay phones until I found one that could connect at 9600 baud or better (14.4 was rarely possible, and 28.8 was a challenge) and hold the connection long enough to upload/download etc.</p>



<p class="wp-block-paragraph">You&#8217;d use a calling card in case you had to call long-distance to get an access point (phone number that would answer and connect you to the internet) and you had to program all that stuff into modem dial string so it would call the calling card billing number, put in your calling card number and pin, and then dial the closest access point number.</p>



<p class="wp-block-paragraph">Fun times!</p>



<p class="wp-block-paragraph">Anyway, it was either this or the Iridium satellite phone service which was $25K for the antenna/phone unit and $4/minute for pretty slow data (I don&#8217;t remember but it wasn&#8217;t 9600 baud even, IIRC).  My clients weren&#8217;t paying me that kind of money <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">So, next time you open your smartphone and surf the web, or work remotely off of a wifi or you cellular hotspot &#8211; be thankful at the freedom we have now and laugh at how primitive working remotely was back in 1997. <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f643.png" alt="🙃" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2022/10/30/bus-conversion-trip-accessing-the-internet-on-the-road-in-1997/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2340</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>

		<media:content url="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5287.jpg?w=768" medium="image" />

		<media:content url="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/img_5288.jpg?w=768" medium="image" />

		<media:content url="https://geekanddad.wordpress.com/wp-content/uploads/2022/10/image.png?w=800" medium="image" />
	</item>
		<item>
		<title>Getting disk background encryption status</title>
		<link>https://geekanddad.wordpress.com/2022/10/28/getting-disk-background-encryption-status/</link>
					<comments>https://geekanddad.wordpress.com/2022/10/28/getting-disk-background-encryption-status/#respond</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Fri, 28 Oct 2022 19:07:46 +0000</pubDate>
				<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/?p=2332</guid>

					<description><![CDATA[Context: Making a new bootable backup of my 13&#8243; M1 MBP before upgrading macOS and taking advantage of the fact that SuperDuper! 3.7 now supports bootable clones (yay!). However, one unfortunate fact of creating them is that SuperDuper! docs say you have to boot from that drive and turn on File Vault manually if you &#8230; <a href="https://geekanddad.wordpress.com/2022/10/28/getting-disk-background-encryption-status/" class="more-link">Continue reading<span class="screen-reader-text"> "Getting disk background encryption&#160;status"</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Context:  Making a new bootable backup of my 13&#8243; M1 MBP before upgrading macOS and taking advantage of the fact that SuperDuper! 3.7 now supports bootable clones (yay!).   However, one unfortunate fact of creating them is that SuperDuper! docs say you have to boot from that drive and turn on File Vault manually if you want it encrypted (you want it encrypted <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ).</p>



<p class="wp-block-paragraph">I&#8217;m pretty sure there&#8217;s a way to do this with diskutil and whatnot instead of booting from the clone and turning it on there, but I didn&#8217;t feel up to digging through how to do that (it&#8217;s complicated by the need to add users manually before turning on encryption, is my vague memory of the steps I had to do last time I dug into this).</p>



<p class="wp-block-paragraph">However, David &#8211; maker of SuperDuper! &#8211; was kind enough to mention that once you turn it on you can then boot back from your main drive and connect the backup clone and let it finish the encryption in the background (this is good because it said 10 days to complete &#8211; mine is a very slow USB external drive, apparently!).</p>



<p class="wp-block-paragraph">The drive kept blinking for two days and I was trying to figure out how to tell how much progress it had made and if it was done or if spotlight was indexing the drive or what.  Here are some commands that I found to help with that.</p>



<pre class="wp-block-code"><code>diskutil cs list</code></pre>



<p class="wp-block-paragraph">will produce a listing of Core Storage volumes and their &#8220;Encryption Status&#8221; and &#8220;Conversion Status&#8221; which will indicate complete or not.</p>



<p class="wp-block-paragraph">Unfortunately, the bootable combined volume + &#8220;Data&#8221; doesn&#8217;t come up in that list (it&#8217;s something different, apparently).</p>



<p class="wp-block-paragraph">So for that I was able to find what I wanted using:</p>



<pre class="wp-block-code"><code>diskutil apfs list</code></pre>



<p class="wp-block-paragraph">which outputs an entry like this for the in-progress file vault encryption volume (emphasis mine):</p>



<pre class="wp-block-preformatted">|   +-&gt; Volume disk7s2 8C8FD74F-ACE0-4E1D-B67B-2F021A3C5DD7
|   |   ---------------------------------------------------
|   |   APFS Volume Disk (Role):   disk7s2 (Data)
|   |   Name:                      Data (Case-insensitive)
|   |   Mount Point:               /Volumes/Data
|   |   Capacity Consumed:         1459954380800 B (1.5 TB)
|   |   Sealed:                    No
|   |   <strong>Encryption Progress:    75.0% (Unlocked)</strong>
</pre>



<p class="wp-block-paragraph">You can specify the container disk (which is <code>disk 7</code> in this case) and see just the volumes in that container:  <code>diskutil apfs list disk7</code></p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2022/10/28/getting-disk-background-encryption-status/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2332</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>
	</item>
		<item>
		<title>Some funny finds from the previous millennium…</title>
		<link>https://geekanddad.wordpress.com/2022/08/16/some-funny-finds-from-the-previous-millennium/</link>
					<comments>https://geekanddad.wordpress.com/2022/08/16/some-funny-finds-from-the-previous-millennium/#respond</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Wed, 17 Aug 2022 02:18:35 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[random]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/2022/08/16/some-funny-finds-from-the-previous-millennium/</guid>

					<description><![CDATA[Looking for the exploded view of an electric saw I need to take apart and found some design sketches for a desk I made myself &#8211; has dimensions for a Macintosh IIci for the computer area 🙂 The other funny thing is the sketches are on the back of ImageWriter II (dot-matrix) printout of Pascal &#8230; <a href="https://geekanddad.wordpress.com/2022/08/16/some-funny-finds-from-the-previous-millennium/" class="more-link">Continue reading<span class="screen-reader-text"> "Some funny finds from the previous&#160;millennium…"</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Looking for the exploded view of an electric saw I need to take apart and found some design sketches for a desk I made myself &#8211; has dimensions for a <em>Macintosh IIci</em> for the computer area <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">The other funny thing is the sketches are on the back of ImageWriter II (dot-matrix) printout of Pascal code from 1988 for an iChing app I did for a client <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">The <kbd>Dissolve(…)</kbd> routine call in it is calling out to a 68k asm routine I wrote to do a fast dissolve from an offscreen grafport to the screen &#8211; likely the first assembly language code I shipped in a commercial product <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">Anyway, likely only amusing to me as a reminder of a time in the past, but they were some good times so posting it here to save the smile they brought to my face.</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1007" height="1024" data-attachment-id="2328" data-permalink="https://geekanddad.wordpress.com/2022/08/16/some-funny-finds-from-the-previous-millennium/img_4942/" data-orig-file="https://geekanddad.wordpress.com/wp-content/uploads/2022/08/img_4942.jpg" data-orig-size="1803,1834" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="img_4942" data-image-description="" data-image-caption="" data-medium-file="https://geekanddad.wordpress.com/wp-content/uploads/2022/08/img_4942.jpg?w=295" data-large-file="https://geekanddad.wordpress.com/wp-content/uploads/2022/08/img_4942.jpg?w=840" src="https://geekanddad.wordpress.com/wp-content/uploads/2022/08/img_4942.jpg?w=1007" alt="" class="wp-image-2328" srcset="https://geekanddad.wordpress.com/wp-content/uploads/2022/08/img_4942.jpg?w=1007 1007w, https://geekanddad.wordpress.com/wp-content/uploads/2022/08/img_4942.jpg?w=147 147w, https://geekanddad.wordpress.com/wp-content/uploads/2022/08/img_4942.jpg?w=295 295w, https://geekanddad.wordpress.com/wp-content/uploads/2022/08/img_4942.jpg?w=768 768w, https://geekanddad.wordpress.com/wp-content/uploads/2022/08/img_4942.jpg?w=1440 1440w, https://geekanddad.wordpress.com/wp-content/uploads/2022/08/img_4942.jpg 1803w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2022/08/16/some-funny-finds-from-the-previous-millennium/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2329</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>

		<media:content url="https://geekanddad.wordpress.com/wp-content/uploads/2022/08/img_4942.jpg?w=1007" medium="image" />
	</item>
		<item>
		<title>iOS Feedback Assistant on non-beta iOS &#8211; accessing &#038; visibility</title>
		<link>https://geekanddad.wordpress.com/2022/08/07/ios-feedback-assistant-on-non-beta-ios-accessing-visibility/</link>
					<comments>https://geekanddad.wordpress.com/2022/08/07/ios-feedback-assistant-on-non-beta-ios-accessing-visibility/#respond</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Sun, 07 Aug 2022 23:25:40 +0000</pubDate>
				<category><![CDATA[tips]]></category>
		<category><![CDATA[iOS]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/?p=2321</guid>

					<description><![CDATA[The Feedback Assistant iOS app is visible and acts like a normal app on beta builds of iOS, but it’s hidden in release versions of iOS. On release builds the app icon is hidden on the Springboard/Home screen, it doesn’t come up in Spotlight searches, Siri can’t find it, and the process is hidden in &#8230; <a href="https://geekanddad.wordpress.com/2022/08/07/ios-feedback-assistant-on-non-beta-ios-accessing-visibility/" class="more-link">Continue reading<span class="screen-reader-text"> "iOS Feedback Assistant on non-beta iOS &#8211; accessing &#38;&#160;visibility"</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">The Feedback Assistant iOS app is visible and acts like a normal app on beta builds of iOS, but it’s hidden in release versions of iOS.  On release builds the app icon is hidden on the Springboard/Home screen, it doesn’t come up in Spotlight searches, Siri can’t find it, and the process is hidden in the process switcher if you do get it launched.</p>



<p class="wp-block-paragraph">The magic incantation to make it visible on release builds of iOS is to enter:</p>



<pre class="wp-block-preformatted">applefeedback://inbox?make_visible=1</pre>



<p class="wp-block-paragraph">in the Safari address bar to make the Feedback Assistant app on iOS always visible (spotlight, app icon, Siri search, process switcher, etc).</p>



<p class="wp-block-paragraph">or, if you want to leave it hidden and auto-hiding but want to launch Feedback Assistant to file a new feedback enter the following in Safari:</p>



<pre class="wp-block-preformatted">applefeedback://new</pre>



<p class="wp-block-paragraph">Use just:</p>



<pre class="wp-block-preformatted">applefeedback://</pre>



<p class="wp-block-paragraph">alone to switch to Feedback Assistant without changing visibility or starting a new feedback (because Feedback Assistant is hidden from the process switcher, you need this if you are in Feedback Assistant and want/need to switch to another app but want to come back to Feedback Assistant to finish the feedback you’re editing, for example).</p>



<p class="wp-block-paragraph">This is somewhat documented by Apple here:  <a href="https://developer.apple.com/bug-reporting/">https://developer.apple.com/bug-reporting/</a></p>



<p class="wp-block-paragraph"><strong>Note 1:</strong> You’ll need an Apple ID to file feedback reports.</p>



<p class="wp-block-paragraph"><strong>Note 2:</strong>  You can always go to <a href="http://feedbackassistant.apple">feedbackassistant.apple.com</a> to access your feedback assistant account without the Feedback Assistant iOS app, but you can’t include sysdiagnose files and it doesn’t have quite the same ease of use as the app.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2022/08/07/ios-feedback-assistant-on-non-beta-ios-accessing-visibility/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2321</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>
	</item>
		<item>
		<title>How to eat half an ice cream sandwich</title>
		<link>https://geekanddad.wordpress.com/2022/08/03/how-to-eat-half-an-ice-cream-sandwich/</link>
					<comments>https://geekanddad.wordpress.com/2022/08/03/how-to-eat-half-an-ice-cream-sandwich/#respond</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Wed, 03 Aug 2022 22:53:05 +0000</pubDate>
				<category><![CDATA[humor]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[Tips]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/?p=2315</guid>

					<description><![CDATA[I told someone I’d just eaten half an ice cream sandwich and they said they were impressed.  🤔 It wasn’t trivial, because I do enjoy sweets, but wasn’t that difficult. Here’s how to successfully eat half an ice cream sandwich (or anything else your body craves), from easy to difficult: 1) [Easy] Take an ice &#8230; <a href="https://geekanddad.wordpress.com/2022/08/03/how-to-eat-half-an-ice-cream-sandwich/" class="more-link">Continue reading<span class="screen-reader-text"> "How to eat half an ice cream&#160;sandwich"</span></a>]]></description>
										<content:encoded><![CDATA[<p>I told someone I’d just eaten half an ice cream sandwich and they said they were impressed.  <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f914.png" alt="🤔" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>It wasn’t trivial, because I do enjoy sweets, but wasn’t that difficult.</p>
<p>Here’s how to successfully eat half an ice cream sandwich (or anything else your body craves), from easy to difficult:</p>
<p>1) [Easy] Take an ice cream sandwich out of the package and cut it in half. Hand half to your wife/kid/friend/neighbor/etc and then pick up your half and enjoy it.</p>
<p>2) [Not difficult] Store your ice cream sandwiches in a freezer in the basement/garage.  Go get one and bring it to the kitchen.  Open one end of the package and slide the ice cream sandwich out of the package and put it on a plate. Cut it in half and put half back into the package.  Take that half an ice cream sandwich in a package back to the freezer in the basement/garage and put it away.  <i>Only then</i> do you pick up the half you’re going to eat and enjoy it.</p>
<p>3) [Medium] Same as above but don’t bother taking the half you’re saving back to the basement until <em>after</em> you eat the half you’re going to eat.</p>
<p>4 [Difficult] Open the package and start eating the ice cream sandwich. When you’ve eaten half of it, <em>stop</em> <em>eating it</em>, close up the package, and put it back into the freezer.</p>
<p> </p>
<p>So, I wouldn’t be impressed that you ate only half an ice cream sandwich unless you did number 4 on this list <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p> </p>
<p>* I did (2) on the list, fwtw <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2022/08/03/how-to-eat-half-an-ice-cream-sandwich/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2315</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>
	</item>
		<item>
		<title>Quick Action &#8216;shortcut&#8217; to clear metadata from a file in Finder</title>
		<link>https://geekanddad.wordpress.com/2022/08/01/quick-action-shortcut-to-clear-metadata-from-a-file-in-finder/</link>
					<comments>https://geekanddad.wordpress.com/2022/08/01/quick-action-shortcut-to-clear-metadata-from-a-file-in-finder/#respond</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Mon, 01 Aug 2022 21:50:55 +0000</pubDate>
				<category><![CDATA[Utilities]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/?p=2312</guid>

					<description><![CDATA[When you use AirDrop to move an image from your iOS device to your Mac macOS adds some metadata that made me uncomfortable. In particular, the com.apple.metadata:kMDItemWhereFroms metadata is a binary property list which includes the name of the device it came from. The default name is often your name, as in, “Dad’s iPhone 12 Pro”. &#8230; <a href="https://geekanddad.wordpress.com/2022/08/01/quick-action-shortcut-to-clear-metadata-from-a-file-in-finder/" class="more-link">Continue reading<span class="screen-reader-text"> "Quick Action &#8216;shortcut&#8217; to clear metadata from a file in&#160;Finder"</span></a>]]></description>
										<content:encoded><![CDATA[<p>When you use AirDrop to move an image from your iOS device to your Mac macOS adds some metadata that made me uncomfortable. In particular, the <strong>com.apple.metadata:kMDItemWhereFroms</strong> metadata is a binary property list which includes the <em>name</em> of the device it came from. The default name is often your name, as in, “Dad’s iPhone 12 Pro”.</p>
<p>Lots of ways you might share that image which don’t copy that data, but copying the file to another Mac through an external hard drive or file sharing, at minimum, seems to transfer this metadata across.  Sending as an email attachment, or as a Messages message attachment <i>doesn’t</i> seem to transfer this metadata, on the other hand.  It would be nice to have a preference to prevent adding this to the file metadata (FB10992657).</p>
<p>Since I’m not 100% clear when this metadata is getting transferred and when it isn’t, I wrote a small macOS Shortcut to strip it.  First Shortcut I’ve put together and the lack of logging for shell commands or of any kind makes Shortcuts <em>significantly</em> less usable than Automator, for example (where I had to go to figure out what was going wrong).  Also the initial text for an Run Script node in a Quick Action are not as helpful as the Automator environment (FB10993044).</p>
<p>Anyway, here’s the result:</p>
<p><img loading="lazy" style="display:block;margin-left:auto;margin-right:auto;" title="ClearMetadata.png" src="https://geekanddad.wordpress.com/wp-content/uploads/2022/08/clearmetadata.png" alt="ClearMetadata" width="599" height="376" border="0" /></p>
<p>I’d attach the actual shortcut file but Apple chooses to make them tightly linked to the creator and doesn’t allow sharing the <em>source code</em> for the shortcut without attaching my AppleID certificate to the file (WTH?!) (FB10993444).</p>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2022/08/01/quick-action-shortcut-to-clear-metadata-from-a-file-in-finder/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2312</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>

		<media:content url="https://geekanddad.wordpress.com/wp-content/uploads/2022/08/clearmetadata.png" medium="image">
			<media:title type="html">ClearMetadata.png</media:title>
		</media:content>
	</item>
		<item>
		<title>AppleScript to search the contents of Safari Windows &#038; Tabs</title>
		<link>https://geekanddad.wordpress.com/2022/07/14/applescript-to-search-the-contents-of-safari-windows-tabs/</link>
					<comments>https://geekanddad.wordpress.com/2022/07/14/applescript-to-search-the-contents-of-safari-windows-tabs/#respond</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Fri, 15 Jul 2022 07:05:40 +0000</pubDate>
				<category><![CDATA[Utilities]]></category>
		<category><![CDATA[AppleScript]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/?p=2307</guid>

					<description><![CDATA[I have too many windows open in Safari (416 tabs in 133 windows currently &#8211; yah, I wrote an AppleScript to count those 🙂 ). Got tired of not being able to find something I knew I had open so I wrote an AppleScript to search the text content of all Safari tabs in all &#8230; <a href="https://geekanddad.wordpress.com/2022/07/14/applescript-to-search-the-contents-of-safari-windows-tabs/" class="more-link">Continue reading<span class="screen-reader-text"> "AppleScript to search the contents of Safari Windows &#38;&#160;Tabs"</span></a>]]></description>
										<content:encoded><![CDATA[<p>I have too many windows open in Safari (416 tabs in 133 windows currently &#8211; yah, I wrote an AppleScript to count those <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ).</p>
<p>Got tired of not being able to find something I knew I had open so I wrote an AppleScript to search the text content of all Safari tabs in all Safari windows that aren’t minimized (even across Spaces).  Does not currently search tabs in windows that are minimized to the dock.</p>
<p>I’ve now found this useful enough that I thought I’d share it.  Disclaimer: I’m not an AppleScript programmer and don’t really like AppleScript (probably because I don’t know the language and tricks!).  There are likely things that could be done better or smarter.  Contributions welcome.</p>
<p>That said, this seems to generally work and, thanks to me learning about using references, fast enough that I wasn’t sure it was actually working at first <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Source is on GitHub <a href="https://github.com/GeekAndDadDad/Applescript_SearchInSafari">here</a>.</p>
<p>Instructions for installation are in the Read Me there.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2022/07/14/applescript-to-search-the-contents-of-safari-windows-tabs/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2307</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>
	</item>
		<item>
		<title>SwiftUI &#8211; Simple ScrollViewReader use to get ScrollView to start at the top left.</title>
		<link>https://geekanddad.wordpress.com/2022/06/22/swiftui-simple-scrollviewreader-use-to-get-scrollview-to-start-at-the-top-left/</link>
					<comments>https://geekanddad.wordpress.com/2022/06/22/swiftui-simple-scrollviewreader-use-to-get-scrollview-to-start-at-the-top-left/#respond</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Wed, 22 Jun 2022 21:44:03 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/?p=2299</guid>

					<description><![CDATA[Had occasion to use a SwiftUI ScrollView today and ran into the issue where the SwiftUI team decided to use one of the two most sensible defaults for initial presentation when the content is too large to fit in the container &#8211; center the content. This makes sense for images or maps, but not for &#8230; <a href="https://geekanddad.wordpress.com/2022/06/22/swiftui-simple-scrollviewreader-use-to-get-scrollview-to-start-at-the-top-left/" class="more-link">Continue reading<span class="screen-reader-text"> "SwiftUI &#8211; Simple ScrollViewReader use to get ScrollView to start at the top&#160;left."</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Had occasion to use a SwiftUI <code>ScrollView</code> today and ran into the issue where the SwiftUI team decided to use one of the two most sensible defaults for initial presentation when the content is too large to fit in the container &#8211; <em>center the content</em>.  This makes sense for images or maps, but not for much of anything else I am thinking of.  Everything else seems to want top left (for left-to-right locales at least).  Strange that something that a large percentage of people are going to want isn&#8217;t as easy to set as alignment or something, but so it goes.<br><br>Anyway, this gave me an opportunity to read up on <code>ScrollViewReader</code> which, combined with the <code>.onAppear</code> modifier, can get the initial presentation of a <code>ScrollView</code> to the top left like so many want/need it to be.<br><br>Putting the code here so I remember for next time and in case anyone else finds a bazillion Stack Overflow posts about how <code>ScrollView</code> is so hard to make display properly but no modern <code>ScrollViewReader</code> answers.</p>



<pre class="wp-block-code has-background" style="background-color:#f7f6f6;"><code>//
//  ContentView.swift
//  trashme
//

import SwiftUI

struct ContentView : View {
  var cellSize: CGFloat = 50
  var numRows: Int = 30
  var numCols: Int = 10
  var body : some View {

    VStack(alignment: .leading, spacing: 20) {
     <strong> ScrollViewReader() { proxy in</strong>
        ScrollView(&#091;.horizontal,.vertical], showsIndicators: true) {
          HStack( alignment: .top, spacing: 0) {
            VStack ( alignment: .leading, spacing: 0) {
              ForEach(0 ..&lt; numRows, id: \.self) { row in
                Text("row " + row.description)
                  .frame( height: self.cellSize )
              }
            }
            ForEach(0 ..&lt; self.numCols, id: \.self) { col in
              VStack( spacing: 0) {
                ForEach(0 ..&lt; self.numRows, id: \.self) { row in
                  Text("\(row), \(col)")
                    .frame( width: self.cellSize, 
                            height: self.cellSize, 
                            alignment: .center)
                    .border(.blue)
                }
              }
            }
          }
          <strong>.id("root")</strong>  // since our ForEach views don't really 
          		// have true ids (\.self ~)  
          		// we make one for the outer HStack
          		// in the ScrollView
        }
        <strong>.onAppear {
          proxy.scrollTo("root", anchor: .topLeading)
        }</strong>
      }
    }
  }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}</code></pre>



<p class="wp-block-paragraph">And here&#8217;s what it looks like in an iOS SwiftUI preview pane:</p>



<p class="wp-block-paragraph"></p>



<figure class="wp-block-image size-large"><a href="https://geekanddad.wordpress.com/wp-content/uploads/2022/06/scrollview.png"><img loading="lazy" width="453" height="623" data-attachment-id="2304" data-permalink="https://geekanddad.wordpress.com/2022/06/22/swiftui-simple-scrollviewreader-use-to-get-scrollview-to-start-at-the-top-left/scrollview/" data-orig-file="https://geekanddad.wordpress.com/wp-content/uploads/2022/06/scrollview.png" data-orig-size="453,623" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="scrollview" data-image-description="" data-image-caption="" data-medium-file="https://geekanddad.wordpress.com/wp-content/uploads/2022/06/scrollview.png?w=218" data-large-file="https://geekanddad.wordpress.com/wp-content/uploads/2022/06/scrollview.png?w=453" src="https://geekanddad.wordpress.com/wp-content/uploads/2022/06/scrollview.png?w=453" alt="" class="wp-image-2304" srcset="https://geekanddad.wordpress.com/wp-content/uploads/2022/06/scrollview.png 453w, https://geekanddad.wordpress.com/wp-content/uploads/2022/06/scrollview.png?w=109 109w, https://geekanddad.wordpress.com/wp-content/uploads/2022/06/scrollview.png?w=218 218w" sizes="(max-width: 453px) 85vw, 453px" /></a></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2022/06/22/swiftui-simple-scrollviewreader-use-to-get-scrollview-to-start-at-the-top-left/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2299</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>

		<media:content url="https://geekanddad.wordpress.com/wp-content/uploads/2022/06/scrollview.png?w=453" medium="image" />
	</item>
		<item>
		<title>Twitter Advanced Search cheatsheet</title>
		<link>https://geekanddad.wordpress.com/2022/06/10/twitter-advanced-search-cheatsheet/</link>
					<comments>https://geekanddad.wordpress.com/2022/06/10/twitter-advanced-search-cheatsheet/#respond</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Sat, 11 Jun 2022 01:39:09 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/?p=2293</guid>

					<description><![CDATA[Here so I can find it again 🙂 from:username to:username // to username @username // mentioning @username keyword // can be a #hashtag -keyword keyword OR keyword min_retweets: x min_faves: x min_replies: x filter:links filter:images // any image filter:twimg // twitter pic.twitter.com image filter:video filter:native_video filter:periscope filter:vine filter:media // image or video filter:retweets filter:safe filter:verified &#8230; <a href="https://geekanddad.wordpress.com/2022/06/10/twitter-advanced-search-cheatsheet/" class="more-link">Continue reading<span class="screen-reader-text"> "Twitter Advanced Search&#160;cheatsheet"</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Here so I can find it again <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<pre class="wp-block-preformatted">from:username
to:username       // to username
@username         // mentioning @username
keyword           // can be a #hashtag
-keyword
keyword OR keyword
min_retweets: x
min_faves: x
min_replies: x
filter:links
filter:images     // any image
filter:twimg      // twitter pic.twitter.com image
filter:video
filter:native_video
filter:periscope
filter:vine
filter:media      // image or video
filter:retweets
filter:safe
filter:verified   // verified users
-filter:____      // use with any of the above filter nouns to exclude
since:YYYY-MM-DD
until:YYYY-MM-DD
near:X within:10mi // (where X is a city name)
list:user/listname
url:apple          // has url containing "apple" anywhere in it
lang:languagecode  // en, da, cs, de, es, fr, it, ja, ko, nl, no, pt, ro, uk,…</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2022/06/10/twitter-advanced-search-cheatsheet/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2293</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>
	</item>
		<item>
		<title>Taking Mars Edit 4 for a spin!</title>
		<link>https://geekanddad.wordpress.com/2022/05/23/taking-mars-edit-4-for-a-spin/</link>
					<comments>https://geekanddad.wordpress.com/2022/05/23/taking-mars-edit-4-for-a-spin/#comments</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Tue, 24 May 2022 04:59:49 +0000</pubDate>
				<category><![CDATA[random]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/?p=2273</guid>

					<description><![CDATA[So I was sad the WordPress macOS “app” is just an Electron app that wraps the website with a few macOS menu items to jump to specific pages on the site.  Thought I’d give MarsEdit a try.  But the Mac App Store glitched 😦     Worked after I quit and restarted the App Store. &#8230; <a href="https://geekanddad.wordpress.com/2022/05/23/taking-mars-edit-4-for-a-spin/" class="more-link">Continue reading<span class="screen-reader-text"> "Taking Mars Edit 4 for a&#160;spin!"</span></a>]]></description>
										<content:encoded><![CDATA[<p>So I was sad the WordPress macOS “app” is just an Electron app that wraps the website with a few macOS menu items to jump to specific pages on the site. </p>
<p>Thought I’d give MarsEdit a try.  But the Mac App Store glitched <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f626.png" alt="😦" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p> </p>
<p><img loading="lazy" title="MarsEditDownloadAppStoreGlitch.png" src="https://geekanddad.wordpress.com/wp-content/uploads/2022/05/marseditdownloadappstoreglitch.png" alt="AppStore download error for MarsEdit" width="252" height="211" border="0" /></p>
<p> </p>
<p>Worked after I quit and restarted the App Store.</p>
<p>So one thing I’m not seeing is how to have it post to Twitter when I post to my blog.  Maybe that’ll happen inside of WordPress?</p>
<p><em><strong>It DOES!  </strong></em> Ok, that’s pretty cool.  This might work after all.</p>
<p> </p>
<p>Hmm.  So maybe I’ve been using Pages &amp; Numbers too much lately, and the WordPress site, but I find myself looking to the right side “Options” pane for formatting commands.  I often want to format some content as code (go figure!) and having that very handy is nice.</p>
<p>OH MY WOWZA!  You can add your own formatting macros to the Format menu with key command shortcuts.  Ok.  <em>That</em> is slick.</p>
<pre class="wp-block-code"><code>let foo = 12</code></pre>
<p>Little bit of trouble getting <em>out</em> of code mode.. but not terrible.</p>
<p>— </p>
<p>Wow. The feature where MarsEdit downloads my template from WordPress so that it can preview posts is very cool.</p>
<p>––</p>
<p>There are a few things that are tripping me up, but since I want to put more of the content I usually put on twitter onto a platform that I can keep if I bail on twitter, this seems like a good way to do it.  (I think about micro.blog also, but I just don’t ‘get’ it.  ¯\_(ツ)_/¯ ).</p>
<p>I do wish MarsEdit would save out static blog posts and use FTP to upload them to a statically hosted blog/site.  But a WPXML roc adaptor to Jekyll or something has been sketched out by two different friends so maybe that’ll materialize somehow.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2022/05/23/taking-mars-edit-4-for-a-spin/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2273</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>

		<media:content url="https://geekanddad.wordpress.com/wp-content/uploads/2022/05/marseditdownloadappstoreglitch.png" medium="image">
			<media:title type="html">MarsEditDownloadAppStoreGlitch.png</media:title>
		</media:content>
	</item>
		<item>
		<title>macOS custom window titlebar &#8211; don&#8217;t forget to implement the standard title right-click feature!</title>
		<link>https://geekanddad.wordpress.com/2022/05/23/macos-custom-window-titlebar-dont-forget-to-implement-the-standard-title-right-click-feature/</link>
					<comments>https://geekanddad.wordpress.com/2022/05/23/macos-custom-window-titlebar-dont-forget-to-implement-the-standard-title-right-click-feature/#respond</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Tue, 24 May 2022 04:32:50 +0000</pubDate>
				<category><![CDATA[Tiny Hints]]></category>
		<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/?p=2266</guid>

					<description><![CDATA[PSA: For a great macOS app experience, the details matter. As an example, if you implement a custom macOS window titlebar for a document based app* don&#8217;t forget to implement the feature whereby you display a menu with the folder hierarchy for the document if the user right clicks, control+clicks or command+clicks the document title &#8230; <a href="https://geekanddad.wordpress.com/2022/05/23/macos-custom-window-titlebar-dont-forget-to-implement-the-standard-title-right-click-feature/" class="more-link">Continue reading<span class="screen-reader-text"> "macOS custom window titlebar &#8211; don&#8217;t forget to implement the standard title right-click&#160;feature!"</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">PSA:  For a great macOS app experience, the details matter.  As an example, if you implement a custom macOS window titlebar for a document based app* don&#8217;t forget to implement the feature whereby you display a menu with the folder hierarchy for the document if the user right clicks, control+clicks or command+clicks the document title in the window titlebar.</p>



<figure class="wp-block-image size-large"><a href="https://geekanddad.wordpress.com/wp-content/uploads/2022/05/macos-titlebar-right-click.gif"><img loading="lazy" width="650" height="442" data-attachment-id="2267" data-permalink="https://geekanddad.wordpress.com/2022/05/23/macos-custom-window-titlebar-dont-forget-to-implement-the-standard-title-right-click-feature/macos-titlebar-right-click/" data-orig-file="https://geekanddad.wordpress.com/wp-content/uploads/2022/05/macos-titlebar-right-click.gif" data-orig-size="650,442" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="macos-titlebar-right-click" data-image-description="" data-image-caption="" data-medium-file="https://geekanddad.wordpress.com/wp-content/uploads/2022/05/macos-titlebar-right-click.gif?w=300" data-large-file="https://geekanddad.wordpress.com/wp-content/uploads/2022/05/macos-titlebar-right-click.gif?w=650" src="https://geekanddad.wordpress.com/wp-content/uploads/2022/05/macos-titlebar-right-click.gif?w=650" alt="" class="wp-image-2267" srcset="https://geekanddad.wordpress.com/wp-content/uploads/2022/05/macos-titlebar-right-click.gif 650w, https://geekanddad.wordpress.com/wp-content/uploads/2022/05/macos-titlebar-right-click.gif?w=150 150w, https://geekanddad.wordpress.com/wp-content/uploads/2022/05/macos-titlebar-right-click.gif?w=300 300w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px" /></a></figure>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Just ran across an app that failed to do this and it was quite annoying.    I needed to open the folder containing the document in the Finder so I could duplicate the file and selecting the folder name in this menu from the document title is the easiest way to do that.  Bug report filed with the app maker, but please save me the time of filing one against <em>your</em> app by getting this right from the beginning <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </p>



<p class="wp-block-paragraph">* Note that the Finder implements this for Finder windows, so I&#8217;d follow their lead and interpret &#8220;document&#8221; broadly as &#8216;anything with a location in the file system&#8217;.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2022/05/23/macos-custom-window-titlebar-dont-forget-to-implement-the-standard-title-right-click-feature/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2266</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>

		<media:content url="https://geekanddad.wordpress.com/wp-content/uploads/2022/05/macos-titlebar-right-click.gif?w=650" medium="image" />
	</item>
		<item>
		<title>Psychology hack:  Convert shopping therapy urge into donation urge</title>
		<link>https://geekanddad.wordpress.com/2022/05/21/paychology-hack-convert-shopping-therapy-urge-into-donation-urge/</link>
					<comments>https://geekanddad.wordpress.com/2022/05/21/paychology-hack-convert-shopping-therapy-urge-into-donation-urge/#respond</comments>
		
		<dc:creator><![CDATA[Dad]]></dc:creator>
		<pubDate>Sat, 21 May 2022 21:50:03 +0000</pubDate>
				<category><![CDATA[tips]]></category>
		<category><![CDATA[life]]></category>
		<guid isPermaLink="false">http://geekanddad.wordpress.com/2022/05/21/paychology-hack-convert-shopping-therapy-urge-into-donation-urge/</guid>

					<description><![CDATA[Chatting with one of my sisters and she remarked upon our mother’s Amazon book buying … addiction? compulsion? Orders way more books than she can or does read. Hear or read a book review that sounds good? Go order the book. Etc. I opined that this was probably a form of shopping therapy and given &#8230; <a href="https://geekanddad.wordpress.com/2022/05/21/paychology-hack-convert-shopping-therapy-urge-into-donation-urge/" class="more-link">Continue reading<span class="screen-reader-text"> "Psychology hack:  Convert shopping therapy urge into donation&#160;urge"</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Chatting with one of my sisters and she remarked upon our mother’s Amazon book buying … addiction? compulsion?  Orders way more books than she can or does read.  Hear or read a book review that sounds good? Go order the book. Etc.</p>



<p class="wp-block-paragraph">I opined that this was probably a form of shopping therapy and given our mother’s chronic health issues in recent years, probably understandable.  My sister then mentioned that she just goes to the dollar store to satisfy this for very little money <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" />  but also that one of her kids seemed have a bit of a shopping therapy urge also.</p>



<p class="wp-block-paragraph">I mentioned that I’d been pretty successful some years back when I hacked what felt like my own occasional shopping therapy urge (“Feeling down? Buy something!” &#8211; such an American consumer ingrained message for so many years).</p>



<p class="wp-block-paragraph">What I decided to do was every time I felt that urge and couldn’t just easily talk myself out of it I’d find one of the organizations I like to support, a creative person trying to make their first album/book /comic/etc on Kickstarter, a request for help that a friend or Twitter acquaintance had shared, or similar, and make a donation instead.  </p>



<p class="wp-block-paragraph">I found that I got a better “feel good” feeling this way, someone benefits, and I don’t end up with more STUFF cluttering up my life.  Triple Win!</p>



<p class="wp-block-paragraph">I thought I’d share this hack here in case anyone else might like the idea and want to adopt it.</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://geekanddad.wordpress.com/2022/05/21/paychology-hack-convert-shopping-therapy-urge-into-donation-urge/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2264</post-id>
		<media:content url="https://2.gravatar.com/avatar/8402d9018a7088b4f723ec6daa004f5f10c918b30a6a3f42a709d66a8dd20007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dad</media:title>
		</media:content>
	</item>
	</channel>
</rss>
