From e5122abd78c56e59ea7879aeb2a609e65fac4483 Mon Sep 17 00:00:00 2001 From: Greg Dennis Date: Thu, 20 Jun 2024 14:17:20 +1200 Subject: [PATCH] add sponsorship tagline to all posts --- _posts/2023/2023-04-13-a-new-blog.md | 2 ++ _posts/2023/2023-04-16-paths-and-pointers.md | 2 ++ _posts/2023/2023-04-20-null-has-value-too.md | 2 ++ _posts/2023/2023-05-01-deserialization-with-schemas.md | 2 ++ _posts/2023/2023-05-02-json-path-spec.md | 2 ++ _posts/2023/2023-05-22-numbers-are-numbers-not-strings.md | 2 ++ _posts/2023/2023-06-16-json-schema-async.md | 2 ++ _posts/2023/2023-06-23-try-pattern-async.md | 2 ++ _posts/2023/2023-07-01-parallel-schema-processing.md | 2 ++ _posts/2023/2023-07-22-paths-and-pointers-correction.md | 2 ++ _posts/2023/2023-07-26-jsonnode-odd-api.md | 2 ++ _posts/2023/2023-07-26-new-json-schema-net.md | 2 ++ _posts/2023/2023-10-02-exploring-codegen.md | 2 ++ _posts/2023/2023-11-09-decimals-are-weird.md | 2 ++ _posts/2023/2023-11-10-interpreting-output.md | 2 ++ _posts/2023/2023-11-27-json-e.md | 2 ++ _posts/2023/2023-12-08-updating-vocabs.md | 2 ++ _posts/2024/2024-02-01-native-aot.md | 2 ++ _posts/2024/2024-02-11-dropping-codegen.md | 2 ++ _posts/2024/2024-04-17-logic-without-models.md | 2 ++ _posts/2024/2024-04-30-better-json-pointer.md | 2 ++ _posts/2024/2024-05-03-lesson-in-memory-mgmt.md | 2 ++ _posts/2024/2024-05-07-improving-json-schema.md | 2 ++ _posts/2024/2024-05-17-refactoring-with-purpose.md | 4 +++- _posts/2024/2024-06-10-learn-json-everything.md | 2 ++ 25 files changed, 51 insertions(+), 1 deletion(-) diff --git a/_posts/2023/2023-04-13-a-new-blog.md b/_posts/2023/2023-04-13-a-new-blog.md index 3bbb6f3..fb3f4ba 100644 --- a/_posts/2023/2023-04-13-a-new-blog.md +++ b/_posts/2023/2023-04-13-a-new-blog.md @@ -20,3 +20,5 @@ I may copy/re-blog those posts over here, but for the most part, JSON Schema stu I mainly wanted this site for non-JSON-Schema JSON-related content. For example, a JSON Path specification is coming soon, and I'd like to cover the differences between it and traditional JSON Path. Anyway, thanks for tuning in. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2023/2023-04-16-paths-and-pointers.md b/_posts/2023/2023-04-16-paths-and-pointers.md index 9ce2513..cb4839f 100644 --- a/_posts/2023/2023-04-16-paths-and-pointers.md +++ b/_posts/2023/2023-04-16-paths-and-pointers.md @@ -93,3 +93,5 @@ Whether you use JSON Path or JSON Pointer depends heavily on what you expect to While some JSON Pointers and JSON Paths _can_ indicate the same locations, this is not the case in general. Use the right one for your scenario. I think a lot of confusion on this topic arises because many APIs get this decision wrong. I've seen many APIs that define a parameter that accepts JSON Path but whose evaluation must only result a single value. I figure they think more people are familiar with JSON Path (maybe because of the dot syntax) so they choose to use it for the API. But perhaps familiarity isn't a sufficient reason to use a tool. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2023/2023-04-20-null-has-value-too.md b/_posts/2023/2023-04-20-null-has-value-too.md index 7101056..4aecc58 100644 --- a/_posts/2023/2023-04-20-null-has-value-too.md +++ b/_posts/2023/2023-04-20-null-has-value-too.md @@ -125,3 +125,5 @@ Although it only partially solves the problem (it doesn't work for parsing into ## Summary If you're building a parser and data model for JSON and your language supports the concept of `null`, keep it separate from JSON `null`. On the surface, it may be convenient, but it'll likely cause problems for someone. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2023/2023-05-01-deserialization-with-schemas.md b/_posts/2023/2023-05-01-deserialization-with-schemas.md index 7cc1427..c45edd2 100644 --- a/_posts/2023/2023-05-01-deserialization-with-schemas.md +++ b/_posts/2023/2023-05-01-deserialization-with-schemas.md @@ -287,3 +287,5 @@ It turns out that while JSON Schema's `date-time` format requires RFC 3339 forma Dates in the format `2023-05-01T02:09:48.54Z` will generally be acceptable by both. I've opened an [issue](https://github.com/dotnet/runtime/issues/85545) with the .Net team to see if I can persuade them to be more tolerant of date/times during deserialization. Short of waiting for that, you can create a custom format that checks for 8601-1:2019 date/times. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2023/2023-05-02-json-path-spec.md b/_posts/2023/2023-05-02-json-path-spec.md index 803c4ba..d957a4e 100644 --- a/_posts/2023/2023-05-02-json-path-spec.md +++ b/_posts/2023/2023-05-02-json-path-spec.md @@ -173,3 +173,5 @@ That's pretty much the spec. There are a few changes that are incompatible with If you'd like to join in on the fun, have a look at the [GitHub repo](https://github.com/ietf-wg-jsonpath/draft-ietf-jsonpath-base) where we're writing the spec and join the [IETF mailing list](https://www.ietf.org/mailman/listinfo/jsonpath) for the project. I hope that we continue this effort to further [define and enhance](https://github.com/ietf-wg-jsonpath/draft-ietf-jsonpath-base/issues?q=label%3Arevisit-after-base-done+) JSON Path. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2023/2023-05-22-numbers-are-numbers-not-strings.md b/_posts/2023/2023-05-22-numbers-are-numbers-not-strings.md index dc5d284..d9971cc 100644 --- a/_posts/2023/2023-05-22-numbers-are-numbers-not-strings.md +++ b/_posts/2023/2023-05-22-numbers-are-numbers-not-strings.md @@ -72,3 +72,5 @@ This is wrong! Serializing numbers as strings is a workaround that came about b Root-cause analysis gives us the answer: the parsers need to be fixed. They should support extracting any numeric type we want _from JSON numbers_ and at any precision. A tool should make a job easier. However, in this case, we're trying to drive a screw with a pair of pliers. It works, but it's not what was intended. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2023/2023-06-16-json-schema-async.md b/_posts/2023/2023-06-16-json-schema-async.md index 7342ecc..c753e45 100644 --- a/_posts/2023/2023-06-16-json-schema-async.md +++ b/_posts/2023/2023-06-16-json-schema-async.md @@ -91,3 +91,5 @@ But really I want to get some input from users. - How does this impact your code? Leave some comments below or on [this issue](https://github.com/gregsdennis/json-everything/issues/480) with your thoughts. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2023/2023-06-23-try-pattern-async.md b/_posts/2023/2023-06-23-try-pattern-async.md index a1fc640..e46a229 100644 --- a/_posts/2023/2023-06-23-try-pattern-async.md +++ b/_posts/2023/2023-06-23-try-pattern-async.md @@ -138,3 +138,5 @@ Task<(bool, ResultType)> TrySomethingAsync(InputType input) ``` It's probably a pretty niche need, but I hope having this in your toolbox helps you at some point. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2023/2023-07-01-parallel-schema-processing.md b/_posts/2023/2023-07-01-parallel-schema-processing.md index 8beea57..a4ed1e5 100644 --- a/_posts/2023/2023-07-01-parallel-schema-processing.md +++ b/_posts/2023/2023-07-01-parallel-schema-processing.md @@ -161,3 +161,5 @@ I don't know how this could be. Maybe touching the instance causes a re-initial The really shocking result is that it's actually _slower_ when "optimized." That is, taking advantage of short-circuiting when possible by checking for the first task that completed with a result that matched a predicate, and then cancelling the others. (My code for this was basically re-inventing [this SO answer](https://stackoverflow.com/a/38289587/878701).) Given this result, I just can't see this library moving into parallelism anytime soon. Maybe once .Net Framework is out of support, and I move it into the newer .Net era (which contains the threading fix) and out of .Net Standard (which won't ever contain the fix), I can revisit this. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2023/2023-07-22-paths-and-pointers-correction.md b/_posts/2023/2023-07-22-paths-and-pointers-correction.md index 61ab532..15d240e 100644 --- a/_posts/2023/2023-07-22-paths-and-pointers-correction.md +++ b/_posts/2023/2023-07-22-paths-and-pointers-correction.md @@ -41,3 +41,5 @@ I raised this to the team, and we ended up [adding a note](https://github.com/ie A thing that I previously considered impossible turned out to be possible. I've added a note to the original post summarizing this as well as linking here. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2023/2023-07-26-jsonnode-odd-api.md b/_posts/2023/2023-07-26-jsonnode-odd-api.md index 6383798..d5b008f 100644 --- a/_posts/2023/2023-07-26-jsonnode-odd-api.md +++ b/_posts/2023/2023-07-26-jsonnode-odd-api.md @@ -104,3 +104,5 @@ if (node is JsonArray array) This will probably explode because I didn't check bounds, but from a type safety point of view, this is SO much better. I have no need to access indexed values directly from a `JsonNode`. I think this API enables programming techniques that are dangerously close to using the `dynamic` keyword, which should be [avoided at all costs](https://www.youtube.com/watch?v=VyGAEbmiWjE). + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2023/2023-07-26-new-json-schema-net.md b/_posts/2023/2023-07-26-new-json-schema-net.md index ecdb0b8..761abb1 100644 --- a/_posts/2023/2023-07-26-new-json-schema-net.md +++ b/_posts/2023/2023-07-26-new-json-schema-net.md @@ -75,3 +75,5 @@ This a lot, and it's a significant departure from the more procedural approach o If you find you're in the expectedly small group of users writing your own keywords, I'm also updating the docs, so you'll have some help there. If you still have questions, feel free to open an issue or you can find me in Slack (link on the repo readme). I'm also planning a post for the [JSON Schema blog](https://json-schema.org/blog) which looks at a bit more of the theory of JSON Schema static analysis separately from the context of _JsonSchema.Net_, so watch for that as well. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2023/2023-10-02-exploring-codegen.md b/_posts/2023/2023-10-02-exploring-codegen.md index 296826b..13fa0ef 100644 --- a/_posts/2023/2023-10-02-exploring-codegen.md +++ b/_posts/2023/2023-10-02-exploring-codegen.md @@ -133,3 +133,5 @@ There are a couple of other little nuance behaviors that I added in, and I encou Overall, writing this was an enjoyable experience. I found a simple architecture that seems to work well and is also extensible. My hope is that this library will help inform the IDL Vocab effort back in JSON Schema Land. It's useful having a place to test things. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2023/2023-11-09-decimals-are-weird.md b/_posts/2023/2023-11-09-decimals-are-weird.md index 1b02612..9421325 100644 --- a/_posts/2023/2023-11-09-decimals-are-weird.md +++ b/_posts/2023/2023-11-09-decimals-are-weird.md @@ -79,3 +79,5 @@ So now I check explicitly for numeric equality by calling `.GetNumber()`, which There's a new [_Json.More.Net_](https://www.nuget.org/packages/Json.More.Net/) package available for those impacted by this (I didn't receive any reports). And that's the story of how creating a new package to support a new JSON functionality showed me how 4 is not always 4. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2023/2023-11-10-interpreting-output.md b/_posts/2023/2023-11-10-interpreting-output.md index c193a4c..d2575a7 100644 --- a/_posts/2023/2023-11-10-interpreting-output.md +++ b/_posts/2023/2023-11-10-interpreting-output.md @@ -331,3 +331,5 @@ JSON Schema output gives you all of the information that you need in order to kn If you have any questions, feel free to ask on the [JSON Schema Slack workspace](https://json-schema.org/slack) or [open a discussion](https://github.com/orgs/json-schema-org/discussions). _All output was generated using my online evaluator https://json-everyting.net/json-schema._ + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2023/2023-11-27-json-e.md b/_posts/2023/2023-11-27-json-e.md index 5e6e27c..bb275f4 100644 --- a/_posts/2023/2023-11-27-json-e.md +++ b/_posts/2023/2023-11-27-json-e.md @@ -216,3 +216,5 @@ I've learned a lot while building it, including aspects of functional programmin It's also been great working with the JSON-e folks, specifically [Dustin Mitchell](https://github.com/djmitche), who has been very accommodating and responsive. He's done well to create an environment where questions, feedback, and contributions are welcome. This library is now available on Nuget! + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2023/2023-12-08-updating-vocabs.md b/_posts/2023/2023-12-08-updating-vocabs.md index 8e0ac33..b120d1a 100644 --- a/_posts/2023/2023-12-08-updating-vocabs.md +++ b/_posts/2023/2023-12-08-updating-vocabs.md @@ -124,3 +124,5 @@ Now, if you want to create a 2020-12 meta-schema that also includes the new Arra The new vocabularies are still a work-in-progress, but they're mostly complete for these versions. I don't think the Data vocabulary will evolve much more, but I do hope to continue adding to the Array Extensions vocabulary as new functionality is conceived and requested. (There's actually a really neat [concept](https://github.com/json-schema-org/json-schema-spec/issues/1323) from Austin Wright, one of the spec authors, regarding patterned item sequence validation.) Questions and comments are welcome in the `json-everything` Github repository, or leave a comment down below. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2024/2024-02-01-native-aot.md b/_posts/2024/2024-02-01-native-aot.md index a696e21..18faf76 100644 --- a/_posts/2024/2024-02-01-native-aot.md +++ b/_posts/2024/2024-02-01-native-aot.md @@ -76,3 +76,5 @@ I think most notably is that if you're not building an AOT-compliant app, you pr The updated libraries are all available now, so the only thing that's left for this particular update is updating the docs, which I'll be working on for the next few weeks probably. As always, if you have any problems with anything, please feel free to drop into Slack or open an issue in GitHub. Until then, enjoy the update! + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2024/2024-02-11-dropping-codegen.md b/_posts/2024/2024-02-11-dropping-codegen.md index 539650c..b97c7ce 100644 --- a/_posts/2024/2024-02-11-dropping-codegen.md +++ b/_posts/2024/2024-02-11-dropping-codegen.md @@ -84,3 +84,5 @@ To that end, I've paired with [Matthew Adams](https://github.com/mwadams), one o This is a great opportunity to learn about incremental source generators in .Net and build your open source portfolio. If this sounds like a fun project, please make your interest known by commenting on the proposal issue linked above. (Even if it's not accepted by GSoc, we're probably going to do it anyway.) + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2024/2024-04-17-logic-without-models.md b/_posts/2024/2024-04-17-logic-without-models.md index 80134e6..7936d45 100644 --- a/_posts/2024/2024-04-17-logic-without-models.md +++ b/_posts/2024/2024-04-17-logic-without-models.md @@ -51,3 +51,5 @@ Even on the [JSON Logic playground](https://jsonlogic.com/), you enter your logi I don't really see a reason to need an object model. (And with functional programming on the rise, maybe this stateless approach is the way of the future.) But ultimately, it comes down to you. Have a play with the new setup. The [docs](https://docs.json-everything.net/logic/basics/) are already updated. I'd like to hear what you think. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2024/2024-04-30-better-json-pointer.md b/_posts/2024/2024-04-30-better-json-pointer.md index 955ebd5..d7acf5d 100644 --- a/_posts/2024/2024-04-30-better-json-pointer.md +++ b/_posts/2024/2024-04-30-better-json-pointer.md @@ -141,3 +141,5 @@ Personally, I like the indexer syntax. I was concerned at first that having an I like where this landed a lot more than where it was in the middle. Something just felt off with the design, and I was having trouble isolating what the issue was. I like that `PointerSegment` isn't part of the model anymore, and it's just "syntax candy" to help build pointers. I really like the performance. I learned a lot about memory management, which will be the subject of the next post. But more than that, I learned that sometimes inaction is the right action. I hesitated, and the library is better for it. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2024/2024-05-03-lesson-in-memory-mgmt.md b/_posts/2024/2024-05-03-lesson-in-memory-mgmt.md index 23d8e07..6bd717f 100644 --- a/_posts/2024/2024-05-03-lesson-in-memory-mgmt.md +++ b/_posts/2024/2024-05-03-lesson-in-memory-mgmt.md @@ -144,3 +144,5 @@ No allocations performed in processing! These were the big things that helped me make _JsonPointer.Net_ much more memory-efficient. And since JSON Patch and JSON Schema rely on JSON Pointers, those libraries caught the benefit immediately. Next time, I'm going to review some of the additional _JsonSchema.Net_ improvements I made for v7.0.0. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2024/2024-05-07-improving-json-schema.md b/_posts/2024/2024-05-07-improving-json-schema.md index f0a948a..599ca34 100644 --- a/_posts/2024/2024-05-07-improving-json-schema.md +++ b/_posts/2024/2024-05-07-improving-json-schema.md @@ -430,3 +430,5 @@ These changes basically removed these methods from Resharper's profiling analysi During my changes to _JsonPointer.Net_, I had paused and transitioned to working in this library. This is where I learned the most about using `Memory`. In the next post, I'll go over how I de-spaghettified the schema meta-data analysis code. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2024/2024-05-17-refactoring-with-purpose.md b/_posts/2024/2024-05-17-refactoring-with-purpose.md index 85802a1..9fdf50f 100644 --- a/_posts/2024/2024-05-17-refactoring-with-purpose.md +++ b/_posts/2024/2024-05-17-refactoring-with-purpose.md @@ -44,7 +44,7 @@ I had decided not to pursue the experiment further, but I had learned a lot by d So let's get refactoring!
-{% video /assets//video/matrix-we-got-a-lot-to-do.mp4 798 %} +{% video /assets/video/matrix-we-got-a-lot-to-do.mp4 798 %}

We got a lot to do. We gotta get to it. - The Matrix, 1999

@@ -227,3 +227,5 @@ I've recently set up my [GitHub Sponsors page](https://github.com/sponsors/gregs When you sign up at any level, you'll be listed in the sponsors section on that page as well as the new [Support page](/support) on this blog. Higher levels can get social media shoutouts as well as inclusion in the sponsors bubble cloud at the bottom of the [json-everything.net](https://json-everything.net) landing page (which will show up as soon as I have such a sponsor). Thanks again. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_ diff --git a/_posts/2024/2024-06-10-learn-json-everything.md b/_posts/2024/2024-06-10-learn-json-everything.md index 167d453..bb7f8ce 100644 --- a/_posts/2024/2024-06-10-learn-json-everything.md +++ b/_posts/2024/2024-06-10-learn-json-everything.md @@ -151,3 +151,5 @@ As I mentioned, I'll be teaching the RFC 9535 JSON Path, so that should keep me I also have a slew of usability features I'd like to add in, like some level of intellisense, but I haven't figured out how just yet. If you think of some lessons you'd like to see, or enhancements to the site, please feel free to open an issue or create a PR. + +_If you like the work I put out, and would like to help ensure that I keep it up, please consider [becoming a sponsor](https://github.com/sponsors/gregsdennis)!_