<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Small Block Software</title><description>Technical writing by Small Block Software.</description><link>https://smallblocksoftware.com/</link><language>en-us</language><image><url>https://smallblocksoftware.com/favicon.png</url><title>Small Block Software</title><link>https://smallblocksoftware.com</link></image><atom:link href="https://smallblocksoftware.com/rss.xml" rel="self" type="application/rss+xml"/><item><title>New Project: Refined Idea</title><link>https://smallblocksoftware.com/blog/new-project-refined-idea/</link><guid isPermaLink="true">https://smallblocksoftware.com/blog/new-project-refined-idea/</guid><description>Now that I&apos;ve restarted this blog again, I can write about how my idea for a personal project has changed.  I want to expand the idea from comparing two things to ranking several things; the original </description><pubDate>Sun, 09 Jul 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Now that I&apos;ve &lt;a href=&quot;https://cms.smallblocksoftware.com/restarting-this-blog-again/&quot;&gt;restarted this blog again&lt;/a&gt;, I can write about how my idea for a &lt;a href=&quot;https://cms.smallblocksoftware.com/new-project-the-idea/&quot;&gt;personal project&lt;/a&gt; has changed.&lt;/p&gt;
&lt;p&gt;I want to expand the idea from comparing two things to ranking several things; the original idea is contained in the expanded idea. If I can arrange N number of items in a ranked order, I can indicate a preference between 2 items using that ability.&lt;/p&gt;
&lt;p&gt;I have several variations in mind for how I can specify a ranking among several items:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;simple ordering, e.g., 1-10, A-E&lt;/li&gt;
&lt;li&gt;tier list, with multiple entries per level&lt;/li&gt;
&lt;li&gt;sparse, e.g., 1, 3, 25, 82, 87&lt;/li&gt;
&lt;li&gt;Conan O&apos;Brien&apos;s &lt;a href=&quot;https://www.youtube.com/watch?v=gYY1GHzauCo&amp;amp;t=398s&amp;amp;ref=cms.smallblocksoftware.com&quot;&gt;Clueless Gamer rating system&lt;/a&gt; :)&lt;/li&gt;
&lt;li&gt;bonkers, e.g., 1, F, blue, cat, tall, smelly&lt;/li&gt;
&lt;li&gt;multiple dimensions&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I won&apos;t spend time implementing all these ideas for an initial release, but keeping this flexibility in mind will help keep me from being too rigid with my data structures and storage early on.&lt;/p&gt;
&lt;p&gt;Also, while I procured a domain name for my initial idea, I let that expire, and I grabbed a new one for the new app name: RankOrder at &lt;a href=&quot;https://rankorder.net/?ref=cms.smallblocksoftware.com&quot;&gt;rankorder.net&lt;/a&gt; - a clearer name with a cleaner web destination, IMO.&lt;/p&gt;
</content:encoded></item><item><title>Restarting This Blog Again</title><link>https://smallblocksoftware.com/blog/restarting-this-blog-again/</link><guid isPermaLink="true">https://smallblocksoftware.com/blog/restarting-this-blog-again/</guid><description>Once again, I&apos;ve decided to restart my blogging efforts.  As interesting as learning about Nikola and GitHub pages was, I wanted something simpler. Now I&apos;m writing in Ulysses and publishing to Ghost h</description><pubDate>Tue, 04 Jul 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Once again, I&apos;ve decided to restart my blogging efforts.&lt;/p&gt;
&lt;p&gt;As interesting as learning about Nikola and GitHub pages was, I wanted something simpler. Now I&apos;m writing in &lt;a href=&quot;https://ulysses.app/?ref=cms.smallblocksoftware.com&quot;&gt;Ulysses&lt;/a&gt; and publishing to &lt;a href=&quot;https://ghost.org/?ref=cms.smallblocksoftware.com&quot;&gt;Ghost&lt;/a&gt; hosted on &lt;a href=&quot;https://www.digitalocean.com/?ref=cms.smallblocksoftware.com&quot;&gt;DigitalOcean&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I&apos;ve experimented with this combo before but felt frustrated by Ulysses&apos; lack of support for version control. I knew I could open external folders and files in Ulysses, and therefore, I could manage them with Git. But doing so requires one to give up some niceties Ulysses provides, the most important to me being embedded local images.&lt;/p&gt;
&lt;p&gt;I will export posts and pages in &lt;a href=&quot;http://textbundle.org/?ref=cms.smallblocksoftware.com&quot;&gt;TextBundle&lt;/a&gt; format and manage those with Git. I know the result is not different from using external folders in Ulysses, but I will run this way and see how it feels.&lt;/p&gt;
</content:encoded></item><item><title>New Project: the Idea</title><link>https://smallblocksoftware.com/blog/new-project-the-idea/</link><guid isPermaLink="true">https://smallblocksoftware.com/blog/new-project-the-idea/</guid><description>I&apos;ve wanted a personal software development project for a while. Some reasons why are:   * to scratch the &quot;just for me, just for fun” itch  * to have a workbench for learning new libraries, APIs, etc </description><pubDate>Sun, 16 Jan 2022 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I&apos;ve wanted a personal software development project for a while. Some reasons why are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;to scratch the &quot;just for me, just for fun” itch&lt;/li&gt;
&lt;li&gt;to have a workbench for learning new libraries, APIs, etc&lt;/li&gt;
&lt;li&gt;to serve as an active resume of my capabilities&lt;/li&gt;
&lt;li&gt;to have something fun to share with people, a “Hey, look what I made!” toy&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This project should have several components: a web service for data, a web app for admin functions, and a mobile client (iPad, iPhone, or Apple Watch) for user actions. That broad description applies to many modern software systems, so it doesn’t help narrow down what this project should be &lt;em&gt;about&lt;/em&gt;. That’s been the challenging part - finding a compelling reason to do this work.&lt;/p&gt;
&lt;p&gt;I finally cooked up an idea that feels novel enough to be interesting, small enough in scope to be achievable (for the &lt;a href=&quot;https://en.wikipedia.org/wiki/Minimum_viable_product?ref=cms.smallblocksoftware.com&quot;&gt;MVP&lt;/a&gt;!), and extensible enough to provide room to nurture and grow it.&lt;/p&gt;
&lt;p&gt;But first, a little backstory: for years, my friend/co-worker and I have tossed around ideas for different podcasts we would do were we more motivated to do a podcast. Given that I will likely never create it, I still want to listen to a podcast called &lt;em&gt;A/B Test&lt;/em&gt;, hosted by two developers, each fluent in a different language (for example, Tim prefers C# while Patrick prefers Python). A typical episode would consist of them tackling the same programming task in their respective language and discussing the merits of each. Maybe it’s a bit of good-natured, adversarial pair programming? With the right chemistry between the hosts, I think this would be a fun one. If you run with this concept and are wildly successful - you’re welcome.&lt;/p&gt;
&lt;p&gt;Back to the idea - this thought of comparing one thing to another bloomed into the question of “what if the screen presented the user a simple choice between two things?” That user is just me initially, but a simple web page asking my preference between this or that, accessible on a phone/tablet/laptop, with some stats/graphs available to an “admin” (again, me), all talking to a web service that manages data - this checks all the boxes for me to get started on this.&lt;/p&gt;
&lt;p&gt;Eventually, these preference questions can come from different categories, and the category choices can come from various internet data sources with APIs. After gathering enough data, some neat visualizations might be possible. But first, I’ll create just enough to manifest the essential idea; the embellishments will come later. Do I prefer the number 3 to 7? Or the color orange to blue? Let’s find out!&lt;/p&gt;
&lt;p&gt;Of course, step #1 was to get a domain name 😀. I immediately thought of doyouprefer.com, but I preferred not to spend $1800 for it. However, at only $13, &lt;a href=&quot;http://whichonedoyouprefer.com/?ref=cms.smallblocksoftware.com&quot;&gt;whichonedoyouprefer.com&lt;/a&gt; is now mine, and I will fill it with some sweet preference-probing goodness. (Thanks, &lt;a href=&quot;https://www.hover.com/?ref=cms.smallblocksoftware.com&quot;&gt;Hover&lt;/a&gt;.)&lt;/p&gt;
</content:encoded></item><item><title>Forgotten Kindle Password</title><link>https://smallblocksoftware.com/blog/forgotten-kindle-password/</link><guid isPermaLink="true">https://smallblocksoftware.com/blog/forgotten-kindle-password/</guid><description>We had an old Kindle lying around, and no one could remember the passcode for it.  I share the good news about 1Password with all who will listen. But some accounts and devices I encounter were config</description><pubDate>Tue, 04 May 2021 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We had an old Kindle lying around, and no one could remember the passcode for it.&lt;/p&gt;
&lt;p&gt;I share the good news about &lt;a href=&quot;https://1password.com/?ref=cms.smallblocksoftware.com&quot;&gt;1Password&lt;/a&gt; with all who will listen. But some accounts and devices I encounter were configured before I was able to encourage good password practices. This old Kindle was locked behind a forgotten passcode but otherwise seemed to be in working order. We&apos;d tried to navigate the dizzying support options on Amazon&apos;s site but couldn&apos;t find a solution.&lt;/p&gt;
&lt;p&gt;A Google search led me to &lt;a href=&quot;https://blog.the-ebook-reader.com/2016/06/04/how-to-fix-your-kindle-if-you-forget-the-passcode/?ref=cms.smallblocksoftware.com&quot;&gt;this post&lt;/a&gt; containing the answer: &quot;type 111222777 into the passcode entry field to reset your Kindle to factory settings.&quot;&lt;/p&gt;
&lt;p&gt;Of course, we&apos;d lost all content on the device, but since we couldn&apos;t access it anyway, it seemed like a fair tradeoff.&lt;/p&gt;
&lt;p&gt;Don&apos;t be a mean person; use this information responsibly.&lt;/p&gt;
</content:encoded></item><item><title>My “Humble Confidence” Project with Vantage Group</title><link>https://smallblocksoftware.com/blog/my-humble-confidence-project-with-vantage-group/</link><guid isPermaLink="true">https://smallblocksoftware.com/blog/my-humble-confidence-project-with-vantage-group/</guid><description>I&apos;ve been developing software professionally since August 1989. I&apos;ve researched, struggled with, and &quot;pragmatically mastered&quot; many languages, libraries, platforms, and operating systems over that time</description><pubDate>Fri, 02 Apr 2021 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I&apos;ve been developing software professionally since August 1989. I&apos;ve researched, struggled with, and &quot;pragmatically mastered&quot; many languages, libraries, platforms, and operating systems over that time - successfully enough that I&apos;ve been entrusted with increasing responsibilities and salaries by my employers. But I&apos;ve always struggled with talking about and sharing my informed opinions, insights, and experiences in any &quot;official&quot; setting, typically meetings.&lt;/p&gt;
&lt;p&gt;In any casual or informal setting, I&apos;ve not had this problem. But as soon as the situation turns serious, I freeze or stumble and generally feel like I can&apos;t get my thoughts and ideas out in cohesive, cogent words. Many years ago, at my second job, I was part of a small team that demoed the latest version of our ink formulation QA app to a group of 3 press operators. When my turn came to show the feature I&apos;d developed, I froze completely. I could not make a single sound come out of my mouth. My co-worker immediately saw my predicament and saved the day by giving my demo. It was 100% embarrassing.&lt;/p&gt;
&lt;p&gt;Thankfully, I&apos;ve made progress since then. But I never quite got comfortable with my discomfort, projecting confidence when I shared my thoughts. I mainly compensated by being quiet and keeping short the words I did say. But I got to a level and place in my career where this approach was not an option anymore.&lt;/p&gt;
&lt;p&gt;My wife works at &lt;a href=&quot;https://www.atomicobject.com/?ref=cms.smallblocksoftware.com&quot;&gt;Atomic Object&lt;/a&gt;. Last year, they contracted with Darrell Crawford at &lt;a href=&quot;https://vantagegroupinc.com/?ref=cms.smallblocksoftware.com&quot;&gt;The Vantage Group&lt;/a&gt; for a communication coaching workshop. After her experience there, she thought he might be able to work with me on this issue.&lt;/p&gt;
&lt;p&gt;So I worked with Darrell for roughly six months, starting in Aug 2020. I began my coaching by taking a pretty thorough assessment test. These results gave Darrell some quick insights into my character, strengths, weaknesses, and he developed a baseline for his tailored coaching. We met (online - these were COVID-19 times, after all) for an hour roughly every two weeks. We&apos;d start by reviewing my homework assignment from the previous session, discuss how I had put his suggested conversational and thought frameworks to use, any upcoming challenges for me, and what to work on for the next session.&lt;/p&gt;
&lt;p&gt;Some of those homework assignments were to develop my personal &quot;elevator pitch&quot; and brand, revise and update my &lt;a href=&quot;https://www.linkedin.com/in/patrick-burrell-software?ref=cms.smallblocksoftware.com&quot;&gt;LinkedIn profile&lt;/a&gt;, create an agenda and outline for an upcoming meeting I ran, and develop personal goals for my work in 2021.&lt;/p&gt;
&lt;p&gt;Throughout our sessions, Darrell invested himself in my progress and success. I came to trust his feedback on areas where I&apos;d improved and where I still needed encouragement. Over six months, I&apos;d progressed from feeling low-level nerves before and during meetings (even online) to being comfortable sharing my thoughts and opinions while steering clear of arrogance. It&apos;s fear of that second part that made me overcompensate by being quiet for far too much of my career.&lt;/p&gt;
&lt;p&gt;Oh, and that &quot;Humble Confidence&quot; moniker I gave to my professional development project? I borrowed it from posts made over the years on the &lt;a href=&quot;https://www.youneedabudget.com/blog?ref=cms.smallblocksoftware.com&quot;&gt;&quot;You Need A Budget&quot; blog&lt;/a&gt; that contained the phrase &quot;We&apos;re hiring a Humbly Confident developer...&quot;. That term resonated with me and always made me think, &quot;that&apos;s how I aspire to be.&quot; Thanks to my work with Darrell at Vantage Group, I have some tools to make some serious progress in that direction. Or, as I tend to put it: &quot;better than I was, not as good as I will be.&quot;&lt;/p&gt;
</content:encoded></item><item><title>Git and the SSH Command</title><link>https://smallblocksoftware.com/blog/git-and-the-ssh-command/</link><guid isPermaLink="true">https://smallblocksoftware.com/blog/git-and-the-ssh-command/</guid><description>I use two separate software identities: one for my &quot;work self&quot; and one for my &quot;personal self.&quot; I may write a future post about how I came to that practice, but today I&apos;m going to describe how it resul</description><pubDate>Sun, 21 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I use two separate software identities: one for my &quot;work self&quot; and one for my &quot;personal self.&quot; I may write a future post about how I came to that practice, but today I&apos;m going to describe how it resulted in a problem and how I solved it.&lt;/p&gt;
&lt;p&gt;As I&apos;ve recently become more enamored with all things on the command line, I&apos;ve done more of my work in a terminal (&lt;a href=&quot;https://iterm2.com/?ref=cms.smallblocksoftware.com&quot;&gt;iTerm2&lt;/a&gt;) by typing commands for SSH connections and GitHub repos. These two areas intersect with the use of public/private key pairs.&lt;/p&gt;
&lt;p&gt;I use many of these key pairs - pretty much one for each service or server I use. I wouldn&apos;t use one key for all the buildings, rooms, and cars I need to access. I don&apos;t see why I&apos;d use only one key pair either. If one of my keys is ever compromised, I will not unintentionally open up all the resources I securely access.&lt;/p&gt;
&lt;p&gt;So I use one key pair for the repos in my personal GitHub account and another for the repos at work.&lt;/p&gt;
&lt;p&gt;But I was running into strange and unexplained git errors sometimes. I think there is probably an understandable explanation for these errors that seemed to occur randomly. Still, because my access to work repos was affected, I didn&apos;t spend much time trying to understand why. I just needed a solution quickly.&lt;/p&gt;
&lt;p&gt;The GitHub error messages suggested that I didn&apos;t have my keys configured correctly. However, when I executed &lt;code&gt;ssh -T github_personal_pmb&lt;/code&gt; (where &lt;code&gt;github_personal_pmb&lt;/code&gt; is a host name in my &lt;code&gt;~/.ssh/config&lt;/code&gt; file), I got this response which confirmed that they were:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Hi patrickmburrell! You’ve successfully authenticated, but GitHub does not provide shell access.

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;After much time googling for this error message:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I finally just asked Google the basic question (&quot;how do I tell git which key to use&quot;) and found &lt;a href=&quot;https://superuser.com/questions/232373/hot-to-tell-git-which-private-key-to-use?ref=cms.smallblocksoftware.com&quot;&gt;this Super User question&lt;/a&gt; that led me to a solution. I learned I could specify for each repo exactly the SSH command - &lt;em&gt;including which private key to use&lt;/em&gt; - to run for the git actions for that repo. Awesome!&lt;/p&gt;
&lt;p&gt;Here is the command I issued to specify the SSH command for a given repo:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;git config core.sshCommand &quot;ssh -i ~/.ssh/[private key filename] -F /dev/null&quot;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I issued this command to verify that my configuration change succeeded:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;git config -l

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I hope this helps someone get to their solution a bit quicker than it took me.&lt;/p&gt;
</content:encoded></item><item><title>Creating a Blog on GitHub Pages</title><link>https://smallblocksoftware.com/blog/creating-a-blog-on-github-pages/</link><guid isPermaLink="true">https://smallblocksoftware.com/blog/creating-a-blog-on-github-pages/</guid><description>Over the past several years, I&apos;ve tried to get a blog going using a few different platforms: Squarespace, Tumblr, WordPress, and Ghost. For one reason or another - I&apos;m sure mostly my lack of commitmen</description><pubDate>Sun, 08 Nov 2020 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Over the past several years, I&apos;ve tried to get a blog going using a few different platforms: &lt;a href=&quot;https://www.squarespace.com/?ref=cms.smallblocksoftware.com&quot;&gt;Squarespace&lt;/a&gt;, &lt;a href=&quot;https://www.tumblr.com/?ref=cms.smallblocksoftware.com&quot;&gt;Tumblr&lt;/a&gt;, &lt;a href=&quot;https://wordpress.com/?ref=cms.smallblocksoftware.com&quot;&gt;WordPress&lt;/a&gt;, and &lt;a href=&quot;https://ghost.org/?ref=cms.smallblocksoftware.com&quot;&gt;Ghost&lt;/a&gt;. For one reason or another - I&apos;m sure mostly my lack of commitment - I never stuck with any of them.&lt;/p&gt;
&lt;p&gt;But &quot;hope springs eternal,&quot; so I am starting again. This time I&apos;m using &lt;a href=&quot;https://getnikola.com/?ref=cms.smallblocksoftware.com&quot;&gt;Nikola&lt;/a&gt; to build a static site blog; I&apos;m hosting it on &lt;a href=&quot;https://pages.github.com/?ref=cms.smallblocksoftware.com&quot;&gt;GitHib Pages&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I&apos;ve been using Python almost exclusively the last year as the DevOps person on my data science team at work. (Before that, my predominant use of JavaScript led me to try Ghost.) I like the idea of using a static site for a blog because my needs will be simple and straightforward. Also, I&apos;m a huge fan of Markdown, so Nikola holds interesting and fun potential.&lt;/p&gt;
</content:encoded></item><item><title>Prompting for Parameters in VS Code</title><link>https://smallblocksoftware.com/blog/prompting-for-parameters-in-vs-code/</link><guid isPermaLink="true">https://smallblocksoftware.com/blog/prompting-for-parameters-in-vs-code/</guid><description>While debugging a node.js app in VS Code at work, I thought it sure would be nice if I could pass a parameter into my app to decide what deployment stage to target. A few minutes with Google turned up</description><pubDate>Wed, 01 Jul 2020 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;While debugging a node.js app in VS Code at work, I thought it sure would be nice if I could pass a parameter into my app to decide what deployment stage to target. A few minutes with Google turned up the info I needed to make this happen.&lt;/p&gt;
&lt;p&gt;First, I found how to read parameters from the command line:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;const stage = process.argv[2]

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Next up: get VS Code to prompt me for that stage when launching the debugger. I found out I needed to modify the &lt;code&gt;.vscode/launch.json&lt;/code&gt; file in the project folder. Here is a cleaned-up version of that file:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
    &quot;version&quot;: &quot;0.2.0&quot;,
    &quot;configurations&quot;: [
        {
            &quot;type&quot;: &quot;node&quot;,
            &quot;request&quot;: &quot;launch&quot;,
            &quot;name&quot;: &quot;DevOps: create tables&quot;,
            &quot;program&quot;: &quot;${workspaceRoot}/devOps/actions/createTables.js&quot;,
            &quot;args&quot;: [&quot;${input:pickStage}&quot;],
            &quot;cwd&quot;: &quot;${workspaceRoot}&quot;,
            &quot;outputCapture&quot;: &quot;std&quot;
        }
    ],
    &quot;inputs&quot;: [
        {
            &quot;id&quot;: &quot;pickStage&quot;,
            &quot;description&quot;: &quot;Select target stage&quot;,
            &quot;type&quot;: &quot;pickString&quot;,
            &quot;options&quot;: [&quot;res&quot;, &quot;dev&quot;, &quot;pro&quot;],
            &quot;default&quot;: &quot;res&quot;
        }
    ]
}

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The new parts I had to add were the &lt;code&gt;${input:pickStage}&lt;/code&gt; value in the &lt;code&gt;args&lt;/code&gt; array and the &lt;code&gt;inputs&lt;/code&gt; array with my stage values (&lt;code&gt;res&lt;/code&gt;, &lt;code&gt;dev&lt;/code&gt;, &lt;code&gt;pro&lt;/code&gt;) and the default choice (&lt;code&gt;res&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Holy cats, do I love VS Code!&lt;/p&gt;
</content:encoded></item><item><title>GitHub Gists</title><link>https://smallblocksoftware.com/blog/github-gists/</link><guid isPermaLink="true">https://smallblocksoftware.com/blog/github-gists/</guid><description>I finally took a few minutes to learn what gists are in GitHub. I understood the basic idea from encountering them all over the web, but I wanted to precisely know what they are.  Here are some essent</description><pubDate>Mon, 01 Jun 2020 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I finally took a few minutes to learn what gists are in GitHub. I understood the basic idea from encountering them all over the web, but I wanted to precisely know what they are.&lt;/p&gt;
&lt;p&gt;Here are some essential aspects of gists, as I understand them:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;each gist is a repository, with all that implies:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;can be versioned and diff’ed&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;can be forked or cloned&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;a gist can be public or secret&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;secret doesn’t mean private; it means not searchable&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;however, its URL is discoverable and shareable&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;a gist can contain anything text-based, such as:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;source code&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Markdown and plain text&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;JSON, XML, and CSV data&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Jupyter Notebooks&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;GeoJSON files (maps!)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;more info: &lt;a href=&quot;https://help.github.com/en/articles/creating-gists?ref=cms.smallblocksoftware.com#about-gists&quot;&gt;About gists&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;My recent motivation for learning to use gists was to embed sample code on this blog, like this:&lt;/p&gt;
&lt;p&gt;Pretty convenient and simple!&lt;/p&gt;
</content:encoded></item><item><title>Hello There!</title><link>https://smallblocksoftware.com/blog/hello-there/</link><guid isPermaLink="true">https://smallblocksoftware.com/blog/hello-there/</guid><description>Software development has been a wonderful career choice.</description><pubDate>Fri, 01 May 2020 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;https://smallblocksoftware.com/images/trs80.jpeg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I’ve been a software developer for a long time. I loved it when I started; I love it even more now.&lt;/p&gt;
&lt;p&gt;A lot has changed since I looked for the latest programming books at &lt;a href=&quot;https://www.schulerbooks.com/?ref=cms.smallblocksoftware.com&quot;&gt;Schuler Books&lt;/a&gt; and read &lt;em&gt;Windows/DOS Developer’s Journal&lt;/em&gt;. Now I have a super computer in my pocket that’s connected to the world. How did I get so lucky as to find a career that just keeps getting more interesting, more fun, and more challenging?&lt;/p&gt;
&lt;p&gt;There was a time when I was driven to memorize the Windows 3.0 API as a badge of honor. Now I have &lt;a href=&quot;https://www.google.com/?ref=cms.smallblocksoftware.com&quot;&gt;Google&lt;/a&gt; and &lt;a href=&quot;https://www.stackoverflow.com/?ref=cms.smallblocksoftware.com&quot;&gt;Stack Overflow&lt;/a&gt;, along with a bunch of new languages and tools, libraries and packages, concepts and terms.&lt;/p&gt;
&lt;p&gt;I’m motivated to be productive in a development world and culture that seems so different from that of my career beginnings. On this blog, I’m going to write about my efforts to make things with software and stay relevant and employable. The particular knowledge I had in the 1980s-1990s-2000s isn’t in high demand now, so I’m learning Python and JavaScript, Jupyter Notebooks, node.js, GitHub, AWS, etc.&lt;/p&gt;
&lt;p&gt;But the design, debugging, problem-solving, organization, and communication skills I&apos;ve nurtured over time continue to serve both me and my employer well.&lt;/p&gt;
&lt;p&gt;I know there are others in a similar situation. Maybe this will resonate with you? Maybe you’ll have suggestions for how I can do this better? I’d welcome your thoughts.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://smallblocksoftware.com/images/iphone-code.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
</content:encoded></item></channel></rss>