Skip to content

Commit

Permalink
[infra] streamline creating and managing series of posts
Browse files Browse the repository at this point in the history
This is a much better way to handle series. Way more automated, less duplication, and more streamlined.

- Remove the duplicated `series:` front matter

- Only add a tag for a post, prefixed with `series-`

- Add new site data for series tags and topics, `_data/seriesTags.yml`

- In the series notice UI, search for tags with `series-`, then reference the data in `seriesTags.yml`
  • Loading branch information
jessesquires committed Jan 4, 2024
1 parent e4ad5b4 commit 0d0069b
Show file tree
Hide file tree
Showing 14 changed files with 25 additions and 34 deletions.
8 changes: 8 additions & 0 deletions _data/seriesTags.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
series-going-indie:
topic: becoming an indie developer and freelancer

series-perfect-status-bars:
topic: overriding status bar display settings in the iOS simulator

series-apples-to-apples:
topic: Swift performance compared to Objective-C
12 changes: 9 additions & 3 deletions _includes/post_series_notice.html
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
{% assign tag = include.tag %}
{% assign topic = include.topic %}

{% assign post_list = site.tags[tag] %}
{% for eachTag in page.tags %}
{% if eachTag contains 'series-' %}
{% assign seriesTag = eachTag %}
{% assign topic = site.data.seriesTags[eachTag].topic %}
{% assign post_list = site.tags[eachTag] %}
{% endif %}
{% endfor %}

{% if seriesTag and seriesTag != '' %}
<div class="alert alert-primary pb-0">
<h5><i class="bi bi-bookmark-star-fill"></i> In This Series</h5>
<p class="pb-0 mb-2">This post is part of a series about <span class="fw-semibold">{{ topic }}</span>.</p>
Expand All @@ -18,3 +23,4 @@ <h5><i class="bi bi-bookmark-star-fill"></i> In This Series</h5>
{% endfor %}
</ol>
</div>
{% endif %}
4 changes: 1 addition & 3 deletions _layouts/post.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,7 @@
<div class="post-content">
{{ page.excerpt }}

{% if page.series %}
{% include post_series_notice.html tag=page.series.tag topic=page.series.topic %}
{% endif %}
{% include post_series_notice.html %}

{{ page.content | remove: page.excerpt }}
</div> <!-- post-content -->
Expand Down
5 changes: 1 addition & 4 deletions _posts/2014-06-25-apples-to-apples.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
---
layout: post
categories: [software-dev]
tags: [swift, objective-c, wwdc, xcode, series-apples-to-apples]
tags: [series-apples-to-apples, swift, objective-c, wwdc, xcode]
date: 2014-06-25T10:00:00-07:00
title: Apples to apples
subtitle: A comparison of sorts between Objective-C and Swift
date-updated: 2014-08-01T10:00:00-07:00
series:
tag: series-apples-to-apples
topic: Swift performance compared to Objective-C
---

When Craig Federighi arrived at his presentation slide about Objective-C during this year's [WWDC keynote](http://www.apple.com/apple-events/june-2014/) everyone in the room seemed puzzled, curious, and maybe even a bit uneasy. *What was happening?* As he continued, he considered what Objective-C would be like **without the C**, and the room abruptly filled with rumblings and whispers <sup><a href="#note1" id="superscript1">[1]</a></sup> as developers in the audience confided in those around them. If you had been following the [discussions](http://informalprotocol.com/2014/02/replacing-cocoa/) in our community about the [state of Objective-C](http://nearthespeedoflight.com/article/2014_03_17_objective_next) (and why we [need to replace it](http://ashfurrow.com/blog/we-need-to-replace-objective-c)) during the previous months, you could only have imagined one thing: Objective-C was no more &mdash; at least not as we knew it.
Expand Down
5 changes: 1 addition & 4 deletions _posts/2014-08-06-apples-to-apples-part-two.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
---
layout: post
categories: [software-dev]
tags: [swift, objective-c, wwdc, xcode, series-apples-to-apples]
tags: [series-apples-to-apples, swift, objective-c, wwdc, xcode]
date: 2014-08-06T10:00:00-07:00
title: Apples to apples, Part II
subtitle: An analysis of sorts between Objective-C and Swift
series:
tag: series-apples-to-apples
topic: Swift performance compared to Objective-C
---

If at first you don't succeed, try, try again. Practice makes perfect. These proverbs have encouraged us all in many different contexts. But in software development, they tug at our heartstrings uniquely. Programmers persevere through countless nights of fixing bugs. Companies march vigilantly toward an [MVP](http://en.wikipedia.org/wiki/Minimum_viable_product). But after 1.0 there is no finish line, there is no bottom of the 9th inning. There are more bugs to be fixed. There are new releases ahead. The march continues, because software is not a *product*, it is a *process*.
Expand Down
5 changes: 1 addition & 4 deletions _posts/2014-08-21-apples-to-apples-part-three.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
---
layout: post
categories: [software-dev]
tags: [swift, objective-c, wwdc, xcode, series-apples-to-apples]
tags: [series-apples-to-apples, swift, objective-c, wwdc, xcode]
date: 2014-08-21T10:00:00-07:00
title: Apples to apples, Part III
subtitle: A modest proposal&#58; can Swift outperform plain C?
series:
tag: series-apples-to-apples
topic: Swift performance compared to Objective-C
---

*When I find my code is slow or troubled, friends and colleagues comfort me. Speaking words of wisdom, write in C.* It is understood that foregoing the features and abstractions of [high-level](http://en.wikipedia.org/wiki/High-level_programming_language) programming languages in favor of their [low-level](http://en.wikipedia.org/wiki/Low-level_programming_language) counterparts can yield faster, more efficient code. If you abandon your favorite runtime, forget about garbage collection, eschew dynamic typing, and leave message passing behind; then you will be left with scalar operations, manual memory management, and raw pointers. However, the closer we get to the hardware, the further we get from readability, safety, and maintainability.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: post
categories: [software-dev]
tags: [ios, xcode, nine41]
tags: [series-perfect-status-bars, ios, xcode, nine41]
date: 2019-09-26T16:00:00-07:00
title: Overriding status bar display settings in the iOS simulator
date-updated: 2019-09-28T12:00:00-07:00
Expand Down
2 changes: 1 addition & 1 deletion _posts/2019-09-30-automating-simctl-status-bar.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: post
categories: [software-dev]
tags: [xcode, ios, nine41]
tags: [series-perfect-status-bars, xcode, ios, nine41]
date: 2019-09-30T17:00:00-07:00
title: A script to automate overriding iOS simulator status bar values
date-updated: 2019-09-30T19:00:00-07:00
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: post
categories: [software-dev]
tags: [ios, xcode, nine41]
tags: [series-perfect-status-bars, ios, xcode, nine41]
date: 2020-04-13T11:46:38-07:00
title: Fully automating perfect status bar overrides for iOS simulators with Nine41
image:
Expand Down
2 changes: 1 addition & 1 deletion _posts/2022-12-14-simctrl-status_bar-broken.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: post
categories: [software-dev]
tags: [ios, xcode, nine41]
tags: [series-perfect-status-bars, ios, xcode, nine41]
date: 2022-12-14T15:36:51-08:00
date-updated: 2022-12-14T20:45:36-08:00
title: "Workaround: simctl status_bar broken for iOS 16 simulators"
Expand Down
3 changes: 0 additions & 3 deletions _posts/2023-04-10-going-indie.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@ tags: [series-going-indie, indie-dev, contracting, freelance, consulting]
date: 2023-04-10T09:47:22-07:00
title: Going Independent
subtitle: My experience and reflections 3 years later
series:
tag: series-going-indie
topic: becoming an indie developer and freelancer
---

A number of folks have reached out to me recently (and over the years) asking me about my experience going indie. I originally wanted to write this reflection after my first year, but I could not find the time nor motivation. The early days of the pandemic really drained me. However, I hope these past three years of experience will only make this post more valuable to those seeking to do the same thing I did. I am writing this for anyone who is interested in trying to go independent --- either with your own app development business, solo contracting and freelancing, or both.
Expand Down
3 changes: 0 additions & 3 deletions _posts/2023-05-08-going-indie-2.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@ categories: [essays]
tags: [series-going-indie, indie-dev, contracting, freelance, consulting]
date: 2023-05-08T09:42:09-07:00
title: "Going Indie: building a foundation, finding clients, and negotiating rates"
series:
tag: series-going-indie
topic: becoming an indie developer and freelancer
---

Welcome to my next post on going indie! In the [previous one]({% post_url 2023-04-10-going-indie %}), I provided a high-level overview and introduction, and answered some of the most common questions I get from folks. In this post I'm going to dive deeper into how you can prepare to go independent, how to find clients, and other tips.
Expand Down
3 changes: 0 additions & 3 deletions _posts/2023-08-16-going-indie-3.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@ tags: [series-going-indie, indie-dev, contracting, freelance, consulting]
date: 2023-08-16T13:06:28+02:00
date-updated: 2023-08-17T11:59:12+02:00
title: "Going indie: business structure, taxes, and retirement"
series:
tag: series-going-indie
topic: becoming an indie developer and freelancer
---

Welcome to the third part of my going indie series! In the [previous post]({% post_url 2023-05-08-going-indie-2 %}), I discussed building a foundation, getting started, and finding clients. In this post, I am going to discuss many of the decidedly _un-fun_ administrative aspects of being freelance and contracting like saving for retirement and --- everyone's favorite --- taxes. Most folks consider these topics to be boring and tedious, but understanding them is critical to your success. The best approach is one of curiosity. As a software developer, you might find the task of optimizing (and minimizing!) your tax burden to be an interesting problem to solve --- I definitely do!
Expand Down
3 changes: 0 additions & 3 deletions _posts/2023-12-07-going-indie-4.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@ categories: [essays]
tags: [series-going-indie, indie-dev, contracting, freelance, consulting]
date: 2023-12-07T08:53:52-08:00
title: "Going Indie: bookkeeping and invoicing"
series:
tag: series-going-indie
topic: becoming an indie developer and freelancer
---

Welcome to the fourth (and I think final!) part of my going indie series! Previously, I discussed the exciting topics of [business structure, taxes, and retirement]({% post_url 2023-08-16-going-indie-3%}). Today, I'm going to discuss two final topics: bookkeeping and invoicing. The first is about how to correctly track your income and expenses, and the second is about making sure you get paid! Because this is capitalism, baby --- we are not here for passion, we are here to pay those bills.
Expand Down

0 comments on commit 0d0069b

Please sign in to comment.