_content/blog: add 2022 survey results

Share the results of our 2022 Q2 Go Developer Survey.

Change-Id: I67399e94cba494f504f6642dde9b3a3b3793f993
Reviewed-on: https://go-review.googlesource.com/c/website/+/426534
Reviewed-by: Cameron Balahan <cbalahan@google.com>
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
diff --git a/_content/blog/survey2022-q2-results.md b/_content/blog/survey2022-q2-results.md
new file mode 100644
index 0000000..b421107
--- /dev/null
+++ b/_content/blog/survey2022-q2-results.md
@@ -0,0 +1,511 @@
+---
+title: Go Developer Survey 2022 Q2 Results
+date: 2022-09-08
+by:
+- Todd Kulesza
+tags:
+- survey
+- community
+summary: An analysis of the results from the 2022 Q2 Go Developer Survey.
+---
+
+<style type="text/css" scoped>
+  .chart {
+    margin-left: 1.5rem;
+    margin-right: 1.5rem;
+    width: 800px;
+  }
+  .quote {
+    margin-left: 2rem;
+    margin-right: 2rem;
+    color: #999;
+    font-style: italic;
+    font-size: 120%;
+  }
+  @media (prefers-color-scheme: dark) {
+    .chart {
+      border-radius: 8px;
+    }
+  }
+</style>
+
+## Overview
+
+This article shares the results of the 2022 June edition of the Go Developer
+Survey. On behalf of the Go team, thank you to the 5,752 people who told us
+about their experience working with new features introduced in Go 1.18,
+including generics, security tooling, and workspaces. You've helped us better
+understand how developers are discovering and using this functionality, and as
+this article will discuss, provided useful insights for additional
+improvements. Thank you! 💙
+
+### Key findings
+
+- __Generics has seen quick adoption__. A large majority of respondents were
+  aware generics had been included in the Go 1.18 release, and about 1 in 4
+  respondents said they've already started using generics in their Go code.
+  The most common single piece of generics-related feedback was "thank you!",
+  but it is clear developers are already running into some limitations of the
+  initial generics implementation.
+- __Fuzzing is new to most Go developers__. Awareness of Go's built-in fuzz
+  testing was much lower than generics, and respondents had much more
+  uncertainty around why or when they might consider using fuzz testing.
+- __Third-party dependencies are a top security concern__. Avoiding
+  dependencies with known vulnerabilities was the top security-related
+  challenge for respondents. More broadly, security work can often be
+  unplanned and unrewarded, implying that tooling needs to be respectful of
+  developers' time and attention.
+- __We can do better when announcing new functionality__. Randomly sampled
+  participants were less likely to know about recent Go tooling releases than
+  people who found the survey via the Go blog. This suggests we should either
+  look beyond blog articles to communicate changes in the Go ecosystem, or
+  expand efforts to share these articles more widely.
+- __Error handling remains a challenge__. Following the release of generics,
+  respondents' top challenge when working with Go shifted to error handling.
+  Overall, however, satisfaction with Go remains very high, and we found no
+  significant changes in how respondents said they were using Go.
+
+
+### How to read these results
+
+Throughout this post, we use charts of survey responses to provide supporting
+evidence for our findings. All of these charts use a similar format. The title
+is the exact question that survey respondents saw. Unless otherwise noted,
+questions were multiple choice and participants could only select a single
+response choice; each chart's subtitle will tell you if the question allowed
+multiple response choices or was an open-ended text box instead of a multiple
+choice question. For charts of open-ended text responses, a Go team member
+read and manually categorized all of the responses. Many open-ended questions
+elicited a wide variety of responses; to keep the chart sizes reasonable, we
+condensed them to a maximum of the top 10 themes, with additional themes all
+grouped under "Other".
+
+To help readers understand the weight of evidence underlying each finding, we
+include error bars showing the 95% confidence interval for responses; narrower
+bars indicate increased confidence. Sometimes two or more responses have
+overlapping error bars, which means the relative order of those responses is
+not statistically meaningful (i.e., the responses are effectively tied). The
+lower right of each chart shows the number of people whose responses are
+included in the chart, in the form "_n = [number of respondents]_".
+
+### A note on methodology
+
+Most survey respondents "self-selected" to take the survey, meaning they found
+it on [the Go blog](https://go.dev/blog),   [@golang on
+Twitter](https://twitter.com/golang), or other social Go channels. A potential
+problem with this approach is that people who don't follow these channels are
+less likely to learn about the survey, and might respond differently than
+people who _do_ closely follow them. About one third of respondents were
+randomly sampled, meaning they responded to the survey after seeing a prompt
+for it in VS Code (everyone using the VS Code Go plugin between June 1 - June
+21st 2022 had a 10% of receiving this random prompt). This randomly sampled
+group helps us generalize these findings to the larger community of Go
+developers. Most survey questions showed no meaningful difference between
+these groups, but in the few cases with important differences, readers will
+see charts that break down responses into "Random sample" and "Self-selected"
+groups.
+
+## Generics
+
+<div class="quote">"[Generics] seemed like the only obvious missing feature from the first time I used the language. Has helped reduce code duplication a lot." &mdash; A survey respondent discussing generics</div>
+
+After Go 1.18 was released with support for type parameters (more commonly
+referred to as _generics_), we wanted to understand what the initial awareness
+and adoption of generics looked like, as well as identify common challenges or
+blockers for using generics.
+
+The vast majority of survey respondents (86%) were already aware generics
+shipped as part of the Go 1.18 release. We had hoped to see a simple majority
+here, so this was much more awareness than we'd been expecting. We also found
+that about a quarter of respondents had begun using generics in Go code (26%),
+including 14% who said they are already using generics in production or
+released code. A majority of respondents (54%) were not opposed to using
+generics, but didn't have a need for them today. We also found that 8% of
+respondents _wanted_ to use generics in Go, but were currently blocked by
+something.
+
+<img src="survey2022q2/generics_awareness.svg" alt="Chart showing most
+respondents were aware Go 1.18 included generics" class="chart" /> <img
+src="survey2022q2/generics_use.svg" alt="Chart showing 26% of respondents are
+already using Go generics" class="chart" />
+
+What was blocking some developers from using generics? A majority of
+respondents fell into one of two categories. First, 30% of respondents said
+they hit a limit of the current implementation of generics, such as wanting
+parameterized methods, improved type inference, or switching on types.
+Respondents said these issues limited the potential use cases for generics or
+felt they made generic code unnecessarily verbose. The second category
+involved depending on something that didn't (yet) support generics---linters
+were the most common tool preventing adoption, but this list also included
+things like organizations remaining on an earlier Go release or depending on a
+Linux distribution that did not yet provide Go 1.18 packages (26%). A steep
+learning curve or lack of helpful documentation was cited by 12% of
+respondents. Beyond these top issues, respondents told us about a wide range
+of less-common (though still meaningful) challenges, as shown in the chart
+below. To avoid focusing on hypotheticals, this analysis only includes people
+who said they were already using generics, or who tried to use generics but
+were blocked by something.
+
+<img src="survey2022q2/text_gen_challenge.svg" alt="Chart showing the top
+generic challenges" class="chart" />
+
+We also asked survey respondents who had tried using generics to share any
+additional feedback. Encouragingly, one in ten respondents said generics had
+already simplified their code, or resulted in less code duplication. The most
+common response was some variation of "thank you!" or a general positive
+sentiment (43%); for comparison, only 6% of respondents evinced a negative
+reaction or sentiment. Mirroring the findings from the "biggest challenge"
+question above, nearly one third of respondents discussed hitting a limitation
+of Go's implementation of generics. The Go team is using this set of results
+to help decide if or how some of these limitations could be relaxed.
+
+<img src="survey2022q2/text_gen_feedback.svg" alt="Chart showing most generics
+feedback was positive or referenced a limitation of the current
+implementation" class="chart" />
+
+## Security
+
+<div class="quote">"[The biggest challenge is] finding time given competing priorities; business customers want their features over security." &mdash; A survey respondent discussing security challenges</div>
+
+Following the [2020 SolarWinds
+breach](https://en.wikipedia.org/wiki/2020_United_States_federal_government_data_breach#SolarWinds_exploit),
+the practice of developing software securely has received renewed attention.
+The Go team has prioritized work in this area, including tools for creating [a
+software bill of materials (SBOM)](https://pkg.go.dev/debug/buildinfo), [fuzz
+testing](https://go.dev/doc/fuzz/), and most recently, [vulnerability
+scanning](https://go.dev/blog/vuln/). To support these efforts, this survey
+asked several questions about software development security practices and
+challenges. We specifically wanted to understand:
+
+- What types of security tools are Go developers using today?
+- How do Go developers find and resolve vulnerabilities?
+- What are the biggest challenges to writing secure Go software?
+
+Our results suggest that while static analysis tooling is in widespread use
+(65% of respondents), a minority of respondents currently use it to find
+vulnerabilities (35%) or otherwise improve code security (33%). Respondents
+said that security tooling is most commonly run during CI/CD time (84%), with
+a minority saying developers run these tools locally during development (22%).
+This aligns with additional security research our team has conducted, which
+found that security scanning at CI/CD time is a desired backstop, but
+developers often considered this too late for a first notification: they would
+prefer to know a dependency may be vulnerable _before_ building upon it, or to
+verify that a version update resolved a vulnerability without waiting for CI
+to run a full battery of additional tests against their PR.
+
+<img src="survey2022q2/dev_techniques.svg" alt="Chart showing prevalence of 9
+different development techniques" class="chart" /> <img
+src="survey2022q2/security_sa_when.svg" alt="Chart showing most respondents
+run security tools during CI" class="chart" />
+
+We also asked respondents about their biggest challenges around developing
+secure software. The most wide-spread difficulty was evaluating the security
+of third-party libraries (57% of respondents), a topic vulnerability scanners
+(such as [GitHub's dependabot](https://github.com/dependabot) or the Go team's
+[govulncheck](https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck)) can help
+address. The other top challenges suggest opportunities for additional
+security tooling: respondents said it’s hard to consistently apply best
+practices while writing code, and validating that the resulting code doesn’t
+have vulnerabilities.
+
+<img src="survey2022q2/security_challenges.svg" alt="Chart showing the most
+common security challenge is evaluating the security of third-party libraries"
+class="chart" />
+
+Fuzz testing, another approach for increasing application security, was still
+quite new to most respondents. Only 12% said they use it at work, and 5% said
+they've adopted Go's built-in fuzzing tools. An open-ended follow-up question
+asking what made fuzzing difficult to use found that the main reasons were not
+technical problems: the top three responses discussed not understanding how to
+use fuzz testing (23%), a lack of time to devote to fuzzing or security more
+broadly (22%), and understanding why and when developers might want to use
+fuzz testing (14%). These findings indicate that we still have work to do in
+terms of communicating the value of fuzz testing, what should be fuzz tested,
+and how to apply it to a variety of different code bases.
+
+<img src="survey2022q2/fuzz_use.svg" alt="Chart showing most respondents have
+not tried fuzz testing yet" class="chart" /> <img
+src="survey2022q2/text_fuzz_challenge.svg" alt="Chart showing the biggest fuzz
+testing challenges relate to understanding, rather than technical issues"
+class="chart" />
+
+To better understand common tasks around vulnerability detection and
+resolution, we asked respondents whether they'd learned of any vulnerabilities
+in their Go code or its dependencies during the past year. For those who did,
+we followed up with questions asking how the most recent vulnerability was
+discovered, how they investigated and/or resolved it, and what was most
+challenging about the whole process.
+
+First, we found evidence that vulnerability scanning is effective. One quarter
+of respondents said they'd learned of a vulnerability in one of their
+third-party dependencies. Recall, however, that only about â…“ of respondents
+were using vulnerability scanning at all---when we look at responses from
+people who said they ran some sort of vulnerability scanner, this proportion
+nearly doubles, from 25% → 46%. Besides vulnerabilities in dependencies or in
+Go itself, 12% of respondents said they learned about vulnerabilities in their
+own code.
+
+A majority of respondents said they learned of vulnerabilities via security
+scanners (65%). The single most common tool respondents cited was [GitHub's
+dependabot](https://github.com/dependabot) (38%), making it more frequently
+referenced than all other vulnerability scanners combined (27%). After
+scanning tools, the most common method for learning about vulnerabilities were
+public reports, such as release notes and CVEs (22%).
+
+<img src="survey2022q2/security_found_vuln.svg" alt="Chart showing that most
+respondents have not found security vulnerabilities during the past year"
+class="chart" /> <img src="survey2022q2/text_vuln_find.svg" alt="Chart showing
+that vulnerability scanners are the most common way to learn about security
+vulnerabilities" class="chart" />
+
+Once respondents learned about a vulnerability, the most common resolution was
+to upgrade the vulnerable dependency (67%). Among respondents who also
+discussed using a vulnerability scanner (a proxy for participants who were
+discussing a vulnerability in a third-party dependency), this increased to
+85%. Less than one third of respondents discussed reading the CVE or
+vulnerability report (31%), and only 12% mentioned a deeper investigation to
+understand whether (and how) their software was impacted by the vulnerability.
+
+That only 12% of respondents said they performed an investigation into whether
+a vulnerability was reachable in their code, or the potential impact it may
+have had on their service, was surprising. To understand this better, we also
+looked at what respondents said was most challenging about responding to
+security vulnerabilities. They described several different topics in roughly
+equal proportions, from ensuring that dependency updates didn't break
+anything, to understanding how to update indirect dependencies via go.mod
+files. Also in this list is the type of investigation needed to understand a
+vulnerability's impact or root cause. When we focus on only the respondents
+who said they performed these investigations, however, we see a clear
+correlation: 70% of respondents who said they performed an investigation into
+the vulnerability's potential impact cited it as the most challenging part of
+this process. Reasons included not just the difficulty of the task, but the
+fact that it was often both unplanned and unrewarded work.
+
+The Go team believes these deeper investigations, which require an
+understanding of _how_ an application uses a vulnerable dependency, are
+crucial for understanding the risk the vulnerability may present to an
+organization, as well as understanding whether a data breach or other security
+compromise occurred. Thus, [we designed
+`govulncheck`](https://go.dev/blog/vuln) to only alert developers when a
+vulnerability is invoked, and point developers to the exact places in their
+code using the vulnerable functions. Our hope is that this will make it easier
+for developers to quickly investigate the vulnerabilities that truly matter to
+their application, thus reducing the overall amount of unplanned work in this
+space.
+
+<img src="survey2022q2/text_vuln_resolve.svg" alt="Chart showing most
+respondents resolved vulnerabilities by upgrading dependencies" class="chart"
+/> <img src="survey2022q2/text_vuln_challenge.svg" alt="Chart showing a 6-way
+tie for tasks that were most challenging when investigating and resolving
+security vulnerabilities" class="chart" />
+
+## Tooling
+
+Next, we investigated three questions focused on tooling:
+
+- Has the editor landscape shifted since our last survey?
+- Are developers using workspaces? If so, what challenges have they
+  encountered while getting started?
+- How do developers handle internal package documentation?
+
+VS Code appears to be continuing to grow in popularity among survey
+respondents, with the proportion of respondents saying it's their preferred
+editor for Go code increasing from 42% → 45% since 2021. VS Code and GoLand,
+the two most popular editors, showed no differences in popularity between
+small and large organizations, though hobbyist developers were more likely to
+prefer VS Code to GoLand. This analysis excludes the randomly sampled VS Code
+respondents---we'd expect people we invited to the survey to show a preference
+for the tool used to distribute the invitation, which is exactly what we saw
+(91% of the randomly sampled respondents preferred VS Code).
+
+Following the 2021 switch to [power VS Code's Go support via the gopls
+language server](https://go.dev/blog/gopls-vscode-go), the Go team has been
+interested in understanding developer pain points related to gopls. While we
+receive a healthy amount of feedback from developers currently using gopls, we
+wondered whether a large proportion of developers had disabled it shortly
+after release, which could mean we weren't hearing feedback about particularly
+problematic use cases. To answer this question, we asked respondents who said
+they preferred an editor which supports gopls whether or not they _used_
+gopls, finding that only 2% said they had disabled it; for VS Code
+specifically, this dropped to 1%. This increases our confidence that we're
+hearing feedback from a representative group of developers. For readers who
+still have unresolved issues with gopls, please let us know by <a
+href="https://github.com/golang/go/issues">filing an issue on GitHub</a>.
+
+<img src="survey2022q2/editor_self_select.svg" alt="Chart showing the top
+preferred editors for Go are VS Code, GoLand, and Vim / Neovim" class="chart"
+/> <img src="survey2022q2/use_gopls.svg" alt="Chart showing only 2% of
+respondents disabled gopls" class="chart" />
+
+Regarding workspaces, it seems many people first learned about Go's support
+for multi-module workspaces via this survey. Respondents who learned of the
+survey through VS Code's randomized prompt were especially likely to say they
+had not heard of workspaces before (53% of randomly sampled respondents vs.
+33% of self-selecting respondents), a trend we also observed with awareness of
+generics (though this was higher for both groups, with 93% of self-selecting
+respondents aware that generics landed in Go 1.18 vs. 68% of randomly sampled
+respondents). One interpretation is that there is a large audience of Go
+developers we do not currently reach through the Go blog or existing social
+media channels, which has traditionally been our primary mechanism for sharing
+new functionality.
+
+We found that 9% of respondents said they had tried workspaces, and an
+additional 5% would like to but are blocked by something. Respondents
+discussed a variety of challenges when trying to use Go workspaces. A lack of
+documentation and helpful error message from the `go work` command top the
+list (21%), followed by technical challenges such as refactoring existing
+repositories (13%). Similar to challenges discussed in the security section,
+we again see "lack of time / not a priority" in this list---we interpret this
+to mean the bar to understand and setup workspaces is still a bit too high
+compared to the benefits they provide, potentially because developers already
+had workarounds in place.
+
+<img src="survey2022q2/workspaces_use_s.svg" alt="Chart showing a majority of
+randomly sampled respondents were not aware of workspaces prior to this
+survey" class="chart" /> <img src="survey2022q2/text_workspace_challenge.svg"
+alt="Chart showing that documentation and error messages were the top
+challenge when trying to use Go workspaces" class="chart" />
+
+Prior to the release of Go modules, organizations were able to run internal
+documentation servers (such as [the one that powered
+godoc.org](https://github.com/golang/gddo)) to provide employees with
+documentation for private, internal Go packages. This remains true with
+[pkg.go.dev](https://pkg.go.dev), but setting up such a server is more complex
+than it used to be. To understand if we should invest in making this process
+easier, we asked respondents how they view documentation for internal Go
+modules today, and whether that's their preferred way of working.
+
+The results show the most common way to view internal Go documentation today
+is by reading the code (81%), and while about half of the respondents were
+happy with this, a large proportion would prefer to have an internal
+documentation server (39%). We also asked who might be most likely to
+configure and maintain such a server: by a 2-to-1 margin, respondents thought
+it would be a software engineer rather than someone from a dedicated IT
+support or operations team. This strongly suggests that a documentation server
+should be a turn-key solution, or at least easy for a single developer to get
+running quickly (over, say, a lunch break), on the theory that this type of
+work is yet one more responsibility on developers' already full plates.
+
+<img src="survey2022q2/doc_viewing_today.svg" alt="Chart showing most
+respondents use source code directly for internal package documentation"
+class="chart" /> <img src="survey2022q2/doc_viewing_ideal.svg" alt="Chart
+showing 39% of respondents would prefer to use a documentation server instead
+of viewing source for docs" class="chart" /> <img
+src="survey2022q2/doc_server_owner.svg" alt="Chart showing most respondents
+expect a software engineer to be responsible for such a documentation server"
+class="chart" />
+
+## Who we heard from
+
+Overall, the demographics and firmographics of respondents did not
+meaningfully shift since [our 2021
+survey](https://go.dev/blog/survey2021-results). A small majority of
+respondents (53%) have at least two years of experience using Go, while the
+rest are newer to the Go community. About â…“ of respondents work at small
+businesses (< 100 employees), ¼ work at medium-sized businesses (100 -- 1,000
+employees), and ¼ work at enterprises (> 1,000 employees). Similar to last
+year, we found that our VS Code prompt helped encourage survey participation
+outside of North America and Europe.
+
+<img src="survey2022q2/go_exp.svg" alt="Chart showing distribution of
+respondents' Go experience" class="chart" /> <img src="survey2022q2/where.svg"
+alt="Chart showing distribution of where respondents' use Go" class="chart" />
+<img src="survey2022q2/org_size.svg" alt="Chart showing distribution of
+organization sizes for survey respondents" class="chart" /> <img
+src="survey2022q2/industry.svg" alt="Chart showing distribution of industry
+classifications for survey respondents" class="chart" /> <img
+src="survey2022q2/location_s.svg" alt="Chart showing where in the world survey
+respondents live" class="chart" />
+
+## How respondents use Go
+
+Similar to the previous section, we did not find any statistically significant
+year-over-year changes in how respondents are using Go. The two most common
+use cases remain building API/RPC services (73%) and writing CLIs (60%). We
+used linear models to investigate whether there was a relationship between how
+long a respondent had been using Go and the types of things they were building
+with it. We found that respondents with < 1 year of Go experience are more
+likely to be building something in the bottom half of this chart (GUIs, IoT,
+games, ML/AI, or mobile apps), suggesting that there is interest in using Go
+in these domains, but the drop-off after one year of experience also implies
+that developers hit significant barriers when working with Go in these areas.
+
+A majority of respondents use either Linux (59%) or macOS (52%) when
+developing with Go, and the vast majority deploy to Linux systems (93%). This
+cycle we added a response choice for developing on Windows Subsystem for Linux
+(WSL), finding that 13% of respondents use this when working with Go.
+
+<img src="survey2022q2/go_app.svg" alt="Chart showing distribution of what
+respondents build with Go" class="chart" /> <img src="survey2022q2/os_dev.svg"
+alt="Chart showing Linux and macOS are the most common development systems"
+class="chart" /> <img src="survey2022q2/os_deploy.svg" alt="Chart showing
+Linux is the most common deployment platform" class="chart" />
+
+## Sentiment and challenges
+
+Finally, we asked respondents about their overall level of satisfaction or
+dissatisfaction with Go during that past year, as well as the biggest
+challenge they face when using Go. We found that 93% of respondents said they
+were "somewhat" (30%) or "very" (63%) satisfied, which is not statistically
+different from the 92% of respondents who said they were satisfied during the
+2021 Go Developer Survey.
+
+After years of generics consistently being the most commonly discussed
+challenge when using Go, the support for type parameters in Go 1.18 finally
+resulted in a new top challenge: our old friend, error handling. To be sure,
+error handling is statistically tied with several other challenges, including
+missing or immature libraries for certain domains, helping developers learn
+and implement best practices, and other revisions to the type system, such as
+support for enums or more functional programming syntax. Post-generics, there
+appears to be a very long tail of challenges facing Go developers.
+
+<img src="survey2022q2/csat.svg" alt="Chart showing 93% of survey respondents
+are satisfied using Go, with 4% dissatisfied" class="chart" /> <img
+src="survey2022q2/text_biggest_challenge.svg" alt="Chart showing a long tail
+of challenges reported by survey respondents" class="chart" />
+
+## Survey methodology
+
+We publicly announced this survey on June 1st, 2022 via
+[go.dev/blog](https://go.dev/blog) and [@golang](https://twitter.com/golang)
+on Twitter. We also randomly prompted 10% of [VS
+Code](https://code.visualstudio.com/) users via the Go plugin between June 1st
+-- 21st. The survey closed on June 22nd, and partial responses (i.e., people
+who started but did not finish the survey) were also recorded. We filtered out
+data from respondents who completed the survey especially quickly (< 30
+seconds) or tended to check all of the response choices for multi-select
+questions. This left 5,752 responses.
+
+About â…“ of respondents came from the randomized VS Code prompt, and this group
+tended to have less experience with Go than people who found the survey via
+the Go blog or Go's social media channels. We used linear and logistic models
+to investigate whether apparent differences between these groups were better
+explained by this difference in experience, which was usually the case. The
+exceptions are noted in the text.
+
+This year we very much hoped to also share the raw dataset with the community,
+similar to developer surveys from [Stack
+Overflow](https://insights.stackoverflow.com/survey),
+[JetBrains](https://www.jetbrains.com/lp/devecosystem-2021/), and others.
+Recent legal guidance unfortunately prevents us from doing that right now, but
+we're working on this and expect to be able to share the raw dataset for our
+next Go Developer Survey.
+
+## Conclusion
+
+This iteration of the Go Developer Survey focused on new functionality from
+the Go 1.18 release. We found that generics adoption is well under way, with
+developers already hitting some limitations of the current implementation.
+Fuzz testing and workspaces have seen slower adoption, though largely not for
+technical reasons: the primary challenge with both was understanding when and
+how to use them. A lack of developer time to focus on these topics was another
+challenge, and this theme carried into security tooling as well. These
+findings are helping the Go team prioritize our next efforts and will
+influence how we approach the design of future tooling.
+
+Thank you for joining us in the tour of Go developer research---we hope it's
+been insightful and interesting. Most importantly, thank you to everyone who
+has responded to our surveys over the years. Your feedback helps us understand
+the constraints Go developers work under and identify challenges they face. By
+sharing these experiences, you're helping to improve the Go ecosystem for
+everyone. On behalf of Gophers everywhere, we appreciate you!
diff --git a/_content/blog/survey2022q2/csat.svg b/_content/blog/survey2022q2/csat.svg
new file mode 100644
index 0000000..73baf31
--- /dev/null
+++ b/_content/blog/survey2022q2/csat.svg
@@ -0,0 +1,57 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='144.00pt' viewBox='0 0 432.00 144.00'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwxNDQuMDA='>
+    <rect x='0.00' y='0.00' width='432.00' height='144.00' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxNDQuMDA=)'>
+</g>
+<defs>
+  <clipPath id='cpMTkuNDF8NDI2LjUyfDQ5Ljk5fDk3LjEz'>
+    <rect x='19.41' y='49.99' width='407.11' height='47.14' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTkuNDF8NDI2LjUyfDQ5Ljk5fDk3LjEz)'>
+<polyline points='107.91,97.13 107.91,49.99 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='284.92,97.13 284.92,49.99 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='19.41,97.13 19.41,49.99 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='196.42,97.13 196.42,49.99 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='373.42,97.13 373.42,49.99 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='45.91' y='57.85' width='327.51' height='31.43' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00DA83;' />
+<rect x='34.04' y='57.85' width='11.87' height='31.43' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #FFFFBF;' />
+<rect x='19.41' y='57.85' width='14.63' height='31.43' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #ED6868;' />
+<text x='209.66' y='76.26' text-anchor='middle' style='font-size: 7.50px; font-weight: bold;fill: #555555; font-family: "Arial";' textLength='15.03px' lengthAdjust='spacingAndGlyphs'>93%</text>
+<text x='39.97' y='76.26' text-anchor='middle' style='font-size: 7.50px; font-weight: bold;fill: #555555; font-family: "Arial";' textLength='10.85px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='26.73' y='76.26' text-anchor='middle' style='font-size: 7.50px; font-weight: bold;fill: #555555; font-family: "Arial";' textLength='10.85px' lengthAdjust='spacingAndGlyphs'>4%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxNDQuMDA=)'>
+<text x='19.41' y='107.22' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='196.42' y='107.22' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='373.42' y='107.22' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='222.97' y='124.52' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<rect x='102.15' y='25.57' width='12.76' height='12.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #ED6868;' />
+<rect x='165.21' y='25.57' width='12.76' height='12.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #FFFFBF;' />
+<rect x='300.33' y='25.57' width='12.76' height='12.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00DA83;' />
+<text x='119.60' y='34.82' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='40.92px' lengthAdjust='spacingAndGlyphs'>Dissatisfied</text>
+<text x='182.66' y='34.82' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='112.98px' lengthAdjust='spacingAndGlyphs'>Neither satisfied nor dissatisfied</text>
+<text x='317.78' y='34.82' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='30.69px' lengthAdjust='spacingAndGlyphs'>Satisfied</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='396.30px' lengthAdjust='spacingAndGlyphs'>Overall, how satisfied or dissatisfied have you been using Go during the past year?</text>
+<text x='426.52' y='136.93' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  5,010</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/dev_techniques.svg b/_content/blog/survey2022q2/dev_techniques.svg
new file mode 100644
index 0000000..0e9f889
--- /dev/null
+++ b/_content/blog/survey2022q2/dev_techniques.svg
@@ -0,0 +1,102 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='263.35pt' viewBox='0 0 432.00 263.35'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwyNjMuMzU='>
+    <rect x='0.00' y='0.00' width='432.00' height='263.35' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyNjMuMzU=)'>
+</g>
+<defs>
+  <clipPath id='cpMTE5LjA0fDQyNi41Mnw0Mi4zM3wyMTYuNDg='>
+    <rect x='119.04' y='42.33' width='307.48' height='174.15' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTE5LjA0fDQyNi41Mnw0Mi4zM3wyMTYuNDg=)'>
+<polyline points='185.88,216.48 185.88,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='319.57,216.48 319.57,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='119.04,216.48 119.04,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='252.73,216.48 252.73,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='386.41,216.48 386.41,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='119.04' y='178.62' width='31.50' height='15.14' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='119.04' y='197.55' width='14.63' height='15.14' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='119.04' y='65.05' width='173.37' height='15.14' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='119.04' y='102.91' width='142.06' height='15.14' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='119.04' y='46.12' width='233.81' height='15.14' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='119.04' y='140.76' width='88.72' height='15.14' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='119.04' y='83.98' width='143.42' height='15.14' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='119.04' y='159.69' width='85.88' height='15.14' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='119.04' y='121.83' width='92.78' height='15.14' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='153.17,188.09 153.17,184.30 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='153.17,186.19 147.92,186.19 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='147.92,188.09 147.92,184.30 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='135.52,207.02 135.52,203.23 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='135.52,205.12 131.82,205.12 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='131.82,207.02 131.82,203.23 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='296.30,74.51 296.30,70.73 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='296.30,72.62 288.53,72.62 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='288.53,74.51 288.53,70.73 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='265.16,112.37 265.16,108.58 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='265.16,110.48 257.04,110.48 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='257.04,112.37 257.04,108.58 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='355.54,55.58 355.54,51.80 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='355.54,53.69 350.15,53.69 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='350.15,55.58 350.15,51.80 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='211.59,150.23 211.59,146.44 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='211.59,148.34 203.93,148.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='203.93,150.23 203.93,146.44 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='266.51,93.44 266.51,89.65 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='266.51,91.55 258.40,91.55 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='258.40,93.44 258.40,89.65 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='208.72,169.16 208.72,165.37 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='208.72,167.26 201.12,167.26 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='201.12,169.16 201.12,165.37 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='215.69,131.30 215.69,127.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='215.69,129.41 207.94,129.41 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='207.94,131.30 207.94,127.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='156.55' y='188.88' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>12%</text>
+<text x='138.00' y='207.81' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>5%</text>
+<text x='298.42' y='75.31' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>65%</text>
+<text x='267.11' y='113.17' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>53%</text>
+<text x='358.85' y='56.38' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>87%</text>
+<text x='213.76' y='151.02' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>33%</text>
+<text x='268.46' y='94.24' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>54%</text>
+<text x='210.92' y='169.95' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>32%</text>
+<text x='217.82' y='132.10' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>35%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyNjMuMzU=)'>
+<text x='114.11' y='207.70' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='58.72px' lengthAdjust='spacingAndGlyphs'>None of the above</text>
+<text x='114.11' y='188.78' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='68.28px' lengthAdjust='spacingAndGlyphs'>Fuzz testing (fuzzing)</text>
+<text x='114.11' y='169.85' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='97.44px' lengthAdjust='spacingAndGlyphs'>Tools to improve code security</text>
+<text x='114.11' y='147.03' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='70.69px' lengthAdjust='spacingAndGlyphs'>Tools to improve code</text>
+<text x='114.11' y='154.80' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='72.28px' lengthAdjust='spacingAndGlyphs'>performance/efficiency</text>
+<text x='114.11' y='131.99' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='69.90px' lengthAdjust='spacingAndGlyphs'>Vulnerability scanning</text>
+<text x='114.11' y='113.06' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='78.67px' lengthAdjust='spacingAndGlyphs'>Measuring test coverage</text>
+<text x='114.11' y='90.24' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='70.69px' lengthAdjust='spacingAndGlyphs'>Tools to improve code</text>
+<text x='114.11' y='98.02' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='50.72px' lengthAdjust='spacingAndGlyphs'>quality/reliability</text>
+<text x='114.11' y='75.20' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='81.46px' lengthAdjust='spacingAndGlyphs'>Static analyzers/checkers</text>
+<text x='114.11' y='56.27' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='35.94px' lengthAdjust='spacingAndGlyphs'>Unit testing</text>
+<text x='119.04' y='226.57' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='252.73' y='226.57' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='386.41' y='226.57' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='272.78' y='243.87' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='30.60' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='73.40px' lengthAdjust='spacingAndGlyphs'>(select all that apply)</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='392.31px' lengthAdjust='spacingAndGlyphs'>At work, does your team use any of the following tools / techniques with Go code?</text>
+<text x='426.52' y='256.28' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  4,150</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/doc_server_owner.svg b/_content/blog/survey2022q2/doc_server_owner.svg
new file mode 100644
index 0000000..69f4ae0
--- /dev/null
+++ b/_content/blog/survey2022q2/doc_server_owner.svg
@@ -0,0 +1,71 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='175.87pt' viewBox='0 0 432.00 175.87'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwxNzUuODc='>
+    <rect x='0.00' y='0.00' width='432.00' height='175.87' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxNzUuODc=)'>
+</g>
+<defs>
+  <clipPath id='cpMTUxLjc5fDQyNi41MnwzNS42NnwxMjkuMDA='>
+    <rect x='151.79' y='35.66' width='274.73' height='93.34' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTUxLjc5fDQyNi41MnwzNS42NnwxMjkuMDA=)'>
+<polyline points='211.52,129.00 211.52,35.66 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='330.96,129.00 330.96,35.66 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='151.79,129.00 151.79,35.66 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='271.24,129.00 271.24,35.66 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='390.69,129.00 390.69,35.66 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='151.79' y='40.10' width='145.88' height='17.78' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='151.79' y='62.33' width='52.23' height='17.78' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='151.79' y='84.55' width='35.92' height='17.78' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='151.79' y='106.78' width='4.86' height='17.78' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='303.52,51.22 303.52,46.77 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='303.52,48.99 291.82,48.99 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='291.82,51.22 291.82,46.77 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='208.99,73.44 208.99,69.00 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='208.99,71.22 199.07,71.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='199.07,73.44 199.07,69.00 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='192.00,95.67 192.00,91.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='192.00,93.44 183.43,93.44 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='183.43,95.67 183.43,91.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='158.35,117.89 158.35,113.45 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='158.35,115.67 154.96,115.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.96,117.89 154.96,113.45 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='305.17' y='51.68' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>61%</text>
+<text x='211.53' y='73.91' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>22%</text>
+<text x='195.22' y='96.13' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>15%</text>
+<text x='162.07' y='118.36' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxNzUuODc=)'>
+<text x='146.86' y='118.25' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.96px' lengthAdjust='spacingAndGlyphs'>Other</text>
+<text x='146.86' y='96.03' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='37.31px' lengthAdjust='spacingAndGlyphs'>I'm not sure</text>
+<text x='146.86' y='69.91' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='130.19px' lengthAdjust='spacingAndGlyphs'>Someone from another department (e.g.,</text>
+<text x='146.86' y='77.69' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='63.48px' lengthAdjust='spacingAndGlyphs'>IT, Operations, etc.)</text>
+<text x='146.86' y='51.58' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='113.02px' lengthAdjust='spacingAndGlyphs'>A Go developer / software engineer</text>
+<text x='151.79' y='139.10' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='271.24' y='139.10' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='390.69' y='139.10' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='289.16' y='156.39' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='414.11px' lengthAdjust='spacingAndGlyphs'>Who would be most likely to setup and maintain your organization's Go documentation</text>
+<text x='5.48' y='28.46' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='36.16px' lengthAdjust='spacingAndGlyphs'>server?</text>
+<text x='426.52' y='168.80' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  1,523</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/doc_viewing_ideal.svg b/_content/blog/survey2022q2/doc_viewing_ideal.svg
new file mode 100644
index 0000000..187dd23
--- /dev/null
+++ b/_content/blog/survey2022q2/doc_viewing_ideal.svg
@@ -0,0 +1,72 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='175.87pt' viewBox='0 0 432.00 175.87'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwxNzUuODc='>
+    <rect x='0.00' y='0.00' width='432.00' height='175.87' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxNzUuODc=)'>
+</g>
+<defs>
+  <clipPath id='cpMTQ1LjQwfDQyNi41MnwzNS42NnwxMjkuMDA='>
+    <rect x='145.40' y='35.66' width='281.12' height='93.34' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTQ1LjQwfDQyNi41MnwzNS42NnwxMjkuMDA=)'>
+<polyline points='206.51,129.00 206.51,35.66 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='328.74,129.00 328.74,35.66 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='145.40,129.00 145.40,35.66 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='267.63,129.00 267.63,35.66 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='389.85,129.00 389.85,35.66 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='145.40' y='62.33' width='95.97' height='17.78' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='145.40' y='40.10' width='104.88' height='17.78' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='145.40' y='84.55' width='36.01' height='17.78' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='145.40' y='106.78' width='7.59' height='17.78' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='245.12,73.44 245.12,69.00 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='245.12,71.22 237.63,71.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='237.63,73.44 237.63,69.00 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='254.08,51.22 254.08,46.77 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='254.08,48.99 246.48,48.99 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='246.48,51.22 246.48,46.77 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='184.13,95.67 184.13,91.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='184.13,93.44 178.69,93.44 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='178.69,95.67 178.69,91.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.32,117.89 154.32,113.45 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.32,115.67 151.66,115.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='151.66,117.89 151.66,113.45 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='247.38' y='73.91' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>39%</text>
+<text x='256.28' y='51.68' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>43%</text>
+<text x='187.41' y='96.13' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>15%</text>
+<text x='157.32' y='118.36' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxNzUuODc=)'>
+<text x='140.47' y='118.25' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.96px' lengthAdjust='spacingAndGlyphs'>Other</text>
+<text x='140.47' y='96.03' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='92.25px' lengthAdjust='spacingAndGlyphs'>Using the `go doc` command</text>
+<text x='140.47' y='66.02' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='123.80px' lengthAdjust='spacingAndGlyphs'>An internal documentation server (e.g.,</text>
+<text x='140.47' y='73.80' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='115.82px' lengthAdjust='spacingAndGlyphs'>an internal instance of pkg.go.dev or</text>
+<text x='140.47' y='81.58' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='23.16px' lengthAdjust='spacingAndGlyphs'>similar)</text>
+<text x='140.47' y='51.58' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='100.24px' lengthAdjust='spacingAndGlyphs'>By viewing source code directly</text>
+<text x='145.40' y='139.10' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='267.63' y='139.10' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='389.85' y='139.10' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='285.96' y='156.39' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='399.00px' lengthAdjust='spacingAndGlyphs'>Ideally, how would you most prefer to view documentation about private/internal Go</text>
+<text x='5.48' y='28.46' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='67.25px' lengthAdjust='spacingAndGlyphs'>code at work?</text>
+<text x='426.52' y='168.80' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  3,897</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/doc_viewing_today.svg b/_content/blog/survey2022q2/doc_viewing_today.svg
new file mode 100644
index 0000000..a3176c9
--- /dev/null
+++ b/_content/blog/survey2022q2/doc_viewing_today.svg
@@ -0,0 +1,78 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='183.84pt' viewBox='0 0 432.00 183.84'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwxODMuODQ='>
+    <rect x='0.00' y='0.00' width='432.00' height='183.84' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxODMuODQ=)'>
+</g>
+<defs>
+  <clipPath id='cpMTUxLjU4fDQyNi41Mnw1My4xM3wxMzYuOTc='>
+    <rect x='151.58' y='53.13' width='274.94' height='83.84' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTUxLjU4fDQyNi41Mnw1My4xM3wxMzYuOTc=)'>
+<polyline points='211.35,136.97 211.35,53.13 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='330.89,136.97 330.89,53.13 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='151.58,136.97 151.58,53.13 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='271.12,136.97 271.12,53.13 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='390.66,136.97 390.66,53.13 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='151.58' y='72.48' width='38.44' height='12.90' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='151.58' y='104.72' width='19.34' height='12.90' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='151.58' y='120.85' width='9.37' height='12.90' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='151.58' y='88.60' width='34.00' height='12.90' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='151.58' y='56.36' width='192.74' height='12.90' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='192.76,80.54 192.76,77.32 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='192.76,78.93 187.27,78.93 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='187.27,80.54 187.27,77.32 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='172.96,112.79 172.96,109.56 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='172.96,111.17 168.88,111.17 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='168.88,112.79 168.88,109.56 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='162.39,128.91 162.39,125.68 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='162.39,127.30 159.49,127.30 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='159.49,128.91 159.49,125.68 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='188.19,96.66 188.19,93.44 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='188.19,95.05 182.97,95.05 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='182.97,96.66 182.97,93.44 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='347.27,64.42 347.27,61.19 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='347.27,62.81 341.36,62.81 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='341.36,64.42 341.36,61.19 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='196.02' y='81.62' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>16%</text>
+<text x='175.25' y='113.86' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>8%</text>
+<text x='165.28' y='129.99' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='191.58' y='97.74' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>14%</text>
+<text x='350.32' y='65.49' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>81%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxODMuODQ=)'>
+<text x='146.65' y='129.88' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.96px' lengthAdjust='spacingAndGlyphs'>Other</text>
+<text x='146.65' y='109.87' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='129.97px' lengthAdjust='spacingAndGlyphs'>We don't need to view documentation for</text>
+<text x='146.65' y='117.64' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='84.66px' lengthAdjust='spacingAndGlyphs'>private or internal Go code</text>
+<text x='146.65' y='97.63' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='129.79px' lengthAdjust='spacingAndGlyphs'>We run an internal documentation server</text>
+<text x='146.65' y='81.51' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='115.01px' lengthAdjust='spacingAndGlyphs'>We use the local `go doc` command</text>
+<text x='146.65' y='65.39' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='105.02px' lengthAdjust='spacingAndGlyphs'>We view the source code directly</text>
+<text x='151.58' y='147.06' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='271.12' y='147.06' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='390.66' y='147.06' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='289.05' y='164.36' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='41.40' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='73.40px' lengthAdjust='spacingAndGlyphs'>(select all that apply)</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='400.12px' lengthAdjust='spacingAndGlyphs'>At your organization, how do engineers primarily view documentation about private/</text>
+<text x='5.48' y='28.46' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='114.47px' lengthAdjust='spacingAndGlyphs'>internal Go code today?</text>
+<text x='426.52' y='176.77' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  3,931</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/editor_self_select.svg b/_content/blog/survey2022q2/editor_self_select.svg
new file mode 100644
index 0000000..f5358aa
--- /dev/null
+++ b/_content/blog/survey2022q2/editor_self_select.svg
@@ -0,0 +1,87 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='201.50pt' viewBox='0 0 432.00 201.50'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwyMDEuNTA='>
+    <rect x='0.00' y='0.00' width='432.00' height='201.50' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyMDEuNTA=)'>
+</g>
+<defs>
+  <clipPath id='cpNzMuNTJ8NDI2LjUyfDI0Ljg2fDE1NC42Mw=='>
+    <rect x='73.52' y='24.86' width='353.00' height='129.77' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpNzMuNTJ8NDI2LjUyfDI0Ljg2fDE1NC42Mw==)'>
+<polyline points='150.26,154.63 150.26,24.86 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='303.74,154.63 303.74,24.86 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='73.52,154.63 73.52,24.86 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='227.00,154.63 227.00,24.86 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='380.48,154.63 380.48,24.86 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='73.52' y='118.58' width='0.83' height='14.42' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='73.52' y='82.54' width='8.81' height='14.42' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='73.52' y='46.49' width='105.21' height='14.42' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='73.52' y='100.56' width='4.29' height='14.42' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='73.52' y='64.51' width='42.40' height='14.42' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='73.52' y='28.46' width='139.47' height='14.42' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='73.52' y='136.61' width='5.95' height='14.42' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='74.84,127.60 74.84,123.99 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='74.84,125.79 73.86,125.79 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='73.86,127.60 73.86,123.99 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='83.91,91.55 83.91,87.94 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='83.91,89.75 80.76,89.75 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='80.76,91.55 80.76,87.94 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='183.20,55.50 183.20,51.90 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='183.20,53.70 174.26,53.70 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='174.26,55.50 174.26,51.90 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='78.92,109.57 78.92,105.97 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='78.92,107.77 76.71,107.77 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='76.71,109.57 76.71,105.97 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='119.17,73.52 119.17,69.92 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='119.17,71.72 112.67,71.72 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='112.67,73.52 112.67,69.92 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='217.68,37.48 217.68,33.87 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='217.68,35.67 208.30,35.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='208.30,37.48 208.30,33.87 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='80.77,145.62 80.77,142.02 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='80.77,143.82 78.17,143.82 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='78.17,145.62 78.17,142.02 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='78.69' y='128.48' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='86.67' y='92.44' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='184.73' y='56.39' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>34%</text>
+<text x='82.15' y='110.46' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>1%</text>
+<text x='121.92' y='74.41' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>14%</text>
+<text x='218.99' y='38.36' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>45%</text>
+<text x='83.81' y='146.51' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyMDEuNTA=)'>
+<text x='68.59' y='146.40' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.96px' lengthAdjust='spacingAndGlyphs'>Other</text>
+<text x='68.59' y='128.38' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='16.78px' lengthAdjust='spacingAndGlyphs'>Atom</text>
+<text x='68.59' y='110.35' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='41.94px' lengthAdjust='spacingAndGlyphs'>Sublime Text</text>
+<text x='68.59' y='92.33' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='21.97px' lengthAdjust='spacingAndGlyphs'>Emacs</text>
+<text x='68.59' y='74.30' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='42.73px' lengthAdjust='spacingAndGlyphs'>Vim / Neovim</text>
+<text x='68.59' y='56.28' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='51.92px' lengthAdjust='spacingAndGlyphs'>GoLand / IntelliJ</text>
+<text x='68.59' y='38.26' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='28.76px' lengthAdjust='spacingAndGlyphs'>VS Code</text>
+<text x='73.52' y='164.73' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='227.00' y='164.73' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='380.48' y='164.73' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='250.02' y='182.02' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='164.52px' lengthAdjust='spacingAndGlyphs'>My preferred editor for Go code is:</text>
+<text x='426.52' y='194.43' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  4,076</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/fuzz_use.svg b/_content/blog/survey2022q2/fuzz_use.svg
new file mode 100644
index 0000000..20044f8
--- /dev/null
+++ b/_content/blog/survey2022q2/fuzz_use.svg
@@ -0,0 +1,87 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='231.06pt' viewBox='0 0 432.00 231.06'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwyMzEuMDY='>
+    <rect x='0.00' y='0.00' width='432.00' height='231.06' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyMzEuMDY=)'>
+</g>
+<defs>
+  <clipPath id='cpMTQwLjYxfDQyNi41MnwzNS42NnwxODQuMTk='>
+    <rect x='140.61' y='35.66' width='285.91' height='148.53' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTQwLjYxfDQyNi41MnwzNS42NnwxODQuMTk=)'>
+<polyline points='202.77,184.19 202.77,35.66 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='327.07,184.19 327.07,35.66 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='140.61,184.19 140.61,35.66 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='264.92,184.19 264.92,35.66 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='389.23,184.19 389.23,35.66 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='140.61' y='88.36' width='19.35' height='19.17' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.61' y='40.45' width='122.57' height='19.17' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.61' y='136.28' width='11.00' height='19.17' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.61' y='64.41' width='49.99' height='19.17' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.61' y='112.32' width='12.35' height='19.17' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.61' y='160.24' width='33.35' height='19.17' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='161.78,100.34 161.78,95.55 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='161.78,97.95 158.14,97.95 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='158.14,100.34 158.14,95.55 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='266.58,52.43 266.58,47.64 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='266.58,50.03 259.79,50.03 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='259.79,52.43 259.79,47.64 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='153.01,148.26 153.01,143.47 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='153.01,145.86 150.22,145.86 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='150.22,148.26 150.22,143.47 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='193.33,76.39 193.33,71.60 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='193.33,73.99 187.88,73.99 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='187.88,76.39 187.88,71.60 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.44,124.30 154.44,119.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.44,121.90 151.49,121.90 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='151.49,124.30 151.49,119.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='176.27,172.21 176.27,167.42 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='176.27,169.82 171.64,169.82 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='171.64,172.21 171.64,167.42 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='164.30' y='100.64' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>8%</text>
+<text x='269.18' y='52.72' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>49%</text>
+<text x='155.95' y='148.55' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='196.61' y='76.68' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>20%</text>
+<text x='157.30' y='124.59' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>5%</text>
+<text x='179.96' y='172.51' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>13%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyMzEuMDY=)'>
+<text x='135.68' y='172.40' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='37.31px' lengthAdjust='spacingAndGlyphs'>I'm not sure</text>
+<text x='135.68' y='144.55' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='119.01px' lengthAdjust='spacingAndGlyphs'>I want to, but something is preventing</text>
+<text x='135.68' y='152.33' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='83.07px' lengthAdjust='spacingAndGlyphs'>me from using them today</text>
+<text x='135.68' y='120.60' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='96.19px' lengthAdjust='spacingAndGlyphs'>I've already started using Go's</text>
+<text x='135.68' y='128.37' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='63.10px' lengthAdjust='spacingAndGlyphs'>built-in fuzzing tools</text>
+<text x='135.68' y='100.53' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='87.24px' lengthAdjust='spacingAndGlyphs'>I don't intend to use fuzzing</text>
+<text x='135.68' y='72.68' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='104.23px' lengthAdjust='spacingAndGlyphs'>I intend to start using them in the</text>
+<text x='135.68' y='80.46' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='49.13px' lengthAdjust='spacingAndGlyphs'>next 12 months</text>
+<text x='135.68' y='44.84' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='118.97px' lengthAdjust='spacingAndGlyphs'>I'm open to using Go's built-in fuzzing</text>
+<text x='135.68' y='52.62' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='114.00px' lengthAdjust='spacingAndGlyphs'>tools, but don't have a specific need</text>
+<text x='135.68' y='60.39' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='57.50px' lengthAdjust='spacingAndGlyphs'>for them right now</text>
+<text x='140.61' y='194.29' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='264.92' y='194.29' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='389.23' y='194.29' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='283.57' y='211.58' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='390.67px' lengthAdjust='spacingAndGlyphs'>Go 1.18 (released in March 2022) includes built-in fuzzing support. How would you</text>
+<text x='5.48' y='28.46' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='272.26px' lengthAdjust='spacingAndGlyphs'>describe your intention to use (or not use) fuzzing in Go?</text>
+<text x='426.52' y='223.99' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  5,152</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/generics_awareness.svg b/_content/blog/survey2022q2/generics_awareness.svg
new file mode 100644
index 0000000..d739d79
--- /dev/null
+++ b/_content/blog/survey2022q2/generics_awareness.svg
@@ -0,0 +1,74 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='211.05pt' viewBox='0 0 432.00 211.05'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwyMTEuMDU='>
+    <rect x='0.00' y='0.00' width='432.00' height='211.05' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyMTEuMDU=)'>
+</g>
+<defs>
+  <clipPath id='cpMTUyLjIwfDQyNi41MnwzNS42NnwxNjQuMTg='>
+    <rect x='152.20' y='35.66' width='274.32' height='128.52' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTUyLjIwfDQyNi41MnwzNS42NnwxNjQuMTg=)'>
+<polyline points='211.83,164.18 211.83,35.66 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='331.10,164.18 331.10,35.66 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='152.20,164.18 152.20,35.66 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='271.47,164.18 271.47,35.66 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='390.74,164.18 390.74,35.66 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='152.20' y='72.38' width='17.91' height='24.48' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='152.20' y='102.98' width='13.89' height='24.48' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='152.20' y='41.78' width='204.86' height='24.48' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='152.20' y='133.58' width='1.88' height='24.48' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='171.76,87.68 171.76,81.56 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='171.76,84.62 168.46,84.62 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='168.46,87.68 168.46,81.56 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='167.55,118.28 167.55,112.16 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='167.55,115.22 164.62,115.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='164.62,118.28 164.62,112.16 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='359.24,57.08 359.24,50.96 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='359.24,54.02 354.88,54.02 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='354.88,57.08 354.88,50.96 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.63,148.88 154.63,142.76 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.63,145.82 153.52,145.82 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='153.52,148.88 153.52,142.76 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='174.44' y='87.31' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>8%</text>
+<text x='170.42' y='117.91' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>6%</text>
+<text x='363.06' y='56.71' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>86%</text>
+<text x='158.41' y='148.51' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>1%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyMTEuMDU=)'>
+<text x='147.27' y='148.40' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.96px' lengthAdjust='spacingAndGlyphs'>Other</text>
+<text x='147.27' y='110.02' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='130.59px' lengthAdjust='spacingAndGlyphs'>I knew generics were being added to Go,</text>
+<text x='147.27' y='117.80' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='110.38px' lengthAdjust='spacingAndGlyphs'>but prior to this survey, didn't know</text>
+<text x='147.27' y='125.58' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='75.10px' lengthAdjust='spacingAndGlyphs'>they had been released</text>
+<text x='147.27' y='83.31' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='113.79px' lengthAdjust='spacingAndGlyphs'>Prior to this survey, I was not aware</text>
+<text x='147.27' y='91.09' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='105.84px' lengthAdjust='spacingAndGlyphs'>generics were being added to Go</text>
+<text x='147.27' y='52.71' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='105.42px' lengthAdjust='spacingAndGlyphs'>I was already aware generics are</text>
+<text x='147.27' y='60.49' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='47.53px' lengthAdjust='spacingAndGlyphs'>available in Go</text>
+<text x='152.20' y='174.27' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='271.47' y='174.27' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='390.74' y='174.27' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='289.36' y='191.57' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='421.32px' lengthAdjust='spacingAndGlyphs'>Go 1.18 (released in March 2022) includes support for generics. How would you describe</text>
+<text x='5.48' y='28.46' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='166.20px' lengthAdjust='spacingAndGlyphs'>your awareness of generics in Go?</text>
+<text x='426.52' y='203.98' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  5,581</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/generics_use.svg b/_content/blog/survey2022q2/generics_use.svg
new file mode 100644
index 0000000..d955f96
--- /dev/null
+++ b/_content/blog/survey2022q2/generics_use.svg
@@ -0,0 +1,92 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='241.80pt' viewBox='0 0 432.00 241.80'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwyNDEuODA='>
+    <rect x='0.00' y='0.00' width='432.00' height='241.80' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyNDEuODA=)'>
+</g>
+<defs>
+  <clipPath id='cpMTQ2LjYwfDQyNi41MnwyNC44NnwxOTQuOTM='>
+    <rect x='146.60' y='24.86' width='279.92' height='170.07' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTQ2LjYwfDQyNi41MnwyNC44NnwxOTQuOTM=)'>
+<polyline points='207.45,194.93 207.45,24.86 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='329.16,194.93 329.16,24.86 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='146.60,194.93 146.60,24.86 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='268.31,194.93 268.31,24.86 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='390.01,194.93 390.01,24.86 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='146.60' y='124.07' width='14.13' height='18.90' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='146.60' y='29.58' width='132.24' height='18.90' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='146.60' y='100.45' width='18.32' height='18.90' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='146.60' y='147.69' width='13.12' height='18.90' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='146.60' y='76.83' width='28.78' height='18.90' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='146.60' y='53.21' width='33.24' height='18.90' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='146.60' y='171.31' width='3.59' height='18.90' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='162.22,135.88 162.22,131.16 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='162.22,133.52 159.23,133.52 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='159.23,135.88 159.23,131.16 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='282.03,41.39 282.03,36.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='282.03,39.03 275.66,39.03 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='275.66,41.39 275.66,36.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='166.61,112.26 166.61,107.53 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='166.61,109.90 163.24,109.90 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='163.24,112.26 163.24,107.53 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='161.17,159.50 161.17,154.78 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='161.17,157.14 158.28,157.14 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='158.28,159.50 158.28,154.78 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='177.44,88.64 177.44,83.91 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='177.44,86.28 173.31,86.28 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='173.31,88.64 173.31,83.91 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='182.03,65.02 182.03,60.29 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='182.03,62.65 177.64,62.65 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='177.64,65.02 177.64,60.29 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='150.96,183.12 150.96,178.40 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='150.96,180.76 149.42,180.76 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='149.42,183.12 149.42,178.40 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='165.06' y='136.21' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>6%</text>
+<text x='284.85' y='41.72' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>54%</text>
+<text x='169.26' y='112.59' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>8%</text>
+<text x='164.06' y='159.83' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>5%</text>
+<text x='181.38' y='88.96' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>12%</text>
+<text x='185.84' y='65.34' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>14%</text>
+<text x='154.52' y='183.45' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>1%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyNDEuODA=)'>
+<text x='141.67' y='183.34' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.96px' lengthAdjust='spacingAndGlyphs'>Other</text>
+<text x='141.67' y='155.83' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='111.20px' lengthAdjust='spacingAndGlyphs'>I'm waiting to use generics until Go</text>
+<text x='141.67' y='163.61' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='49.92px' lengthAdjust='spacingAndGlyphs'>1.19 or Go 1.20</text>
+<text x='141.67' y='136.10' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='91.63px' lengthAdjust='spacingAndGlyphs'>I don't intend to use generics</text>
+<text x='141.67' y='108.59' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='119.01px' lengthAdjust='spacingAndGlyphs'>I want to use generics, but something</text>
+<text x='141.67' y='116.37' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='113.82px' lengthAdjust='spacingAndGlyphs'>is preventing me from doing it today</text>
+<text x='141.67' y='84.97' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='116.78px' lengthAdjust='spacingAndGlyphs'>I've started using generics, but not in</text>
+<text x='141.67' y='92.74' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='80.68px' lengthAdjust='spacingAndGlyphs'>production/released code</text>
+<text x='141.67' y='61.35' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='90.83px' lengthAdjust='spacingAndGlyphs'>I've started using generics in</text>
+<text x='141.67' y='69.12' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='80.68px' lengthAdjust='spacingAndGlyphs'>production/released code</text>
+<text x='141.67' y='37.73' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='114.98px' lengthAdjust='spacingAndGlyphs'>I'm open to using generics, but don't</text>
+<text x='141.67' y='45.50' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='125.00px' lengthAdjust='spacingAndGlyphs'>have a specific need for them right now</text>
+<text x='146.60' y='205.03' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='268.31' y='205.03' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='390.01' y='205.03' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='286.56' y='222.32' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='355.06px' lengthAdjust='spacingAndGlyphs'>How would you describe your intention to use (or not use) generics in Go?</text>
+<text x='426.52' y='234.73' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  5,566</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/go_app.svg b/_content/blog/survey2022q2/go_app.svg
new file mode 100644
index 0000000..a3d97ca
--- /dev/null
+++ b/_content/blog/survey2022q2/go_app.svg
@@ -0,0 +1,125 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='330.80pt' viewBox='0 0 432.00 330.80'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwzMzAuODA='>
+    <rect x='0.00' y='0.00' width='432.00' height='330.80' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwzMzAuODA=)'>
+</g>
+<defs>
+  <clipPath id='cpMTQ0LjYyfDQyNi41Mnw0Mi4zM3wyODMuOTM='>
+    <rect x='144.62' y='42.33' width='281.91' height='241.60' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTQ0LjYyfDQyNi41Mnw0Mi4zM3wyODMuOTM=)'>
+<polyline points='205.90,283.93 205.90,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='328.47,283.93 328.47,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='144.62,283.93 144.62,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='267.18,283.93 267.18,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='389.75,283.93 389.75,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='144.62' y='155.81' width='79.91' height='14.64' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='144.62' y='229.02' width='7.71' height='14.64' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='144.62' y='45.99' width='179.63' height='14.64' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='144.62' y='119.20' width='94.82' height='14.64' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='144.62' y='64.30' width='147.41' height='14.64' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='144.62' y='137.51' width='88.94' height='14.64' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='144.62' y='210.72' width='11.34' height='14.64' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='144.62' y='174.11' width='21.82' height='14.64' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='144.62' y='192.41' width='17.30' height='14.64' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='144.62' y='82.60' width='103.56' height='14.64' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='144.62' y='247.32' width='6.26' height='14.64' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='144.62' y='265.63' width='9.29' height='14.64' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='144.62' y='100.90' width='101.51' height='14.64' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='227.49,164.96 227.49,161.30 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='227.49,163.13 221.55,163.13 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='221.55,164.96 221.55,161.30 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='153.44,238.17 153.44,234.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='153.44,236.34 151.22,236.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='151.22,238.17 151.22,234.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='327.05,55.14 327.05,51.48 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='327.05,53.31 321.44,53.31 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='321.44,55.14 321.44,51.48 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='242.52,128.35 242.52,124.69 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='242.52,126.52 236.35,126.52 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='236.35,128.35 236.35,124.69 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='295.13,73.45 295.13,69.79 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='295.13,71.62 288.93,71.62 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='288.93,73.45 288.93,69.79 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='236.60,146.66 236.60,143.00 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='236.60,144.83 230.51,144.83 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='230.51,146.66 230.51,143.00 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='157.28,219.87 157.28,216.21 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='157.28,218.04 154.62,218.04 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.62,219.87 154.62,216.21 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='168.24,183.26 168.24,179.60 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='168.24,181.43 164.63,181.43 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='164.63,183.26 164.63,179.60 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='163.54,201.57 163.54,197.91 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='163.54,199.74 160.30,199.74 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='160.30,201.57 160.30,197.91 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='251.30,91.75 251.30,88.09 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='251.30,89.92 245.05,89.92 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='245.05,91.75 245.05,88.09 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='151.88,256.47 151.88,252.81 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='151.88,254.64 149.88,254.64 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='149.88,256.47 149.88,252.81 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='155.12,274.78 155.12,271.12 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='155.12,272.95 152.70,272.95 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='152.70,274.78 152.70,271.12 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='249.25,110.05 249.25,106.39 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='249.25,108.22 243.01,108.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='243.01,110.05 243.01,106.39 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='230.52' y='165.82' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>33%</text>
+<text x='156.66' y='239.03' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='330.25' y='56.00' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>73%</text>
+<text x='245.44' y='129.21' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>39%</text>
+<text x='298.03' y='74.31' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>60%</text>
+<text x='239.56' y='147.52' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>36%</text>
+<text x='160.29' y='220.73' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>5%</text>
+<text x='170.77' y='184.12' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>9%</text>
+<text x='166.25' y='202.42' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>7%</text>
+<text x='254.18' y='92.61' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>42%</text>
+<text x='155.21' y='257.33' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='158.24' y='275.64' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='252.13' y='110.91' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>41%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwzMzAuODA=)'>
+<text x='139.68' y='275.53' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.96px' lengthAdjust='spacingAndGlyphs'>Other</text>
+<text x='139.68' y='257.22' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='38.75px' lengthAdjust='spacingAndGlyphs'>Mobile apps</text>
+<text x='139.68' y='235.03' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='85.87px' lengthAdjust='spacingAndGlyphs'>Machine learning / Artificial</text>
+<text x='139.68' y='242.81' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='35.96px' lengthAdjust='spacingAndGlyphs'>intelligence</text>
+<text x='139.68' y='220.62' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='23.16px' lengthAdjust='spacingAndGlyphs'>Games</text>
+<text x='139.68' y='202.32' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='123.01px' lengthAdjust='spacingAndGlyphs'>Embedded devices / Internet of Things</text>
+<text x='139.68' y='184.01' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='85.06px' lengthAdjust='spacingAndGlyphs'>Desktop / GUI applications</text>
+<text x='139.68' y='165.71' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='67.91px' lengthAdjust='spacingAndGlyphs'>Agents and daemons</text>
+<text x='139.68' y='147.41' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='51.92px' lengthAdjust='spacingAndGlyphs'>Data processing</text>
+<text x='139.68' y='129.11' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='63.09px' lengthAdjust='spacingAndGlyphs'>Automation / scripts</text>
+<text x='139.68' y='110.80' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='77.06px' lengthAdjust='spacingAndGlyphs'>Websites / web services</text>
+<text x='139.68' y='92.50' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='75.06px' lengthAdjust='spacingAndGlyphs'>Libraries or frameworks</text>
+<text x='139.68' y='74.20' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='102.23px' lengthAdjust='spacingAndGlyphs'>A runnable / interactive program</text>
+<text x='139.68' y='55.89' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='61.09px' lengthAdjust='spacingAndGlyphs'>API / RPC services</text>
+<text x='144.62' y='294.02' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='267.18' y='294.02' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='389.75' y='294.02' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='285.57' y='311.31' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='30.60' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='73.40px' lengthAdjust='spacingAndGlyphs'>(select all that apply)</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='125.00px' lengthAdjust='spacingAndGlyphs'>I write the following in Go:</text>
+<text x='426.52' y='323.73' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  5,752</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/go_exp.svg b/_content/blog/survey2022q2/go_exp.svg
new file mode 100644
index 0000000..5227413
--- /dev/null
+++ b/_content/blog/survey2022q2/go_exp.svg
@@ -0,0 +1,81 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='192.55pt' viewBox='0 0 432.00 192.55'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwxOTIuNTU='>
+    <rect x='0.00' y='0.00' width='432.00' height='192.55' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxOTIuNTU=)'>
+</g>
+<defs>
+  <clipPath id='cpODQuMzF8NDI2LjUyfDI0Ljg2fDE0NS42OA=='>
+    <rect x='84.31' y='24.86' width='342.21' height='120.82' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpODQuMzF8NDI2LjUyfDI0Ljg2fDE0NS42OA==)'>
+<polyline points='158.70,145.68 158.70,24.86 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='307.49,145.68 307.49,24.86 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='84.31,145.68 84.31,24.86 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='233.10,145.68 233.10,24.86 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='381.88,145.68 381.88,24.86 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='84.31' y='28.76' width='32.72' height='15.59' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='84.31' y='48.24' width='58.29' height='15.59' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='84.31' y='67.73' width='48.41' height='15.59' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='84.31' y='87.22' width='88.32' height='15.59' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='84.31' y='106.71' width='50.94' height='15.59' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='84.31' y='126.19' width='18.90' height='15.59' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='119.43,38.50 119.43,34.60 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='119.43,36.55 114.62,36.55 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='114.62,38.50 114.62,34.60 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='145.65,57.99 145.65,54.09 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='145.65,56.04 139.55,56.04 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='139.55,57.99 139.55,54.09 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='135.55,77.48 135.55,73.58 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='135.55,75.53 129.87,75.53 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='129.87,77.48 129.87,73.58 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='176.14,96.96 176.14,93.07 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='176.14,95.01 169.11,95.01 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='169.11,96.96 169.11,93.07 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='138.15,116.45 138.15,112.55 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='138.15,114.50 132.35,114.50 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='132.35,116.45 132.35,112.55 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='105.08,135.94 105.08,132.04 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='105.08,133.99 101.33,133.99 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='101.33,135.94 101.33,132.04 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='123.03' y='39.24' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>11%</text>
+<text x='148.60' y='58.73' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>20%</text>
+<text x='138.72' y='78.22' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>16%</text>
+<text x='178.63' y='97.70' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>30%</text>
+<text x='141.25' y='117.19' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>17%</text>
+<text x='107.54' y='136.68' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>6%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxOTIuNTU=)'>
+<text x='79.38' y='136.57' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='27.76px' lengthAdjust='spacingAndGlyphs'>8+ years</text>
+<text x='79.38' y='117.08' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='33.93px' lengthAdjust='spacingAndGlyphs'>5 - 7 years</text>
+<text x='79.38' y='97.60' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='33.93px' lengthAdjust='spacingAndGlyphs'>2 - 4 years</text>
+<text x='79.38' y='78.11' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='47.92px' lengthAdjust='spacingAndGlyphs'>13 - 24 months</text>
+<text x='79.38' y='58.62' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='43.93px' lengthAdjust='spacingAndGlyphs'>3 - 12 months</text>
+<text x='79.38' y='39.13' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='62.70px' lengthAdjust='spacingAndGlyphs'>Less than 3 months</text>
+<text x='84.31' y='155.78' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='233.10' y='155.78' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='381.88' y='155.78' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='255.41' y='173.07' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='78.52px' lengthAdjust='spacingAndGlyphs'>I've used Go for:</text>
+<text x='426.52' y='185.48' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  5,748</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/industry.svg b/_content/blog/survey2022q2/industry.svg
new file mode 100644
index 0000000..04c6d2e
--- /dev/null
+++ b/_content/blog/survey2022q2/industry.svg
@@ -0,0 +1,118 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='245.85pt' viewBox='0 0 432.00 245.85'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwyNDUuODU='>
+    <rect x='0.00' y='0.00' width='432.00' height='245.85' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyNDUuODU=)'>
+</g>
+<defs>
+  <clipPath id='cpMTMyLjI0fDQyNi41MnwzNS42NnwxOTguOTg='>
+    <rect x='132.24' y='35.66' width='294.28' height='163.32' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTMyLjI0fDQyNi41MnwzNS42NnwxOTguOTg=)'>
+<polyline points='196.21,198.98 196.21,35.66 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='324.16,198.98 324.16,35.66 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='132.24,198.98 132.24,35.66 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='260.19,198.98 260.19,35.66 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='388.14,198.98 388.14,35.66 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='132.24' y='132.05' width='6.54' height='10.71' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='132.24' y='172.21' width='3.47' height='10.71' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='132.24' y='51.72' width='32.45' height='10.71' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='132.24' y='105.27' width='8.90' height='10.71' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='132.24' y='65.11' width='19.30' height='10.71' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='132.24' y='145.43' width='5.63' height='10.71' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='132.24' y='158.82' width='4.58' height='10.71' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='132.24' y='91.88' width='13.15' height='10.71' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='132.24' y='38.34' width='124.55' height='10.71' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='132.24' y='78.50' width='13.54' height='10.71' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='132.24' y='118.66' width='7.52' height='10.71' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='132.24' y='185.59' width='16.29' height='10.71' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='140.05,138.74 140.05,136.06 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='140.05,137.40 137.51,137.40 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='137.51,138.74 137.51,136.06 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='136.63,178.90 136.63,176.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='136.63,177.56 134.78,177.56 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='134.78,178.90 134.78,176.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='167.35,58.42 167.35,55.74 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='167.35,57.08 162.02,57.08 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='162.02,58.42 162.02,55.74 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='142.60,111.96 142.60,109.29 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='142.60,110.63 139.67,110.63 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='139.67,111.96 139.67,109.29 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='153.65,71.80 153.65,69.13 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='153.65,70.47 149.42,70.47 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='149.42,71.80 149.42,69.13 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='139.04,152.13 139.04,149.45 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='139.04,150.79 136.69,150.79 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='136.69,152.13 136.69,149.45 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='137.88,165.51 137.88,162.84 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='137.88,164.17 135.75,164.17 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='135.75,165.51 135.75,162.84 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='147.16,98.58 147.16,95.90 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='147.16,97.24 143.62,97.24 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='143.62,98.58 143.62,95.90 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='260.79,45.03 260.79,42.35 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='260.79,43.69 252.78,43.69 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='252.78,45.03 252.78,42.35 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='147.57,85.19 147.57,82.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='147.57,83.85 143.98,83.85 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='143.98,85.19 143.98,82.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='141.12,125.35 141.12,122.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='141.12,124.01 138.41,124.01 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='138.41,125.35 138.41,122.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='150.48,192.29 150.48,189.61 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='150.48,190.95 146.57,190.95 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='146.57,192.29 146.57,189.61 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='143.11' y='140.09' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='140.04' y='180.25' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>1%</text>
+<text x='170.69' y='59.77' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>13%</text>
+<text x='145.47' y='113.32' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='155.87' y='73.15' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>8%</text>
+<text x='142.20' y='153.48' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+<text x='141.15' y='166.86' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+<text x='149.72' y='99.93' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>5%</text>
+<text x='262.79' y='46.38' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>49%</text>
+<text x='150.11' y='86.54' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>5%</text>
+<text x='144.10' y='126.70' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='152.86' y='193.64' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>6%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyNDUuODU=)'>
+<text x='127.31' y='193.53' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.96px' lengthAdjust='spacingAndGlyphs'>Other</text>
+<text x='127.31' y='180.14' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='22.77px' lengthAdjust='spacingAndGlyphs'>Energy</text>
+<text x='127.31' y='166.76' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='75.07px' lengthAdjust='spacingAndGlyphs'>Public sector / nonprofit</text>
+<text x='127.31' y='153.37' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='45.53px' lengthAdjust='spacingAndGlyphs'>Manufacturing</text>
+<text x='127.31' y='139.98' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='31.96px' lengthAdjust='spacingAndGlyphs'>Education</text>
+<text x='127.31' y='126.59' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='46.32px' lengthAdjust='spacingAndGlyphs'>Transportation</text>
+<text x='127.31' y='113.21' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='79.87px' lengthAdjust='spacingAndGlyphs'>Healthcare / life sciences</text>
+<text x='127.31' y='99.82' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='110.64px' lengthAdjust='spacingAndGlyphs'>Retail / consumer packaged goods</text>
+<text x='127.31' y='86.43' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='65.91px' lengthAdjust='spacingAndGlyphs'>Telecommunications</text>
+<text x='127.31' y='73.05' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='49.13px' lengthAdjust='spacingAndGlyphs'>Media / gaming</text>
+<text x='127.31' y='59.66' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='57.11px' lengthAdjust='spacingAndGlyphs'>Financial services</text>
+<text x='127.31' y='46.27' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='37.15px' lengthAdjust='spacingAndGlyphs'>Technology</text>
+<text x='132.24' y='209.07' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='260.19' y='209.07' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='388.14' y='209.07' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='279.38' y='226.37' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='368.96px' lengthAdjust='spacingAndGlyphs'>Which of the following best describes the industry in which your organization</text>
+<text x='5.48' y='28.46' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='47.81px' lengthAdjust='spacingAndGlyphs'>operates?</text>
+<text x='426.52' y='238.78' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  3,912</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/location_s.svg b/_content/blog/survey2022q2/location_s.svg
new file mode 100644
index 0000000..c1d2d3d
--- /dev/null
+++ b/_content/blog/survey2022q2/location_s.svg
@@ -0,0 +1,280 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='476.53pt' viewBox='0 0 432.00 476.53'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHw0NzYuNTM='>
+    <rect x='0.00' y='0.00' width='432.00' height='476.53' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHw0NzYuNTM=)'>
+</g>
+<defs>
+  <clipPath id='cpNzIuNzR8NDI2LjUyfDQ5Ljk5fDQyOS42Ng=='>
+    <rect x='72.74' y='49.99' width='353.78' height='379.67' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpNzIuNzR8NDI2LjUyfDQ5Ljk5fDQyOS42Ng==)'>
+<polyline points='149.65,429.66 149.65,49.99 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='303.47,429.66 303.47,49.99 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='72.74,429.66 72.74,49.99 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='226.56,429.66 226.56,49.99 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='380.37,429.66 380.37,49.99 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='72.74' y='239.83' width='5.03' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='204.01' width='10.32' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='132.37' width='7.67' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='96.55' width='31.74' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='150.28' width='10.85' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='78.65' width='21.16' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='168.19' width='15.61' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='365.19' width='8.73' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='329.37' width='2.38' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='311.46' width='7.41' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='293.55' width='6.08' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='221.92' width='6.08' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='186.10' width='12.96' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='275.64' width='5.03' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='257.73' width='2.91' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='347.28' width='2.65' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='401.01' width='2.12' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='383.10' width='2.38' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='114.46' width='11.37' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='60.74' width='64.28' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='418.91' width='70.89' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='72.74' y='232.66' width='7.70' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='196.84' width='7.79' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='125.21' width='12.47' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='89.39' width='15.58' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='143.12' width='11.09' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='71.48' width='28.23' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='161.03' width='7.70' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='358.02' width='2.11' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='322.21' width='5.32' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='304.30' width='4.58' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='286.39' width='6.05' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='214.75' width='7.79' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='178.94' width='6.97' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='268.48' width='6.60' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='250.57' width='8.07' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='340.12' width='4.31' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='393.84' width='3.67' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='375.93' width='3.67' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='107.30' width='20.26' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='53.57' width='73.98' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='72.74' y='411.75' width='63.71' height='7.16' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<polyline points='80.01,244.75 80.01,242.96 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='80.01,243.86 75.52,243.86 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='75.52,244.75 75.52,242.96 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='86.24,208.93 86.24,207.14 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='86.24,208.04 79.87,208.04 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='79.87,208.93 79.87,207.14 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='83.17,137.30 83.17,135.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='83.17,136.40 77.65,136.40 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='77.65,137.30 77.65,135.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='109.86,101.48 109.86,99.69 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='109.86,100.58 99.10,100.58 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='99.10,101.48 99.10,99.69 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='86.84,155.21 86.84,153.42 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='86.84,154.31 80.32,154.31 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='80.32,155.21 80.32,153.42 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='98.37,83.57 98.37,81.78 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='98.37,82.68 89.42,82.68 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='89.42,83.57 89.42,81.78 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='92.22,173.12 92.22,171.32 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='92.22,172.22 84.46,172.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='84.46,173.12 84.46,171.32 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='84.40,370.11 84.40,368.32 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='84.40,369.22 78.53,369.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='78.53,370.11 78.53,368.32 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='76.67,334.30 76.67,332.50 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='76.67,333.40 73.57,333.40 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='73.57,334.30 73.57,332.50 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='82.85,316.39 82.85,314.60 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='82.85,315.49 77.43,315.49 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='77.43,316.39 77.43,314.60 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='81.28,298.48 81.28,296.69 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='81.28,297.58 76.36,297.58 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='76.36,298.48 76.36,296.69 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='81.28,226.84 81.28,225.05 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='81.28,225.95 76.36,225.95 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='76.36,226.84 76.36,225.05 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='89.25,191.02 89.25,189.23 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='89.25,190.13 82.15,190.13 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='82.15,191.02 82.15,189.23 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='80.01,280.57 80.01,278.78 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='80.01,279.67 75.52,279.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='75.52,280.57 75.52,278.78 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='77.36,262.66 77.36,260.87 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='77.36,261.76 73.94,261.76 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='73.94,262.66 73.94,260.87 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='77.02,352.20 77.02,350.41 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='77.02,351.31 73.75,351.31 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='73.75,352.20 73.75,350.41 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='76.32,405.93 76.32,404.14 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='76.32,405.04 73.39,405.04 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='73.39,405.93 73.39,404.14 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='76.67,388.02 76.67,386.23 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='76.67,387.13 73.57,387.13 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='73.57,388.02 73.57,386.23 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='87.45,119.39 87.45,117.60 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='87.45,118.49 80.78,118.49 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='80.78,119.39 80.78,117.60 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='144.20,65.66 144.20,63.87 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='144.20,64.77 129.83,64.77 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='129.83,65.66 129.83,63.87 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='151.07,423.84 151.07,422.05 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='151.07,422.94 136.18,422.94 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='136.18,423.84 136.18,422.05 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='82.06,236.69 82.06,234.90 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='82.06,235.80 78.81,235.80 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='78.81,236.69 78.81,234.90 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='82.17,200.87 82.17,199.08 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='82.17,199.98 78.89,199.98 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='78.89,200.87 78.89,199.08 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='87.26,129.24 87.26,127.45 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='87.26,128.34 83.15,128.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='83.15,129.24 83.15,127.45 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='90.60,93.42 90.60,91.63 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='90.60,92.53 86.04,92.53 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='86.04,93.42 86.04,91.63 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='85.77,147.15 85.77,145.36 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='85.77,146.25 81.89,146.25 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='81.89,147.15 81.89,145.36 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='103.98,75.51 103.98,73.72 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='103.98,74.62 97.97,74.62 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='97.97,75.51 97.97,73.72 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='82.06,165.06 82.06,163.27 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='82.06,164.16 78.81,164.16 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='78.81,165.06 78.81,163.27 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='75.70,362.05 75.70,360.26 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='75.70,361.16 73.99,361.16 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='73.99,362.05 73.99,360.26 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='79.41,326.24 79.41,324.45 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='79.41,325.34 76.70,325.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='76.70,326.24 76.70,324.45 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='78.58,308.33 78.58,306.54 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='78.58,307.43 76.06,307.43 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='76.06,308.33 76.06,306.54 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='80.23,290.42 80.23,288.63 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='80.23,289.52 77.34,289.52 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='77.34,290.42 77.34,288.63 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='82.17,218.78 82.17,216.99 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='82.17,217.89 78.89,217.89 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='78.89,218.78 78.89,216.99 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='81.25,182.97 81.25,181.17 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='81.25,182.07 78.16,182.07 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='78.16,182.97 78.16,181.17 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='80.85,272.51 80.85,270.72 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='80.85,271.61 77.83,271.61 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='77.83,272.51 77.83,270.72 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='82.47,254.60 82.47,252.81 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='82.47,253.71 79.14,253.71 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='79.14,254.60 79.14,252.81 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='78.27,344.15 78.27,342.35 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='78.27,343.25 75.82,343.25 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='75.82,344.15 75.82,342.35 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='77.53,397.87 77.53,396.08 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='77.53,396.98 75.28,396.98 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='75.28,397.87 75.28,396.08 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='77.53,379.96 77.53,378.17 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='77.53,379.07 75.28,379.07 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='75.28,379.96 75.28,378.17 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='95.58,111.33 95.58,109.54 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='95.58,110.43 90.41,110.43 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='90.41,111.33 90.41,109.54 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='151.16,57.60 151.16,55.81 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='151.16,56.71 142.27,56.71 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='142.27,57.60 142.27,55.81 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='140.66,415.78 140.66,413.99 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='140.66,414.89 132.23,414.89 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='132.23,415.78 132.23,413.99 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='84.27' y='246.54' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+<text x='89.56' y='210.73' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='86.91' y='139.09' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+<text x='113.48' y='103.27' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>10%</text>
+<text x='90.08' y='157.00' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='100.40' y='85.36' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>7%</text>
+<text x='94.85' y='174.91' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>5%</text>
+<text x='87.97' y='371.91' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='81.62' y='336.09' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>1%</text>
+<text x='86.65' y='318.18' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+<text x='85.32' y='300.27' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+<text x='85.32' y='228.64' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+<text x='92.20' y='192.82' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='84.27' y='282.36' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+<text x='82.15' y='264.45' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>1%</text>
+<text x='81.88' y='354.00' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>1%</text>
+<text x='81.36' y='407.72' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>1%</text>
+<text x='81.62' y='389.82' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>1%</text>
+<text x='90.61' y='121.18' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='146.02' y='67.46' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>21%</text>
+<text x='152.63' y='425.63' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>23%</text>
+<text x='86.94' y='238.49' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='87.03' y='202.67' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='91.71' y='131.03' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='94.82' y='95.21' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>5%</text>
+<text x='90.33' y='148.94' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='107.47' y='77.31' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>9%</text>
+<text x='86.94' y='166.85' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='81.35' y='363.85' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>1%</text>
+<text x='84.56' y='328.03' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+<text x='83.82' y='310.12' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>1%</text>
+<text x='85.29' y='292.21' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+<text x='87.03' y='220.58' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='86.21' y='184.76' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+<text x='85.84' y='274.30' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+<text x='87.31' y='256.39' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='83.55' y='345.94' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>1%</text>
+<text x='82.91' y='399.67' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>1%</text>
+<text x='82.91' y='381.76' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>1%</text>
+<text x='99.50' y='113.12' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>7%</text>
+<text x='155.72' y='59.40' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>24%</text>
+<text x='145.45' y='417.57' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>21%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHw0NzYuNTM=)'>
+<text x='67.81' y='421.50' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.96px' lengthAdjust='spacingAndGlyphs'>Other</text>
+<text x='67.81' y='403.59' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='21.96px' lengthAdjust='spacingAndGlyphs'>Turkey</text>
+<text x='67.81' y='385.68' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='24.76px' lengthAdjust='spacingAndGlyphs'>Ukraine</text>
+<text x='67.81' y='367.77' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='31.16px' lengthAdjust='spacingAndGlyphs'>Indonesia</text>
+<text x='67.81' y='349.86' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='37.14px' lengthAdjust='spacingAndGlyphs'>Switzerland</text>
+<text x='67.81' y='331.95' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='13.18px' lengthAdjust='spacingAndGlyphs'>Italy</text>
+<text x='67.81' y='314.04' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='19.58px' lengthAdjust='spacingAndGlyphs'>Japan</text>
+<text x='67.81' y='296.13' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='38.74px' lengthAdjust='spacingAndGlyphs'>Netherlands</text>
+<text x='67.81' y='278.23' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>Spain</text>
+<text x='67.81' y='260.32' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='25.97px' lengthAdjust='spacingAndGlyphs'>Sweden</text>
+<text x='67.81' y='242.41' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='27.96px' lengthAdjust='spacingAndGlyphs'>Australia</text>
+<text x='67.81' y='224.50' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='22.38px' lengthAdjust='spacingAndGlyphs'>Poland</text>
+<text x='67.81' y='206.59' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.97px' lengthAdjust='spacingAndGlyphs'>Brazil</text>
+<text x='67.81' y='188.68' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='21.97px' lengthAdjust='spacingAndGlyphs'>Russia</text>
+<text x='67.81' y='170.77' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='15.58px' lengthAdjust='spacingAndGlyphs'>India</text>
+<text x='67.81' y='152.86' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='22.36px' lengthAdjust='spacingAndGlyphs'>France</text>
+<text x='67.81' y='134.95' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='25.17px' lengthAdjust='spacingAndGlyphs'>Canada</text>
+<text x='67.81' y='117.05' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='51.13px' lengthAdjust='spacingAndGlyphs'>United Kingdom</text>
+<text x='67.81' y='99.14' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.78px' lengthAdjust='spacingAndGlyphs'>China</text>
+<text x='67.81' y='81.23' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='29.55px' lengthAdjust='spacingAndGlyphs'>Germany</text>
+<text x='67.81' y='63.32' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='43.14px' lengthAdjust='spacingAndGlyphs'>United States</text>
+<text x='72.74' y='439.75' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='226.56' y='439.75' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='380.37' y='439.75' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='249.63' y='457.05' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<rect x='179.92' y='25.57' width='12.76' height='12.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='248.32' y='25.57' width='12.76' height='12.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<text x='197.37' y='34.82' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='46.26px' lengthAdjust='spacingAndGlyphs'>Self-selected</text>
+<text x='265.77' y='34.82' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='58.26px' lengthAdjust='spacingAndGlyphs'>Random sample</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='142.24px' lengthAdjust='spacingAndGlyphs'>In which location do you live?</text>
+<text x='426.52' y='469.46' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  4,519</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/org_size.svg b/_content/blog/survey2022q2/org_size.svg
new file mode 100644
index 0000000..785f081
--- /dev/null
+++ b/_content/blog/survey2022q2/org_size.svg
@@ -0,0 +1,89 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='201.50pt' viewBox='0 0 432.00 201.50'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwyMDEuNTA='>
+    <rect x='0.00' y='0.00' width='432.00' height='201.50' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyMDEuNTA=)'>
+</g>
+<defs>
+  <clipPath id='cpMTI4LjYyfDQyNi41MnwyNC44NnwxNTQuNjM='>
+    <rect x='128.62' y='24.86' width='297.90' height='129.77' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTI4LjYyfDQyNi41MnwyNC44NnwxNTQuNjM=)'>
+<polyline points='193.38,154.63 193.38,24.86 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='322.90,154.63 322.90,24.86 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='128.62,154.63 128.62,24.86 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='258.14,154.63 258.14,24.86 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='387.66,154.63 387.66,24.86 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='128.62' y='28.46' width='20.88' height='14.42' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='128.62' y='46.49' width='89.82' height='14.42' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='128.62' y='64.51' width='63.11' height='14.42' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='128.62' y='82.54' width='42.02' height='14.42' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='128.62' y='100.56' width='28.10' height='14.42' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='128.62' y='136.61' width='4.69' height='14.42' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='128.62' y='118.58' width='10.42' height='14.42' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='151.45,37.48 151.45,33.87 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='151.45,35.67 147.55,35.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='147.55,37.48 147.55,33.87 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='221.85,55.50 221.85,51.90 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='221.85,53.70 215.03,53.70 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='215.03,55.50 215.03,51.90 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='194.80,73.52 194.80,69.92 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='194.80,71.72 188.65,71.72 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='188.65,73.52 188.65,69.92 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='173.28,91.55 173.28,87.94 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='173.28,89.75 168.00,89.75 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='168.00,91.55 168.00,87.94 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='158.95,109.57 158.95,105.97 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='158.95,107.77 154.49,107.77 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.49,109.57 154.49,105.97 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='134.26,145.62 134.26,142.02 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='134.26,143.82 132.35,143.82 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='132.35,145.62 132.35,142.02 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='140.44,127.60 140.44,123.99 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='140.44,125.79 137.63,125.79 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='137.63,127.60 137.63,123.99 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='153.83' y='38.36' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>8%</text>
+<text x='224.44' y='56.39' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>35%</text>
+<text x='197.73' y='74.41' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>24%</text>
+<text x='176.64' y='92.44' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>16%</text>
+<text x='162.72' y='110.46' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>11%</text>
+<text x='137.64' y='146.51' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+<text x='143.37' y='128.48' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyMDEuNTA=)'>
+<text x='123.69' y='146.40' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='37.31px' lengthAdjust='spacingAndGlyphs'>I'm not sure</text>
+<text x='123.69' y='124.49' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='107.01px' lengthAdjust='spacingAndGlyphs'>I am not currently employed (e.g.,</text>
+<text x='123.69' y='132.26' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='65.87px' lengthAdjust='spacingAndGlyphs'>student, retired, etc.)</text>
+<text x='123.69' y='110.35' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='85.47px' lengthAdjust='spacingAndGlyphs'>10,000 or more employees</text>
+<text x='123.69' y='92.33' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='79.08px' lengthAdjust='spacingAndGlyphs'>1,000 - 9,999 employees</text>
+<text x='123.69' y='74.30' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='67.10px' lengthAdjust='spacingAndGlyphs'>100 - 999 employees</text>
+<text x='123.69' y='56.28' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='55.12px' lengthAdjust='spacingAndGlyphs'>2 - 99 employees</text>
+<text x='123.69' y='34.37' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='102.64px' lengthAdjust='spacingAndGlyphs'>Just me (freelance, independent</text>
+<text x='123.69' y='42.14' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='49.90px' lengthAdjust='spacingAndGlyphs'>contractor, etc.)</text>
+<text x='128.62' y='164.73' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='258.14' y='164.73' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='387.66' y='164.73' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='277.57' y='182.02' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='246.14px' lengthAdjust='spacingAndGlyphs'>About how many people work at your organization?</text>
+<text x='426.52' y='194.43' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  5,024</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/os_deploy.svg b/_content/blog/survey2022q2/os_deploy.svg
new file mode 100644
index 0000000..0a4fc74
--- /dev/null
+++ b/_content/blog/survey2022q2/os_deploy.svg
@@ -0,0 +1,82 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='192.55pt' viewBox='0 0 432.00 192.55'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwxOTIuNTU='>
+    <rect x='0.00' y='0.00' width='432.00' height='192.55' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxOTIuNTU=)'>
+</g>
+<defs>
+  <clipPath id='cpOTkuMDl8NDI2LjUyfDQyLjMzfDE0NS42OA=='>
+    <rect x='99.09' y='42.33' width='327.43' height='103.35' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpOTkuMDl8NDI2LjUyfDQyLjMzfDE0NS42OA==)'>
+<polyline points='170.27,145.68 170.27,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='312.63,145.68 312.63,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='99.09,145.68 99.09,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='241.45,145.68 241.45,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='383.81,145.68 383.81,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='99.09' y='95.67' width='14.39' height='13.34' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='99.09' y='45.67' width='265.76' height='13.34' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='99.09' y='79.00' width='36.31' height='13.34' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='99.09' y='129.01' width='8.68' height='13.34' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='99.09' y='112.34' width='9.23' height='13.34' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='99.09' y='62.34' width='45.29' height='13.34' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='115.11,104.01 115.11,100.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='115.11,102.34 111.86,102.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='111.86,104.01 111.86,100.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='366.70,54.00 366.70,50.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='366.70,52.33 363.01,52.33 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='363.01,54.00 363.01,50.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='137.87,87.34 137.87,84.01 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='137.87,85.67 132.93,85.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='132.93,87.34 132.93,84.01 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='109.04,137.35 109.04,134.01 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='109.04,135.68 106.49,135.68 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='106.49,137.35 106.49,134.01 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='109.63,120.68 109.63,117.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='109.63,119.01 107.01,119.01 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='107.01,120.68 107.01,117.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='147.09,70.67 147.09,67.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='147.09,69.00 141.67,69.00 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='141.67,70.67 141.67,67.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='117.82' y='105.03' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>5%</text>
+<text x='370.86' y='55.02' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>93%</text>
+<text x='141.40' y='88.36' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>13%</text>
+<text x='112.10' y='138.37' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='112.65' y='121.70' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='150.38' y='71.69' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>16%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxOTIuNTU=)'>
+<text x='94.16' y='138.26' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.96px' lengthAdjust='spacingAndGlyphs'>Other</text>
+<text x='94.16' y='121.59' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='45.93px' lengthAdjust='spacingAndGlyphs'>WebAssembly</text>
+<text x='94.16' y='104.92' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='77.49px' lengthAdjust='spacingAndGlyphs'>Embedded devices / IoT</text>
+<text x='94.16' y='88.25' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='23.96px' lengthAdjust='spacingAndGlyphs'>macOS</text>
+<text x='94.16' y='71.58' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='29.15px' lengthAdjust='spacingAndGlyphs'>Windows</text>
+<text x='94.16' y='54.91' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.18px' lengthAdjust='spacingAndGlyphs'>Linux</text>
+<text x='99.09' y='155.78' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='241.45' y='155.78' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='383.81' y='155.78' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='262.81' y='173.07' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='30.60' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='73.40px' lengthAdjust='spacingAndGlyphs'>(select all that apply)</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='158.95px' lengthAdjust='spacingAndGlyphs'>I primarily deploy Go software to:</text>
+<text x='426.52' y='185.48' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  5,677</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/os_dev.svg b/_content/blog/survey2022q2/os_dev.svg
new file mode 100644
index 0000000..40f6abc
--- /dev/null
+++ b/_content/blog/survey2022q2/os_dev.svg
@@ -0,0 +1,76 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='183.84pt' viewBox='0 0 432.00 183.84'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwxODMuODQ='>
+    <rect x='0.00' y='0.00' width='432.00' height='183.84' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxODMuODQ=)'>
+</g>
+<defs>
+  <clipPath id='cpMTE3Ljg1fDQyNi41Mnw0Mi4zM3wxMzYuOTc='>
+    <rect x='117.85' y='42.33' width='308.67' height='94.64' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTE3Ljg1fDQyNi41Mnw0Mi4zM3wxMzYuOTc=)'>
+<polyline points='184.95,136.97 184.95,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='319.16,136.97 319.16,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='117.85,136.97 117.85,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='252.05,136.97 252.05,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='386.26,136.97 386.26,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='117.85' y='45.97' width='158.12' height='14.56' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='117.85' y='64.17' width='140.46' height='14.56' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='117.85' y='118.77' width='2.29' height='14.56' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='117.85' y='82.37' width='61.35' height='14.56' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='117.85' y='100.57' width='33.58' height='14.56' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='279.38,55.07 279.38,51.43 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='279.38,53.25 272.54,53.25 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='272.54,55.07 272.54,51.43 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='261.78,73.27 261.78,69.63 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='261.78,71.45 254.83,71.45 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='254.83,73.27 254.83,69.63 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='120.78,127.87 120.78,124.23 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='120.78,126.05 119.50,126.05 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='119.50,127.87 119.50,124.23 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='182.12,91.47 182.12,87.83 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='182.12,89.65 176.28,89.65 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='176.28,91.47 176.28,87.83 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='153.73,109.67 153.73,106.03 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='153.73,107.85 149.13,107.85 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='149.13,109.67 149.13,106.03 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='281.96' y='55.94' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>59%</text>
+<text x='264.31' y='74.14' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>52%</text>
+<text x='124.48' y='128.74' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>1%</text>
+<text x='185.20' y='92.34' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>23%</text>
+<text x='157.43' y='110.54' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>13%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxODMuODQ=)'>
+<text x='112.91' y='128.63' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.96px' lengthAdjust='spacingAndGlyphs'>Other</text>
+<text x='112.91' y='110.43' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='96.24px' lengthAdjust='spacingAndGlyphs'>Windows Subsystem for Linux</text>
+<text x='112.91' y='92.23' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='29.15px' lengthAdjust='spacingAndGlyphs'>Windows</text>
+<text x='112.91' y='74.03' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='23.96px' lengthAdjust='spacingAndGlyphs'>macOS</text>
+<text x='112.91' y='55.83' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.18px' lengthAdjust='spacingAndGlyphs'>Linux</text>
+<text x='117.85' y='147.06' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='252.05' y='147.06' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='386.26' y='147.06' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='272.18' y='164.36' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='30.60' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='73.40px' lengthAdjust='spacingAndGlyphs'>(select all that apply)</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='198.94px' lengthAdjust='spacingAndGlyphs'>When developing with Go, I primarily use:</text>
+<text x='426.52' y='176.77' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  5,731</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/security_challenges.svg b/_content/blog/survey2022q2/security_challenges.svg
new file mode 100644
index 0000000..28b1d89
--- /dev/null
+++ b/_content/blog/survey2022q2/security_challenges.svg
@@ -0,0 +1,98 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='272.03pt' viewBox='0 0 432.00 272.03'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwyNzIuMDM='>
+    <rect x='0.00' y='0.00' width='432.00' height='272.03' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyNzIuMDM=)'>
+</g>
+<defs>
+  <clipPath id='cpMTUyLjIxfDQyNi41Mnw1My4xM3wyMjUuMTY='>
+    <rect x='152.21' y='53.13' width='274.31' height='172.03' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTUyLjIxfDQyNi41Mnw1My4xM3wyMjUuMTY=)'>
+<polyline points='211.84,225.16 211.84,53.13 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='331.11,225.16 331.11,53.13 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='152.21,225.16 152.21,53.13 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='271.48,225.16 271.48,53.13 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='390.74,225.16 390.74,53.13 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='152.21' y='105.70' width='101.11' height='19.11' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='152.21' y='129.59' width='76.58' height='19.11' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='152.21' y='177.37' width='40.65' height='19.11' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='152.21' y='57.91' width='135.46' height='19.11' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='152.21' y='201.27' width='4.63' height='19.11' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='152.21' y='153.48' width='68.14' height='19.11' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='152.21' y='81.80' width='106.79' height='19.11' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='256.59,117.64 256.59,112.86 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='256.59,115.25 250.05,115.25 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='250.05,117.64 250.05,112.86 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='231.88,141.53 231.88,136.76 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='231.88,139.15 225.71,139.15 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='225.71,141.53 225.71,136.76 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='195.35,189.32 195.35,184.54 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='195.35,186.93 190.38,186.93 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='190.38,189.32 190.38,184.54 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='290.95,69.86 290.95,65.08 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='290.95,67.47 284.40,67.47 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='284.40,69.86 284.40,65.08 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='157.75,213.21 157.75,208.43 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='157.75,210.82 155.93,210.82 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='155.93,213.21 155.93,208.43 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='223.34,165.43 223.34,160.65 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='223.34,163.04 217.36,163.04 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='217.36,165.43 217.36,160.65 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='262.29,93.75 262.29,88.97 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='262.29,91.36 255.71,91.36 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='255.71,93.75 255.71,88.97 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='259.32' y='117.94' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>42%</text>
+<text x='234.80' y='141.83' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>32%</text>
+<text x='198.87' y='189.62' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>17%</text>
+<text x='293.68' y='70.16' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>57%</text>
+<text x='161.17' y='213.51' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+<text x='226.35' y='165.73' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>29%</text>
+<text x='265.00' y='94.05' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>45%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyNzIuMDM=)'>
+<text x='147.28' y='213.40' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.96px' lengthAdjust='spacingAndGlyphs'>Other</text>
+<text x='147.28' y='185.62' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='111.82px' lengthAdjust='spacingAndGlyphs'>Understanding how to fix a security</text>
+<text x='147.28' y='193.40' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='37.94px' lengthAdjust='spacingAndGlyphs'>vulnerability</text>
+<text x='147.28' y='161.73' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='110.41px' lengthAdjust='spacingAndGlyphs'>Reviewing my colleagues' code for</text>
+<text x='147.28' y='169.51' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='76.28px' lengthAdjust='spacingAndGlyphs'>potential security issues</text>
+<text x='147.28' y='137.84' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='130.61px' lengthAdjust='spacingAndGlyphs'>Choosing an appropriately secure design</text>
+<text x='147.28' y='145.61' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='70.27px' lengthAdjust='spacingAndGlyphs'>pattern or architecture</text>
+<text x='147.28' y='106.17' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='122.59px' lengthAdjust='spacingAndGlyphs'>Applying best practices to write secure</text>
+<text x='147.28' y='113.95' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='113.02px' lengthAdjust='spacingAndGlyphs'>code (e.g., techniques for sanitizing</text>
+<text x='147.28' y='121.72' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='111.81px' lengthAdjust='spacingAndGlyphs'>user input, creating secure network</text>
+<text x='147.28' y='129.50' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='56.30px' lengthAdjust='spacingAndGlyphs'>connections, etc.)</text>
+<text x='147.28' y='90.05' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='111.40px' lengthAdjust='spacingAndGlyphs'>Verifying that the software I write is</text>
+<text x='147.28' y='97.83' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='65.89px' lengthAdjust='spacingAndGlyphs'>free of vulnerabilities</text>
+<text x='147.28' y='62.27' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='103.02px' lengthAdjust='spacingAndGlyphs'>Evaluating third-party libraries to</text>
+<text x='147.28' y='70.05' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='109.81px' lengthAdjust='spacingAndGlyphs'>ensure they are secure and free of</text>
+<text x='147.28' y='77.82' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='43.54px' lengthAdjust='spacingAndGlyphs'>vulnerabilities</text>
+<text x='152.21' y='235.25' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='271.48' y='235.25' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='390.74' y='235.25' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='289.37' y='252.54' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='41.40' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='52.93px' lengthAdjust='spacingAndGlyphs'>(select up to 3)</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='419.08px' lengthAdjust='spacingAndGlyphs'>In your own experience, what are the most challenging aspects of ensuring the software</text>
+<text x='5.48' y='28.46' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='96.18px' lengthAdjust='spacingAndGlyphs'>you write is secure?</text>
+<text x='426.52' y='264.96' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  4,999</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/security_found_vuln.svg b/_content/blog/survey2022q2/security_found_vuln.svg
new file mode 100644
index 0000000..fa4013c
--- /dev/null
+++ b/_content/blog/survey2022q2/security_found_vuln.svg
@@ -0,0 +1,74 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='175.87pt' viewBox='0 0 432.00 175.87'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwxNzUuODc='>
+    <rect x='0.00' y='0.00' width='432.00' height='175.87' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxNzUuODc=)'>
+</g>
+<defs>
+  <clipPath id='cpMTQzLjAwfDQyNi41Mnw1My4xM3wxMjkuMDA='>
+    <rect x='143.00' y='53.13' width='283.52' height='75.87' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTQzLjAwfDQyNi41Mnw1My4xM3wxMjkuMDA=)'>
+<polyline points='204.64,129.00 204.64,53.13 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='327.91,129.00 327.91,53.13 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='143.00,129.00 143.00,53.13 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='266.27,129.00 266.27,53.13 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='389.54,129.00 389.54,53.13 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='143.00' y='56.74' width='153.63' height='14.45' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='143.00' y='74.81' width='62.37' height='14.45' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='143.00' y='92.87' width='32.65' height='14.45' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='143.00' y='110.94' width='30.68' height='14.45' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='299.91,65.78 299.91,62.16 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='299.91,63.97 293.37,63.97 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='293.37,65.78 293.37,62.16 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='208.30,83.84 208.30,80.23 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='208.30,82.04 202.44,82.04 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='202.44,83.84 202.44,80.23 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='177.94,101.91 177.94,98.29 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='177.94,100.10 173.37,100.10 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='173.37,101.91 173.37,98.29 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='175.91,119.97 175.91,116.36 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='175.91,118.17 171.45,118.17 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='171.45,119.97 171.45,116.36 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='302.64' y='66.66' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>62%</text>
+<text x='211.37' y='84.72' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>25%</text>
+<text x='181.66' y='102.79' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>13%</text>
+<text x='179.68' y='120.85' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>12%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxNzUuODc=)'>
+<text x='138.07' y='116.86' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='118.61px' lengthAdjust='spacingAndGlyphs'>Yes, in code that I or my organization</text>
+<text x='138.07' y='124.63' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='16.78px' lengthAdjust='spacingAndGlyphs'>owns</text>
+<text x='138.07' y='98.79' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='106.22px' lengthAdjust='spacingAndGlyphs'>Yes, in Go itself or a golang.org/x</text>
+<text x='138.07' y='106.57' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='27.17px' lengthAdjust='spacingAndGlyphs'>package</text>
+<text x='138.07' y='80.73' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='121.40px' lengthAdjust='spacingAndGlyphs'>Yes, in a third-party dependency that I</text>
+<text x='138.07' y='88.50' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='76.28px' lengthAdjust='spacingAndGlyphs'>or my organization uses</text>
+<text x='138.07' y='66.55' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='9.19px' lengthAdjust='spacingAndGlyphs'>No</text>
+<text x='143.00' y='139.10' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='266.27' y='139.10' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='389.54' y='139.10' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='284.76' y='156.39' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='41.40' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='73.40px' lengthAdjust='spacingAndGlyphs'>(select all that apply)</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='398.01px' lengthAdjust='spacingAndGlyphs'>In the past year, have you learned of a security vulnerability in Go software that you</text>
+<text x='5.48' y='28.46' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='182.25px' lengthAdjust='spacingAndGlyphs'>work on (including its dependencies)?</text>
+<text x='426.52' y='168.80' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  5,127</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/security_sa_when.svg b/_content/blog/survey2022q2/security_sa_when.svg
new file mode 100644
index 0000000..0798506
--- /dev/null
+++ b/_content/blog/survey2022q2/security_sa_when.svg
@@ -0,0 +1,80 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='202.22pt' viewBox='0 0 432.00 202.22'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwyMDIuMjI='>
+    <rect x='0.00' y='0.00' width='432.00' height='202.22' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyMDIuMjI=)'>
+</g>
+<defs>
+  <clipPath id='cpMTU1LjgxfDQyNi41Mnw1My4xM3wxNTUuMzU='>
+    <rect x='155.81' y='53.13' width='270.71' height='102.22' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTU1LjgxfDQyNi41Mnw1My4xM3wxNTUuMzU=)'>
+<polyline points='214.66,155.35 214.66,53.13 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='332.36,155.35 332.36,53.13 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='155.81,155.35 155.81,53.13 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='273.51,155.35 273.51,53.13 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='391.21,155.35 391.21,53.13 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='155.81' y='57.06' width='197.04' height='15.73' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='155.81' y='76.72' width='51.68' height='15.73' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='155.81' y='96.38' width='28.26' height='15.73' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='155.81' y='135.70' width='6.06' height='15.73' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='155.81' y='116.04' width='17.09' height='15.73' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='356.93,66.89 356.93,62.96 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='356.93,64.93 348.78,64.93 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='348.78,66.89 348.78,62.96 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='212.06,86.55 212.06,82.62 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='212.06,84.59 202.93,84.59 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='202.93,86.55 202.93,82.62 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='187.66,106.21 187.66,102.28 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='187.66,104.24 180.49,104.24 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='180.49,106.21 180.49,102.28 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='163.61,145.53 163.61,141.59 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='163.61,143.56 160.12,143.56 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='160.12,145.53 160.12,141.59 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='175.77,125.87 175.77,121.94 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='175.77,123.90 170.04,123.90 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='170.04,125.87 170.04,121.94 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='358.85' y='67.62' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>84%</text>
+<text x='213.50' y='87.27' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>22%</text>
+<text x='190.08' y='106.93' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>12%</text>
+<text x='166.20' y='146.25' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='177.24' y='126.59' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>7%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyMDIuMjI=)'>
+<text x='150.88' y='146.14' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.96px' lengthAdjust='spacingAndGlyphs'>Other</text>
+<text x='150.88' y='126.48' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='37.31px' lengthAdjust='spacingAndGlyphs'>I'm not sure</text>
+<text x='150.88' y='102.94' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='99.84px' lengthAdjust='spacingAndGlyphs'>These are run manually prior to</text>
+<text x='150.88' y='110.71' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='78.28px' lengthAdjust='spacingAndGlyphs'>releases or deployments</text>
+<text x='150.88' y='83.28' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='134.21px' lengthAdjust='spacingAndGlyphs'>Developers run these when developing on</text>
+<text x='150.88' y='91.05' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='63.50px' lengthAdjust='spacingAndGlyphs'>their local machines</text>
+<text x='150.88' y='63.62' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='110.62px' lengthAdjust='spacingAndGlyphs'>These are run automatically by our</text>
+<text x='150.88' y='71.40' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='47.91px' lengthAdjust='spacingAndGlyphs'>CI/CD systems</text>
+<text x='155.81' y='165.45' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='273.51' y='165.45' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='391.21' y='165.45' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='291.17' y='182.74' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='41.40' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='73.40px' lengthAdjust='spacingAndGlyphs'>(select all that apply)</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='397.38px' lengthAdjust='spacingAndGlyphs'>At work, when do you typically run vulnerability scanners, or other tools to improve</text>
+<text x='5.48' y='28.46' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='70.60px' lengthAdjust='spacingAndGlyphs'>code security?</text>
+<text x='426.52' y='195.15' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  1,749</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/text_biggest_challenge.svg b/_content/blog/survey2022q2/text_biggest_challenge.svg
new file mode 100644
index 0000000..7ca4ccc
--- /dev/null
+++ b/_content/blog/survey2022q2/text_biggest_challenge.svg
@@ -0,0 +1,171 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='437.28pt' viewBox='0 0 432.00 437.28'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHw0MzcuMjg='>
+    <rect x='0.00' y='0.00' width='432.00' height='437.28' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHw0MzcuMjg=)'>
+</g>
+<defs>
+  <clipPath id='cpMTQwLjYwfDQyNi41Mnw0Mi4zM3wzOTAuNDE='>
+    <rect x='140.60' y='42.33' width='285.92' height='348.08' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTQwLjYwfDQyNi41Mnw0Mi4zM3wzOTAuNDE=)'>
+<polyline points='202.75,390.41 202.75,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='327.07,390.41 327.07,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='140.60,390.41 140.60,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='264.91,390.41 264.91,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='389.23,390.41 389.23,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='140.60' y='80.24' width='21.31' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.60' y='131.94' width='16.08' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.60' y='63.01' width='21.68' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.60' y='166.40' width='11.59' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.60' y='183.63' width='11.22' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.60' y='45.78' width='27.29' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.60' y='304.25' width='8.23' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.60' y='218.09' width='10.84' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.60' y='287.02' width='8.60' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.60' y='235.33' width='10.09' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.60' y='269.79' width='8.60' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.60' y='97.47' width='19.82' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.60' y='149.17' width='11.59' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.60' y='252.56' width='8.97' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.60' y='200.86' width='11.22' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.60' y='114.70' width='16.45' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.60' y='338.71' width='5.61' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.60' y='321.48' width='7.10' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.60' y='355.95' width='4.11' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='140.60' y='373.18' width='43.00' height='13.79' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='167.20,88.86 167.20,85.41 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='167.20,87.13 156.62,87.13 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='156.62,88.86 156.62,85.41 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='161.32,140.55 161.32,137.11 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='161.32,138.83 152.03,138.83 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='152.03,140.55 152.03,137.11 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='167.61,71.63 167.61,68.18 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='167.61,69.90 156.95,69.90 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='156.95,71.63 156.95,68.18 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='156.17,175.01 156.17,171.57 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='156.17,173.29 148.20,173.29 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='148.20,175.01 148.20,171.57 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='155.74,192.25 155.74,188.80 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='155.74,190.52 147.89,190.52 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='147.89,192.25 147.89,188.80 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='173.80,54.39 173.80,50.95 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='173.80,52.67 161.98,52.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='161.98,54.39 161.98,50.95 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='152.20,312.87 152.20,309.42 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='152.20,311.14 145.44,311.14 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='145.44,312.87 145.44,309.42 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='155.30,226.71 155.30,223.26 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='155.30,224.99 147.58,224.99 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='147.58,226.71 147.58,223.26 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='152.65,295.64 152.65,292.19 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='152.65,293.91 145.74,293.91 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='145.74,295.64 145.74,292.19 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.42,243.94 154.42,240.49 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.42,242.22 146.96,242.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='146.96,243.94 146.96,240.49 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='152.65,278.40 152.65,274.96 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='152.65,276.68 145.74,276.68 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='145.74,278.40 145.74,274.96 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='165.53,106.09 165.53,102.64 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='165.53,104.37 155.30,104.37 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='155.30,106.09 155.30,102.64 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='156.17,157.78 156.17,154.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='156.17,156.06 148.20,156.06 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='148.20,157.78 148.20,154.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='153.10,261.17 153.10,257.73 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='153.10,259.45 146.05,259.45 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='146.05,261.17 146.05,257.73 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='155.74,209.48 155.74,206.03 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='155.74,207.75 147.89,207.75 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='147.89,209.48 147.89,206.03 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='161.75,123.32 161.75,119.87 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='161.75,121.60 152.35,121.60 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='152.35,123.32 152.35,119.87 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='149.01,347.33 149.01,343.88 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='149.01,345.61 143.40,345.61 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='143.40,347.33 143.40,343.88 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='150.85,330.10 150.85,326.65 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='150.85,328.38 144.55,328.38 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='144.55,330.10 144.55,326.65 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='147.12,364.56 147.12,361.12 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='147.12,362.84 142.30,362.84 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='142.30,364.56 142.30,361.12 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='190.74,381.79 190.74,378.35 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='190.74,380.07 176.45,380.07 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='176.45,381.79 176.45,378.35 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='170.58' y='89.82' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>9%</text>
+<text x='165.34' y='141.52' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>6%</text>
+<text x='170.95' y='72.59' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>9%</text>
+<text x='160.86' y='175.98' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>5%</text>
+<text x='160.48' y='193.21' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>5%</text>
+<text x='179.89' y='55.36' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>11%</text>
+<text x='157.49' y='313.83' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='160.11' y='227.68' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='157.87' y='296.60' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='159.36' y='244.91' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='157.87' y='279.37' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='169.08' y='107.05' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>8%</text>
+<text x='160.86' y='158.75' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>5%</text>
+<text x='158.24' y='262.14' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='160.48' y='210.44' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>5%</text>
+<text x='165.72' y='124.29' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>7%</text>
+<text x='154.87' y='348.30' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+<text x='156.37' y='331.06' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='153.38' y='365.53' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+<text x='195.60' y='382.76' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>17%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHw0MzcuMjg=)'>
+<text x='135.67' y='382.65' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.96px' lengthAdjust='spacingAndGlyphs'>Other</text>
+<text x='135.67' y='365.42' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='118.99px' lengthAdjust='spacingAndGlyphs'>Working with interfaces / abstractions</text>
+<text x='135.67' y='348.19' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='41.13px' lengthAdjust='spacingAndGlyphs'>Performance</text>
+<text x='135.67' y='330.96' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='52.32px' lengthAdjust='spacingAndGlyphs'>Testing / fuzzing</text>
+<text x='135.67' y='313.72' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='93.06px' lengthAdjust='spacingAndGlyphs'>Business adoption or support</text>
+<text x='135.67' y='296.49' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='45.52px' lengthAdjust='spacingAndGlyphs'>Creating GUIs</text>
+<text x='135.67' y='279.26' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='87.06px' lengthAdjust='spacingAndGlyphs'>Interoperability / cgo issues</text>
+<text x='135.67' y='262.03' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='70.28px' lengthAdjust='spacingAndGlyphs'>Working with generics</text>
+<text x='135.67' y='244.80' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='40.73px' lengthAdjust='spacingAndGlyphs'>Concurrency</text>
+<text x='135.67' y='227.57' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='87.87px' lengthAdjust='spacingAndGlyphs'>Verbosity / code duplication</text>
+<text x='135.67' y='206.45' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='102.25px' lengthAdjust='spacingAndGlyphs'>Choosing an appropriate project</text>
+<text x='135.67' y='214.22' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='27.94px' lengthAdjust='spacingAndGlyphs'>structure</text>
+<text x='135.67' y='193.10' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='23.57px' lengthAdjust='spacingAndGlyphs'>Tooling</text>
+<text x='135.67' y='171.98' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='106.22px' lengthAdjust='spacingAndGlyphs'>Encouraging coworkers to use it /</text>
+<text x='135.67' y='179.76' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='67.10px' lengthAdjust='spacingAndGlyphs'>developer mindshare</text>
+<text x='135.67' y='158.64' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='91.85px' lengthAdjust='spacingAndGlyphs'>Runtime safety / immutability</text>
+<text x='135.67' y='141.41' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='70.29px' lengthAdjust='spacingAndGlyphs'>Working with modules</text>
+<text x='135.67' y='120.29' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='96.23px' lengthAdjust='spacingAndGlyphs'>Differences from more familiar</text>
+<text x='135.67' y='128.07' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='77.08px' lengthAdjust='spacingAndGlyphs'>languages / ecosystems</text>
+<text x='135.67' y='106.95' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='52.71px' lengthAdjust='spacingAndGlyphs'>The type system</text>
+<text x='135.67' y='89.72' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='118.99px' lengthAdjust='spacingAndGlyphs'>Learning curve / best practices / docs</text>
+<text x='135.67' y='68.60' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='95.83px' lengthAdjust='spacingAndGlyphs'>Missing or immature libraries /</text>
+<text x='135.67' y='76.37' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='37.13px' lengthAdjust='spacingAndGlyphs'>frameworks</text>
+<text x='135.67' y='51.36' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='109.41px' lengthAdjust='spacingAndGlyphs'>Error handling / working with stack</text>
+<text x='135.67' y='59.14' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='19.56px' lengthAdjust='spacingAndGlyphs'>traces</text>
+<text x='140.60' y='400.50' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='264.91' y='400.50' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='389.23' y='400.50' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='283.56' y='417.79' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='30.60' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='98.31px' lengthAdjust='spacingAndGlyphs'>(open-ended text response)</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='318.45px' lengthAdjust='spacingAndGlyphs'>What is the biggest challenge you personally face using Go today?</text>
+<text x='426.52' y='430.21' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='26.16px' lengthAdjust='spacingAndGlyphs'>n =  665</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/text_fuzz_challenge.svg b/_content/blog/survey2022q2/text_fuzz_challenge.svg
new file mode 100644
index 0000000..5d377ff
--- /dev/null
+++ b/_content/blog/survey2022q2/text_fuzz_challenge.svg
@@ -0,0 +1,110 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='274.02pt' viewBox='0 0 432.00 274.02'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwyNzQuMDI='>
+    <rect x='0.00' y='0.00' width='432.00' height='274.02' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyNzQuMDI=)'>
+</g>
+<defs>
+  <clipPath id='cpMTM5LjAyfDQyNi41Mnw0Mi4zM3wyMjcuMTU='>
+    <rect x='139.02' y='42.33' width='287.50' height='184.81' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTM5LjAyfDQyNi41Mnw0Mi4zM3wyMjcuMTU=)'>
+<polyline points='201.52,227.15 201.52,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='326.52,227.15 326.52,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='139.02,227.15 139.02,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='264.02,227.15 264.02,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='389.02,227.15 389.02,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='139.02' y='45.96' width='57.43' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='139.02' y='82.19' width='35.47' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='139.02' y='64.07' width='55.74' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='139.02' y='190.91' width='8.45' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='139.02' y='172.79' width='10.14' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='139.02' y='100.31' width='21.96' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='139.02' y='136.55' width='13.51' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='139.02' y='118.43' width='18.58' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='139.02' y='154.67' width='10.14' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='139.02' y='209.03' width='47.30' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='213.40,55.02 213.40,51.39 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='213.40,53.20 179.51,53.20 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='179.51,55.02 179.51,51.39 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='188.55,91.25 188.55,87.63 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='188.55,89.44 160.44,89.44 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='160.44,91.25 160.44,87.63 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='211.53,73.13 211.53,69.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='211.53,71.32 178.00,71.32 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='178.00,73.13 178.00,69.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.74,199.97 154.74,196.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.74,198.16 140.19,198.16 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='140.19,199.97 140.19,196.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='157.10,181.85 157.10,178.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='157.10,180.04 141.21,180.04 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='141.21,181.85 141.21,178.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='172.38,109.37 172.38,105.75 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='172.38,107.56 149.58,107.56 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='149.58,109.37 149.58,105.75 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='161.64,145.61 161.64,141.99 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='161.64,143.80 143.43,143.80 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='143.43,145.61 143.43,141.99 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='168.17,127.49 168.17,123.87 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='168.17,125.68 147.04,125.68 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='147.04,127.49 147.04,123.87 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='157.10,163.73 157.10,160.11 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='157.10,161.92 141.21,161.92 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='141.21,163.73 141.21,160.11 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='202.09,218.09 202.09,214.46 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='202.09,216.27 170.54,216.27 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='170.54,218.09 170.54,214.46 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='215.21' y='55.89' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>23%</text>
+<text x='193.25' y='92.13' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>14%</text>
+<text x='213.52' y='74.01' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>22%</text>
+<text x='161.01' y='200.84' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='162.70' y='182.73' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='174.53' y='110.25' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>9%</text>
+<text x='166.08' y='146.49' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>5%</text>
+<text x='171.15' y='128.37' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>7%</text>
+<text x='162.70' y='164.61' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='205.07' y='218.96' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>19%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyNzQuMDI=)'>
+<text x='134.09' y='218.86' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.96px' lengthAdjust='spacingAndGlyphs'>Other</text>
+<text x='134.09' y='196.85' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='109.83px' lengthAdjust='spacingAndGlyphs'>Tooling support / scaffolding to get</text>
+<text x='134.09' y='204.62' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='21.96px' lengthAdjust='spacingAndGlyphs'>started</text>
+<text x='134.09' y='182.62' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='105.83px' lengthAdjust='spacingAndGlyphs'>Lack of CI/CD support / guidance</text>
+<text x='134.09' y='160.61' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='106.62px' lengthAdjust='spacingAndGlyphs'>Want to find multiple failures / run</text>
+<text x='134.09' y='168.39' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='48.72px' lengthAdjust='spacingAndGlyphs'>multiple targets</text>
+<text x='134.09' y='146.38' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='81.09px' lengthAdjust='spacingAndGlyphs'>Challenging to implement</text>
+<text x='134.09' y='128.26' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='60.30px' lengthAdjust='spacingAndGlyphs'>Not yet on Go 1.18</text>
+<text x='134.09' y='106.25' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='111.84px' lengthAdjust='spacingAndGlyphs'>Challenging to use with non-built-in</text>
+<text x='134.09' y='114.03' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.17px' lengthAdjust='spacingAndGlyphs'>types</text>
+<text x='134.09' y='92.02' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='117.42px' lengthAdjust='spacingAndGlyphs'>Understanding use cases or purpose</text>
+<text x='134.09' y='73.90' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='79.06px' lengthAdjust='spacingAndGlyphs'>Lack of time / low priority</text>
+<text x='134.09' y='51.90' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='109.20px' lengthAdjust='spacingAndGlyphs'>Don't know how to fuzz test / need</text>
+<text x='134.09' y='59.67' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='35.54px' lengthAdjust='spacingAndGlyphs'>better docs</text>
+<text x='139.02' y='237.24' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='264.02' y='237.24' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='389.02' y='237.24' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='282.77' y='254.53' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='30.60' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='98.31px' lengthAdjust='spacingAndGlyphs'>(open-ended text response)</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='399.10px' lengthAdjust='spacingAndGlyphs'>What, if anything, has made it challenging for you to use Go's built-in fuzzing tools?</text>
+<text x='426.52' y='266.94' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='26.16px' lengthAdjust='spacingAndGlyphs'>n =  148</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/text_gen_challenge.svg b/_content/blog/survey2022q2/text_gen_challenge.svg
new file mode 100644
index 0000000..f899a61
--- /dev/null
+++ b/_content/blog/survey2022q2/text_gen_challenge.svg
@@ -0,0 +1,109 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='274.02pt' viewBox='0 0 432.00 274.02'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwyNzQuMDI='>
+    <rect x='0.00' y='0.00' width='432.00' height='274.02' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyNzQuMDI=)'>
+</g>
+<defs>
+  <clipPath id='cpMTQxLjgxfDQyNi41Mnw0Mi4zM3wyMjcuMTU='>
+    <rect x='141.81' y='42.33' width='284.71' height='184.81' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTQxLjgxfDQyNi41Mnw0Mi4zM3wyMjcuMTU=)'>
+<polyline points='203.71,227.15 203.71,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='327.49,227.15 327.49,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='141.81,227.15 141.81,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='265.60,227.15 265.60,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='389.39,227.15 389.39,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='141.81' y='100.31' width='19.97' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='141.81' y='82.19' width='28.80' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='141.81' y='172.79' width='8.83' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='141.81' y='45.96' width='74.78' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='141.81' y='64.07' width='63.63' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='141.81' y='136.55' width='13.47' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='141.81' y='118.43' width='17.65' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='141.81' y='154.67' width='10.68' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='141.81' y='190.91' width='9.29' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='141.81' y='209.03' width='38.55' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='167.51,109.37 167.51,105.75 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='167.51,107.56 156.06,107.56 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='156.06,109.37 156.06,105.75 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='177.35,91.25 177.35,87.63 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='177.35,89.44 163.87,89.44 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='163.87,91.25 163.87,87.63 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.54,181.85 154.54,178.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.54,180.04 146.74,180.04 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='146.74,181.85 146.74,178.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='226.25,55.02 226.25,51.39 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='226.25,53.20 206.95,53.20 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='206.95,55.02 206.95,51.39 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='214.63,73.13 214.63,69.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='214.63,71.32 196.26,71.32 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='196.26,73.13 196.26,69.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='160.05,145.61 160.05,141.99 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='160.05,143.80 150.52,143.80 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='150.52,145.61 150.52,141.99 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='164.87,127.49 164.87,123.87 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='164.87,125.68 154.06,125.68 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.06,127.49 154.06,123.87 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='156.77,163.73 156.77,160.11 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='156.77,161.92 148.23,161.92 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='148.23,163.73 148.23,160.11 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='155.10,199.97 155.10,196.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='155.10,198.16 147.11,198.16 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='147.11,199.97 147.11,196.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='187.99,218.09 187.99,214.46 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='187.99,216.27 172.75,216.27 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='172.75,218.09 172.75,214.46 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='170.46' y='110.25' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>8%</text>
+<text x='182.62' y='92.13' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>12%</text>
+<text x='159.31' y='182.73' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='228.60' y='55.89' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>30%</text>
+<text x='217.45' y='74.01' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>26%</text>
+<text x='163.95' y='146.49' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>5%</text>
+<text x='168.13' y='128.37' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>7%</text>
+<text x='161.17' y='164.61' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='159.77' y='200.84' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='192.37' y='218.96' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>16%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyNzQuMDI=)'>
+<text x='136.88' y='218.86' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.96px' lengthAdjust='spacingAndGlyphs'>Other</text>
+<text x='136.88' y='200.74' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='24.77px' lengthAdjust='spacingAndGlyphs'>Nothing</text>
+<text x='136.88' y='182.62' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='82.68px' lengthAdjust='spacingAndGlyphs'>Waiting on wider adoption</text>
+<text x='136.88' y='164.50' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='72.28px' lengthAdjust='spacingAndGlyphs'>Performance concerns</text>
+<text x='136.88' y='146.38' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='59.90px' lengthAdjust='spacingAndGlyphs'>Too few use cases</text>
+<text x='136.88' y='128.26' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='78.67px' lengthAdjust='spacingAndGlyphs'>Lack of generics in stdlib</text>
+<text x='136.88' y='110.14' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='91.05px' lengthAdjust='spacingAndGlyphs'>Syntax feels awkward to use</text>
+<text x='136.88' y='88.13' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='120.21px' lengthAdjust='spacingAndGlyphs'>Learning curve / docs / understanding</text>
+<text x='136.88' y='95.91' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='44.32px' lengthAdjust='spacingAndGlyphs'>best practices</text>
+<text x='136.88' y='70.02' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='118.81px' lengthAdjust='spacingAndGlyphs'>Depending on something that doesn't</text>
+<text x='136.88' y='77.79' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='53.11px' lengthAdjust='spacingAndGlyphs'>support generics</text>
+<text x='136.88' y='51.90' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='118.61px' lengthAdjust='spacingAndGlyphs'>Want implementation improvements /</text>
+<text x='136.88' y='59.67' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='65.91px' lengthAdjust='spacingAndGlyphs'>expanded use cases</text>
+<text x='141.81' y='237.24' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='265.60' y='237.24' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='389.39' y='237.24' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='284.17' y='254.53' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='30.60' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='98.31px' lengthAdjust='spacingAndGlyphs'>(open-ended text response)</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='291.74px' lengthAdjust='spacingAndGlyphs'>What, if anything, has made it challenging to adopt generics?</text>
+<text x='426.52' y='266.94' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='26.16px' lengthAdjust='spacingAndGlyphs'>n =  533</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/text_gen_feedback.svg b/_content/blog/survey2022q2/text_gen_feedback.svg
new file mode 100644
index 0000000..bddcba9
--- /dev/null
+++ b/_content/blog/survey2022q2/text_gen_feedback.svg
@@ -0,0 +1,102 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='263.35pt' viewBox='0 0 432.00 263.35'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwyNjMuMzU='>
+    <rect x='0.00' y='0.00' width='432.00' height='263.35' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyNjMuMzU=)'>
+</g>
+<defs>
+  <clipPath id='cpMTM2LjIzfDQyNi41Mnw0Mi4zM3wyMTYuNDg='>
+    <rect x='136.23' y='42.33' width='290.29' height='174.15' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTM2LjIzfDQyNi41Mnw0Mi4zM3wyMTYuNDg=)'>
+<polyline points='199.33,216.48 199.33,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='325.55,216.48 325.55,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='136.23,216.48 136.23,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='262.44,216.48 262.44,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='388.66,216.48 388.66,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='136.23' y='46.12' width='108.18' height='15.14' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='136.23' y='121.83' width='14.30' height='15.14' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='136.23' y='178.62' width='8.70' height='15.14' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='136.23' y='83.98' width='26.11' height='15.14' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='136.23' y='102.91' width='24.25' height='15.14' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='136.23' y='65.05' width='77.72' height='15.14' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='136.23' y='140.76' width='12.43' height='15.14' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='136.23' y='159.69' width='9.95' height='15.14' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='136.23' y='197.55' width='44.14' height='15.14' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='256.56,55.58 256.56,51.80 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='256.56,53.69 232.26,53.69 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='232.26,55.58 232.26,51.80 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='156.20,131.30 156.20,127.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='156.20,129.41 144.85,129.41 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='144.85,131.30 144.85,127.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='149.41,188.09 149.41,184.30 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='149.41,186.19 140.45,186.19 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='140.45,188.09 140.45,184.30 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='169.82,93.44 169.82,89.65 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='169.82,91.55 154.86,91.55 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.86,93.44 154.86,89.65 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='167.71,112.37 167.71,108.58 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='167.71,110.48 153.24,110.48 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='153.24,112.37 153.24,108.58 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='225.28,74.51 225.28,70.73 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='225.28,72.62 202.61,72.62 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='202.61,74.51 202.61,70.73 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='153.98,150.23 153.98,146.44 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='153.98,148.34 143.35,148.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='143.35,150.23 143.35,146.44 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='150.95,169.16 150.95,165.37 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='150.95,167.26 141.40,167.26 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='141.40,169.16 141.40,165.37 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='189.70,207.02 189.70,203.23 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='189.70,205.12 171.04,205.12 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='171.04,207.02 171.04,203.23 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='256.42' y='56.38' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>43%</text>
+<text x='159.20' y='132.10' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>6%</text>
+<text x='153.60' y='188.88' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='174.34' y='94.24' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>10%</text>
+<text x='172.48' y='113.17' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>10%</text>
+<text x='225.95' y='75.31' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>31%</text>
+<text x='157.33' y='151.02' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>5%</text>
+<text x='154.84' y='169.95' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='192.38' y='207.81' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>17%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyNjMuMzU=)'>
+<text x='131.30' y='207.70' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.96px' lengthAdjust='spacingAndGlyphs'>Other</text>
+<text x='131.30' y='188.78' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='46.32px' lengthAdjust='spacingAndGlyphs'>Still early days</text>
+<text x='131.30' y='169.85' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='93.05px' lengthAdjust='spacingAndGlyphs'>Wants better docs / guidance</text>
+<text x='131.30' y='150.92' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='72.28px' lengthAdjust='spacingAndGlyphs'>Performance concerns</text>
+<text x='131.30' y='131.99' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='101.44px' lengthAdjust='spacingAndGlyphs'>Negative experience or reaction</text>
+<text x='131.30' y='113.06' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='110.22px' lengthAdjust='spacingAndGlyphs'>Would like to see generics in stdlib</text>
+<text x='131.30' y='90.24' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='114.62px' lengthAdjust='spacingAndGlyphs'>Generics reduced code duplication /</text>
+<text x='131.30' y='98.02' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='78.28px' lengthAdjust='spacingAndGlyphs'>improved code simplicity</text>
+<text x='131.30' y='71.31' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='75.07px' lengthAdjust='spacingAndGlyphs'>Hit limitations of current</text>
+<text x='131.30' y='79.09' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='48.74px' lengthAdjust='spacingAndGlyphs'>implementation</text>
+<text x='131.30' y='56.27' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='91.06px' lengthAdjust='spacingAndGlyphs'>Thanks / positive experience</text>
+<text x='136.23' y='226.57' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='262.44' y='226.57' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='388.66' y='226.57' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='281.37' y='243.87' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='30.60' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='98.31px' lengthAdjust='spacingAndGlyphs'>(open-ended text response)</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='400.80px' lengthAdjust='spacingAndGlyphs'>If you have any feedback for the Go team about using generics, please share it here:</text>
+<text x='426.52' y='256.28' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='26.16px' lengthAdjust='spacingAndGlyphs'>n =  406</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/text_vuln_challenge.svg b/_content/blog/survey2022q2/text_vuln_challenge.svg
new file mode 100644
index 0000000..0353245
--- /dev/null
+++ b/_content/blog/survey2022q2/text_vuln_challenge.svg
@@ -0,0 +1,110 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='274.02pt' viewBox='0 0 432.00 274.02'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwyNzQuMDI='>
+    <rect x='0.00' y='0.00' width='432.00' height='274.02' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyNzQuMDI=)'>
+</g>
+<defs>
+  <clipPath id='cpMTQzLjAyfDQyNi41Mnw0Mi4zM3wyMjcuMTU='>
+    <rect x='143.02' y='42.33' width='283.50' height='184.81' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTQzLjAyfDQyNi41Mnw0Mi4zM3wyMjcuMTU=)'>
+<polyline points='204.65,227.15 204.65,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='327.91,227.15 327.91,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='143.02,227.15 143.02,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='266.28,227.15 266.28,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='389.54,227.15 389.54,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='143.02' y='64.07' width='29.75' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='143.02' y='45.96' width='30.60' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='143.02' y='100.31' width='25.50' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='143.02' y='82.19' width='27.20' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='143.02' y='136.55' width='19.55' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='143.02' y='172.79' width='5.95' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='143.02' y='154.67' width='9.35' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='143.02' y='118.43' width='21.25' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='143.02' y='190.91' width='46.75' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='143.02' y='209.03' width='36.55' height='14.50' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='182.02,73.13 182.02,69.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='182.02,71.32 163.53,71.32 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='163.53,73.13 163.53,69.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='182.98,55.02 182.98,51.39 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='182.98,53.20 164.27,53.20 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='164.27,55.02 164.27,51.39 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='177.17,109.37 177.17,105.75 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='177.17,107.56 159.89,107.56 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='159.89,109.37 159.89,105.75 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='179.12,91.25 179.12,87.63 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='179.12,89.44 161.34,89.44 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='161.34,91.25 161.34,87.63 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='170.24,145.61 170.24,141.99 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='170.24,143.80 154.91,143.80 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.91,145.61 154.91,141.99 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='153.33,181.85 153.33,178.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='153.33,180.04 144.62,180.04 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='144.62,181.85 144.62,178.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='157.80,163.73 157.80,160.11 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='157.80,161.92 146.95,161.92 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='146.95,163.73 146.95,160.11 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='172.24,127.49 172.24,123.87 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='172.24,125.68 156.31,125.68 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='156.31,127.49 156.31,123.87 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='200.90,199.97 200.90,196.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='200.90,198.16 178.65,198.16 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='178.65,199.97 178.65,196.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='189.66,218.09 189.66,214.46 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='189.66,216.27 169.49,216.27 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='169.49,218.09 169.49,214.46 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='184.78' y='74.01' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>12%</text>
+<text x='185.63' y='55.89' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>12%</text>
+<text x='180.53' y='110.25' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>10%</text>
+<text x='182.23' y='92.13' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>11%</text>
+<text x='171.24' y='146.49' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>8%</text>
+<text x='157.64' y='182.73' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+<text x='161.04' y='164.61' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='172.94' y='128.37' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>9%</text>
+<text x='201.78' y='200.84' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>19%</text>
+<text x='191.58' y='218.96' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>15%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyNzQuMDI=)'>
+<text x='138.09' y='218.86' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.96px' lengthAdjust='spacingAndGlyphs'>Other</text>
+<text x='138.09' y='200.74' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='24.77px' lengthAdjust='spacingAndGlyphs'>Nothing</text>
+<text x='138.09' y='182.62' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='41.94px' lengthAdjust='spacingAndGlyphs'>Deployments</text>
+<text x='138.09' y='164.50' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='115.43px' lengthAdjust='spacingAndGlyphs'>Validating the vulnerability was fixed</text>
+<text x='138.09' y='146.38' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='106.25px' lengthAdjust='spacingAndGlyphs'>Updating transitive dependencies</text>
+<text x='138.09' y='128.26' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='88.63px' lengthAdjust='spacingAndGlyphs'>Getting fix from a third party</text>
+<text x='138.09' y='106.25' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='121.42px' lengthAdjust='spacingAndGlyphs'>Identifying what needs to be updated /</text>
+<text x='138.09' y='114.03' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='61.91px' lengthAdjust='spacingAndGlyphs'>performing updates</text>
+<text x='138.09' y='88.13' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='91.47px' lengthAdjust='spacingAndGlyphs'>Finding or learning about the</text>
+<text x='138.09' y='95.91' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='37.94px' lengthAdjust='spacingAndGlyphs'>vulnerability</text>
+<text x='138.09' y='70.02' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='109.44px' lengthAdjust='spacingAndGlyphs'>Not breaking something else while</text>
+<text x='138.09' y='77.79' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='81.48px' lengthAdjust='spacingAndGlyphs'>removing the vulnerability</text>
+<text x='138.09' y='51.90' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='103.62px' lengthAdjust='spacingAndGlyphs'>Understanding the vulnerability's</text>
+<text x='138.09' y='59.67' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='65.09px' lengthAdjust='spacingAndGlyphs'>impact or root cause</text>
+<text x='143.02' y='237.24' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='266.28' y='237.24' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='389.54' y='237.24' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='284.77' y='254.53' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='30.60' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='98.31px' lengthAdjust='spacingAndGlyphs'>(open-ended text response)</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='296.76px' lengthAdjust='spacingAndGlyphs'>What was most challenging about resolving this vulnerability?</text>
+<text x='426.52' y='266.94' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='26.16px' lengthAdjust='spacingAndGlyphs'>n =  290</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/text_vuln_find.svg b/_content/blog/survey2022q2/text_vuln_find.svg
new file mode 100644
index 0000000..dc8fa09
--- /dev/null
+++ b/_content/blog/survey2022q2/text_vuln_find.svg
@@ -0,0 +1,80 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='220.61pt' viewBox='0 0 432.00 220.61'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwyMjAuNjE='>
+    <rect x='0.00' y='0.00' width='432.00' height='220.61' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyMjAuNjE=)'>
+</g>
+<defs>
+  <clipPath id='cpMTQyLjYxfDQyNi41Mnw1My4xM3wxNzMuNzQ='>
+    <rect x='142.61' y='53.13' width='283.91' height='120.61' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTQyLjYxfDQyNi41Mnw1My4xM3wxNzMuNzQ=)'>
+<polyline points='204.33,173.74 204.33,53.13 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='327.77,173.74 327.77,53.13 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='142.61,173.74 142.61,53.13 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='266.05,173.74 266.05,53.13 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='389.49,173.74 389.49,53.13 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='142.61' y='57.77' width='94.85' height='18.55' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='142.61' y='150.54' width='11.97' height='18.55' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='142.61' y='80.96' width='65.60' height='18.55' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='142.61' y='104.16' width='55.40' height='18.55' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='142.61' y='127.35' width='33.24' height='18.55' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='247.44,69.37 247.44,64.73 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='247.44,67.05 227.49,67.05 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='227.49,69.37 227.49,64.73 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='158.98,162.14 158.98,157.50 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='158.98,159.82 150.18,159.82 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='150.18,162.14 150.18,157.50 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='217.27,92.56 217.27,87.92 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='217.27,90.24 199.15,90.24 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='199.15,92.56 199.15,87.92 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='206.57,115.75 206.57,111.12 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='206.57,113.44 189.46,113.44 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='189.46,115.75 189.46,111.12 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='182.85,138.95 182.85,134.31 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='182.85,136.63 168.86,136.63 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='168.86,138.95 168.86,134.31 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='249.47' y='69.74' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>38%</text>
+<text x='163.25' y='162.51' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>5%</text>
+<text x='220.21' y='92.93' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>27%</text>
+<text x='210.02' y='116.12' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>22%</text>
+<text x='187.86' y='139.32' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>13%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyMjAuNjE=)'>
+<text x='137.68' y='158.52' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='112.21px' lengthAdjust='spacingAndGlyphs'>Notified by a separate team (e.g., a</text>
+<text x='137.68' y='166.29' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='45.12px' lengthAdjust='spacingAndGlyphs'>security team)</text>
+<text x='137.68' y='135.32' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='121.01px' lengthAdjust='spacingAndGlyphs'>Found by other techniques (e.g., code</text>
+<text x='137.68' y='143.10' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='101.03px' lengthAdjust='spacingAndGlyphs'>reviews, accidental discoveries)</text>
+<text x='137.68' y='116.02' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='113.41px' lengthAdjust='spacingAndGlyphs'>Learned about it from public reports</text>
+<text x='137.68' y='88.93' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='92.25px' lengthAdjust='spacingAndGlyphs'>Notified by other vulnerability</text>
+<text x='137.68' y='96.71' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='29.15px' lengthAdjust='spacingAndGlyphs'>scanners</text>
+<text x='137.68' y='69.63' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='103.44px' lengthAdjust='spacingAndGlyphs'>Notified by GitHub / Dependabot</text>
+<text x='142.61' y='183.83' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='266.05' y='183.83' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='389.49' y='183.83' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='284.57' y='201.12' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='41.40' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='98.31px' lengthAdjust='spacingAndGlyphs'>(open-ended text response)</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='394.08px' lengthAdjust='spacingAndGlyphs'>Think of the most recent time you learned of a security vulnerability in Go software</text>
+<text x='5.48' y='28.46' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='308.96px' lengthAdjust='spacingAndGlyphs'>that you work on. How did you first learn about the vulnerability?</text>
+<text x='426.52' y='213.54' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='26.16px' lengthAdjust='spacingAndGlyphs'>n =  557</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/text_vuln_resolve.svg b/_content/blog/survey2022q2/text_vuln_resolve.svg
new file mode 100644
index 0000000..532b0b9
--- /dev/null
+++ b/_content/blog/survey2022q2/text_vuln_resolve.svg
@@ -0,0 +1,86 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='231.06pt' viewBox='0 0 432.00 231.06'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwyMzEuMDY='>
+    <rect x='0.00' y='0.00' width='432.00' height='231.06' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyMzEuMDY=)'>
+</g>
+<defs>
+  <clipPath id='cpMTU3LjAwfDQyNi41Mnw0Mi4zM3wxODQuMTk='>
+    <rect x='157.00' y='42.33' width='269.52' height='141.86' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTU3LjAwfDQyNi41Mnw0Mi4zM3wxODQuMTk=)'>
+<polyline points='215.59,184.19 215.59,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='332.77,184.19 332.77,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='157.00,184.19 157.00,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='274.18,184.19 274.18,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='391.37,184.19 391.37,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='157.00' y='46.91' width='156.91' height='18.30' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='157.00' y='138.43' width='15.09' height='18.30' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='157.00' y='92.67' width='30.18' height='18.30' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='157.00' y='161.31' width='6.54' height='18.30' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='157.00' y='69.79' width='71.92' height='18.30' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='157.00' y='115.55' width='27.16' height='18.30' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='323.92,58.35 323.92,53.77 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='323.92,56.06 303.90,56.06 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='303.90,58.35 303.90,53.77 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='177.31,149.87 177.31,145.30 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='177.31,147.58 166.86,147.58 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='166.86,149.87 166.86,145.30 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='194.30,104.11 194.30,99.53 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='194.30,101.82 180.05,101.82 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='180.05,104.11 180.05,99.53 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='167.04,172.75 167.04,168.18 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='167.04,170.46 160.03,170.46 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='160.03,172.75 160.03,168.18 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='238.73,81.23 238.73,76.65 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='238.73,78.94 219.10,78.94 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='219.10,81.23 219.10,76.65 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='190.97,126.99 190.97,122.41 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='190.97,124.70 177.35,124.70 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='177.35,126.99 177.35,122.41 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='325.92' y='58.75' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>67%</text>
+<text x='180.76' y='150.27' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>6%</text>
+<text x='199.18' y='104.51' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>13%</text>
+<text x='172.21' y='173.15' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>3%</text>
+<text x='240.92' y='81.63' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>31%</text>
+<text x='196.16' y='127.39' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>12%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyMzEuMDY=)'>
+<text x='152.07' y='173.05' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='94.66px' lengthAdjust='spacingAndGlyphs'>Resolved by other techniques</text>
+<text x='152.07' y='146.28' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='122.61px' lengthAdjust='spacingAndGlyphs'>Resolved by removing or replacing the</text>
+<text x='152.07' y='154.05' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='39.15px' lengthAdjust='spacingAndGlyphs'>dependency</text>
+<text x='152.07' y='119.51' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='127.82px' lengthAdjust='spacingAndGlyphs'>Response mentioned an investigation of</text>
+<text x='152.07' y='127.28' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='86.44px' lengthAdjust='spacingAndGlyphs'>the vulnerability's impact or</text>
+<text x='152.07' y='135.06' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='36.35px' lengthAdjust='spacingAndGlyphs'>reachability</text>
+<text x='152.07' y='104.40' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='107.84px' lengthAdjust='spacingAndGlyphs'>Resolved by editing our own code</text>
+<text x='152.07' y='81.52' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='135.40px' lengthAdjust='spacingAndGlyphs'>Response mentioned reading CVE / report</text>
+<text x='152.07' y='54.75' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='130.62px' lengthAdjust='spacingAndGlyphs'>Resolved by updating the dependency or</text>
+<text x='152.07' y='62.53' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='11.99px' lengthAdjust='spacingAndGlyphs'>app</text>
+<text x='157.00' y='194.29' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='274.18' y='194.29' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='391.37' y='194.29' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='291.76' y='211.58' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='30.60' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='98.31px' lengthAdjust='spacingAndGlyphs'>(open-ended text response)</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='293.96px' lengthAdjust='spacingAndGlyphs'>What did you do to understand and resolve this vulnerability?</text>
+<text x='426.52' y='223.99' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='26.16px' lengthAdjust='spacingAndGlyphs'>n =  466</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/text_workspace_challenge.svg b/_content/blog/survey2022q2/text_workspace_challenge.svg
new file mode 100644
index 0000000..117880b
--- /dev/null
+++ b/_content/blog/survey2022q2/text_workspace_challenge.svg
@@ -0,0 +1,114 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='284.57pt' viewBox='0 0 432.00 284.57'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwyODQuNTc='>
+    <rect x='0.00' y='0.00' width='432.00' height='284.57' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyODQuNTc=)'>
+</g>
+<defs>
+  <clipPath id='cpMTM1LjAzfDQyNi41Mnw0Mi4zM3wyMzcuNzA='>
+    <rect x='135.03' y='42.33' width='291.50' height='195.37' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTM1LjAzfDQyNi41Mnw0Mi4zM3wyMzcuNzA=)'>
+<polyline points='198.39,237.70 198.39,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='325.13,237.70 325.13,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='135.03,237.70 135.03,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='261.76,237.70 261.76,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='388.50,237.70 388.50,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='135.03' y='45.82' width='54.18' height='13.96' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='135.03' y='80.71' width='28.47' height='13.96' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='135.03' y='185.37' width='13.78' height='13.96' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='135.03' y='202.82' width='10.10' height='13.96' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='135.03' y='133.04' width='18.37' height='13.96' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='135.03' y='167.93' width='15.61' height='13.96' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='135.03' y='150.48' width='15.61' height='13.96' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='135.03' y='63.26' width='33.06' height='13.96' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='135.03' y='98.15' width='22.04' height='13.96' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='135.03' y='115.60' width='22.04' height='13.96' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='135.03' y='220.26' width='56.02' height='13.96' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='201.47,54.54 201.47,51.05 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='201.47,52.80 176.95,52.80 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='176.95,54.54 176.95,51.05 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='172.94,89.43 172.94,85.94 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='172.94,87.69 154.05,87.69 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.05,89.43 154.05,85.94 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='155.58,194.09 155.58,190.61 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='155.58,192.35 142.02,192.35 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='142.02,194.09 142.02,190.61 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='150.98,211.54 150.98,208.05 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='150.98,209.79 139.28,209.79 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='139.28,211.54 139.28,208.05 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='161.15,141.76 161.15,138.27 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='161.15,140.02 145.64,140.02 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='145.64,141.76 145.64,138.27 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='157.83,176.65 157.83,173.16 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='157.83,174.91 143.45,174.91 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='143.45,176.65 143.45,173.16 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='157.83,159.21 157.83,155.72 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='157.83,157.46 143.45,157.46 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='143.45,159.21 143.45,155.72 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='178.16,71.99 178.16,68.50 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='178.16,70.24 158.02,70.24 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='158.02,71.99 158.02,68.50 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='165.49,106.87 165.49,103.39 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='165.49,105.13 148.64,105.13 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='148.64,106.87 148.64,103.39 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='165.49,124.32 165.49,120.83 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='165.49,122.57 148.64,122.57 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='148.64,124.32 148.64,120.83 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='203.45,228.98 203.45,225.49 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='203.45,227.24 178.64,227.24 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='178.64,228.98 178.64,225.49 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='202.71' y='55.49' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>21%</text>
+<text x='177.00' y='90.38' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>11%</text>
+<text x='158.55' y='195.04' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>5%</text>
+<text x='154.88' y='212.48' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='163.15' y='142.71' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>7%</text>
+<text x='160.39' y='177.59' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>6%</text>
+<text x='160.39' y='160.15' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>6%</text>
+<text x='181.59' y='72.93' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>13%</text>
+<text x='166.82' y='107.82' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>9%</text>
+<text x='166.82' y='125.26' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>9%</text>
+<text x='204.55' y='229.93' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>22%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyODQuNTc=)'>
+<text x='130.09' y='229.82' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='17.96px' lengthAdjust='spacingAndGlyphs'>Other</text>
+<text x='130.09' y='212.37' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='24.77px' lengthAdjust='spacingAndGlyphs'>Nothing</text>
+<text x='130.09' y='191.04' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='98.42px' lengthAdjust='spacingAndGlyphs'>Can't run commands across all</text>
+<text x='130.09' y='198.82' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='41.14px' lengthAdjust='spacingAndGlyphs'>sub-modules</text>
+<text x='130.09' y='177.49' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='61.11px' lengthAdjust='spacingAndGlyphs'>GoLand integration</text>
+<text x='130.09' y='160.04' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='93.84px' lengthAdjust='spacingAndGlyphs'>Updating my project structure</text>
+<text x='130.09' y='142.60' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='47.12px' lengthAdjust='spacingAndGlyphs'>Getting started</text>
+<text x='130.09' y='125.16' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='92.25px' lengthAdjust='spacingAndGlyphs'>IDE or CLI tooling integration</text>
+<text x='130.09' y='107.71' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='98.65px' lengthAdjust='spacingAndGlyphs'>Unclear about use case / value</text>
+<text x='130.09' y='90.27' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='79.06px' lengthAdjust='spacingAndGlyphs'>Lack of time / low priority</text>
+<text x='130.09' y='72.82' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='113.42px' lengthAdjust='spacingAndGlyphs'>Updating our work dev environment</text>
+<text x='130.09' y='51.49' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='113.03px' lengthAdjust='spacingAndGlyphs'>Lack of documentation / examples /</text>
+<text x='130.09' y='59.27' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='73.08px' lengthAdjust='spacingAndGlyphs'>helpful error messages</text>
+<text x='135.03' y='247.80' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='261.76' y='247.80' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='388.50' y='247.80' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='280.77' y='265.09' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='30.60' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='98.31px' lengthAdjust='spacingAndGlyphs'>(open-ended text response)</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='351.22px' lengthAdjust='spacingAndGlyphs'>What, if anything, has made it challenging for you to use Go workspaces?</text>
+<text x='426.52' y='277.50' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='26.16px' lengthAdjust='spacingAndGlyphs'>n =  276</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/use_gopls.svg b/_content/blog/survey2022q2/use_gopls.svg
new file mode 100644
index 0000000..34fc819
--- /dev/null
+++ b/_content/blog/survey2022q2/use_gopls.svg
@@ -0,0 +1,69 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='175.87pt' viewBox='0 0 432.00 175.87'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwxNzUuODc='>
+    <rect x='0.00' y='0.00' width='432.00' height='175.87' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxNzUuODc=)'>
+</g>
+<defs>
+  <clipPath id='cpMTM1LjAyfDQyNi41MnwyNC44NnwxMjkuMDA='>
+    <rect x='135.02' y='24.86' width='291.50' height='104.14' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTM1LjAyfDQyNi41MnwyNC44NnwxMjkuMDA=)'>
+<polyline points='198.39,129.00 198.39,24.86 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='325.13,129.00 325.13,24.86 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='135.02,129.00 135.02,24.86 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='261.76,129.00 261.76,24.86 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='388.50,129.00 388.50,24.86 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='135.02' y='29.82' width='201.79' height='19.84' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='135.02' y='54.62' width='26.58' height='19.84' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='135.02' y='79.41' width='4.06' height='19.84' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='135.02' y='104.21' width='21.05' height='19.84' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='339.92,42.22 339.92,37.26 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='339.92,39.74 333.69,39.74 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='333.69,42.22 333.69,37.26 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='163.97,67.01 163.97,62.05 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='163.97,64.53 159.23,64.53 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='159.23,67.01 159.23,62.05 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='140.05,91.81 140.05,86.85 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='140.05,89.33 138.11,89.33 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='138.11,91.81 138.11,86.85 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='158.20,116.61 158.20,111.65 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='158.20,114.13 153.93,114.13 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='153.93,116.61 153.93,111.65 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='342.81' y='42.43' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>80%</text>
+<text x='167.60' y='67.22' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>10%</text>
+<text x='143.41' y='92.02' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>2%</text>
+<text x='160.40' y='116.82' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>8%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxNzUuODc=)'>
+<text x='130.09' y='116.71' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='37.31px' lengthAdjust='spacingAndGlyphs'>I'm not sure</text>
+<text x='130.09' y='91.91' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='113.41px' lengthAdjust='spacingAndGlyphs'>No, I tried gopls but no longer use it</text>
+<text x='130.09' y='67.11' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='79.87px' lengthAdjust='spacingAndGlyphs'>No, I have not tried gopls</text>
+<text x='130.09' y='42.32' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='12.38px' lengthAdjust='spacingAndGlyphs'>Yes</text>
+<text x='135.02' y='139.10' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='261.76' y='139.10' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='388.50' y='139.10' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='280.77' y='156.39' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='293.45px' lengthAdjust='spacingAndGlyphs'>Do you use the gopls language server with [preferred editor]?</text>
+<text x='426.52' y='168.80' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  4,119</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/where.svg b/_content/blog/survey2022q2/where.svg
new file mode 100644
index 0000000..f40c4ae
--- /dev/null
+++ b/_content/blog/survey2022q2/where.svg
@@ -0,0 +1,82 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='192.55pt' viewBox='0 0 432.00 192.55'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwxOTIuNTU='>
+    <rect x='0.00' y='0.00' width='432.00' height='192.55' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxOTIuNTU=)'>
+</g>
+<defs>
+  <clipPath id='cpMTQzLjAxfDQyNi41Mnw0Mi4zM3wxNDUuNjg='>
+    <rect x='143.01' y='42.33' width='283.51' height='103.35' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTQzLjAxfDQyNi41Mnw0Mi4zM3wxNDUuNjg=)'>
+<polyline points='204.64,145.68 204.64,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='327.91,145.68 327.91,42.33 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='143.01,145.68 143.01,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='266.28,145.68 266.28,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='389.54,145.68 389.54,42.33 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='143.01' y='95.67' width='42.00' height='13.34' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='143.01' y='112.34' width='38.87' height='13.34' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='143.01' y='62.34' width='148.08' height='13.34' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='143.01' y='129.01' width='0.60' height='13.34' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='143.01' y='45.67' width='191.37' height='13.34' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<rect x='143.01' y='79.00' width='116.92' height='13.34' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #00ADD8;' />
+<polyline points='187.41,104.01 187.41,100.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='187.41,102.34 182.62,102.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='182.62,104.01 182.62,100.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='184.21,120.68 184.21,117.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='184.21,119.01 179.56,119.01 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='179.56,120.68 179.56,117.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='294.21,70.67 294.21,67.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='294.21,69.00 287.97,69.00 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='287.97,70.67 287.97,67.34 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='143.92,137.35 143.92,134.01 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='143.92,135.68 143.30,135.68 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='143.30,137.35 143.30,134.01 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='337.04,54.00 337.04,50.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='337.04,52.33 331.72,52.33 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='331.72,54.00 331.72,50.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='263.11,87.34 263.11,84.01 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='263.11,85.67 256.75,85.67 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='256.75,87.34 256.75,84.01 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='191.01' y='105.03' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>17%</text>
+<text x='187.89' y='121.70' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>16%</text>
+<text x='297.09' y='71.69' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>60%</text>
+<text x='147.94' y='138.37' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='340.38' y='55.02' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>78%</text>
+<text x='265.93' y='88.36' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>47%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwxOTIuNTU=)'>
+<text x='138.08' y='138.26' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='58.72px' lengthAdjust='spacingAndGlyphs'>None of the above</text>
+<text x='138.08' y='121.59' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='98.25px' lengthAdjust='spacingAndGlyphs'>I manage a programming team</text>
+<text x='138.08' y='104.92' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='121.00px' lengthAdjust='spacingAndGlyphs'>I am learning or would like to learn Go</text>
+<text x='138.08' y='88.25' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='121.41px' lengthAdjust='spacingAndGlyphs'>I program at work in another language</text>
+<text x='138.08' y='71.58' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='100.22px' lengthAdjust='spacingAndGlyphs'>I program in Go outside of work</text>
+<text x='138.08' y='54.91' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='75.06px' lengthAdjust='spacingAndGlyphs'>I program at work in Go</text>
+<text x='143.01' y='155.78' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='266.28' y='155.78' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='389.54' y='155.78' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='284.77' y='173.07' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<text x='5.48' y='30.60' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='73.40px' lengthAdjust='spacingAndGlyphs'>(select all that apply)</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='126.12px' lengthAdjust='spacingAndGlyphs'>The following apply to me:</text>
+<text x='426.52' y='185.48' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  5,752</text>
+</g>
+</svg>
diff --git a/_content/blog/survey2022q2/workspaces_use_s.svg b/_content/blog/survey2022q2/workspaces_use_s.svg
new file mode 100644
index 0000000..69105cd
--- /dev/null
+++ b/_content/blog/survey2022q2/workspaces_use_s.svg
@@ -0,0 +1,119 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' class='svglite' width='432.00pt' height='245.85pt' viewBox='0 0 432.00 245.85'>
+<defs>
+  <style type='text/css'><![CDATA[
+    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
+      fill: none;
+      stroke: #000000;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+      stroke-miterlimit: 10.00;
+    }
+    .svglite text {
+      white-space: pre;
+    }
+  ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<defs>
+  <clipPath id='cpMC4wMHw0MzIuMDB8MC4wMHwyNDUuODU='>
+    <rect x='0.00' y='0.00' width='432.00' height='245.85' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyNDUuODU=)'>
+</g>
+<defs>
+  <clipPath id='cpMTQ3LjM2fDQyNi41Mnw2MC43OXwxOTguOTg='>
+    <rect x='147.36' y='60.79' width='279.16' height='138.19' />
+  </clipPath>
+</defs>
+<g clip-path='url(#cpMTQ3LjM2fDQyNi41Mnw2MC43OXwxOTguOTg=)'>
+<polyline points='208.05,198.98 208.05,60.79 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='329.42,198.98 329.42,60.79 ' style='stroke-width: 0.53; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='147.36,198.98 147.36,60.79 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='268.73,198.98 268.73,60.79 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<polyline points='390.11,198.98 390.11,60.79 ' style='stroke-width: 1.07; stroke: #EBEBEB; stroke-linecap: butt;' />
+<rect x='147.36' y='74.16' width='127.90' height='8.92' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='147.36' y='141.03' width='13.05' height='8.92' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='147.36' y='96.45' width='56.28' height='8.92' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='147.36' y='163.32' width='9.35' height='8.92' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='147.36' y='118.74' width='19.76' height='8.92' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='147.36' y='185.61' width='16.41' height='8.92' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<rect x='147.36' y='65.25' width='79.27' height='8.92' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='147.36' y='132.11' width='17.98' height='8.92' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='147.36' y='87.54' width='101.09' height='8.92' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='147.36' y='154.40' width='13.96' height='8.92' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='147.36' y='109.83' width='21.49' height='8.92' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='147.36' y='176.69' width='8.96' height='8.92' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<polyline points='281.66,80.29 281.66,78.07 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='281.66,79.18 268.86,79.18 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='268.86,80.29 268.86,78.07 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='163.31,147.16 163.31,144.93 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='163.31,146.04 157.52,146.04 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='157.52,147.16 157.52,144.93 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='209.05,102.58 209.05,100.35 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='209.05,101.47 198.22,101.47 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='198.22,102.58 198.22,100.35 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='159.18,169.45 159.18,167.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='159.18,168.33 154.24,168.33 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.24,169.45 154.24,167.22 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='170.62,124.87 170.62,122.64 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='170.62,123.76 163.61,123.76 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='163.61,124.87 163.61,122.64 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='166.99,191.74 166.99,189.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='166.99,190.62 160.55,190.62 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='160.55,191.74 160.55,189.51 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='230.28,70.26 230.28,68.04 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='230.28,69.15 222.98,69.15 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='222.98,70.26 222.98,68.04 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='167.38,137.13 167.38,134.90 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='167.38,136.02 163.30,136.02 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='163.30,137.13 163.30,134.90 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='252.28,92.55 252.28,90.32 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='252.28,91.44 244.61,91.44 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='244.61,92.55 244.61,90.32 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='163.13,159.42 163.13,157.19 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='163.13,158.30 159.51,158.30 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='159.51,159.42 159.51,157.19 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='171.06,114.84 171.06,112.61 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='171.06,113.73 166.64,113.73 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='166.64,114.84 166.64,112.61 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='157.79,181.71 157.79,179.48 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='157.79,180.59 154.85,180.59 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<polyline points='154.85,181.71 154.85,179.48 ' style='stroke-width: 1.07; stroke: #DDDDDD; stroke-linecap: butt;' />
+<text x='281.26' y='81.87' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>53%</text>
+<text x='164.75' y='148.73' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>5%</text>
+<text x='209.64' y='104.16' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>23%</text>
+<text x='161.04' y='171.02' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+<text x='171.45' y='126.45' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>8%</text>
+<text x='168.10' y='193.31' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>7%</text>
+<text x='232.63' y='71.84' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>33%</text>
+<text x='169.68' y='138.70' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>7%</text>
+<text x='254.45' y='94.13' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='15.00px' lengthAdjust='spacingAndGlyphs'>42%</text>
+<text x='165.65' y='160.99' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>6%</text>
+<text x='173.18' y='116.42' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>9%</text>
+<text x='160.65' y='183.28' style='font-size: 7.50px;fill: #555555; font-family: "Arial";' textLength='10.84px' lengthAdjust='spacingAndGlyphs'>4%</text>
+</g>
+<g clip-path='url(#cpMC4wMHw0MzIuMDB8MC4wMHwyNDUuODU=)'>
+<text x='142.43' y='188.19' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='37.31px' lengthAdjust='spacingAndGlyphs'>I'm not sure</text>
+<text x='142.43' y='162.01' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='119.01px' lengthAdjust='spacingAndGlyphs'>I want to, but something is preventing</text>
+<text x='142.43' y='169.79' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='105.03px' lengthAdjust='spacingAndGlyphs'>me from using workspaces today</text>
+<text x='142.43' y='143.61' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='76.06px' lengthAdjust='spacingAndGlyphs'>No, and I don't intend to</text>
+<text x='142.43' y='121.32' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='105.03px' lengthAdjust='spacingAndGlyphs'>Yes, I have used Go workspaces</text>
+<text x='142.43' y='95.15' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='125.76px' lengthAdjust='spacingAndGlyphs'>I'm open to using workspaces, but don't</text>
+<text x='142.43' y='102.92' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='125.00px' lengthAdjust='spacingAndGlyphs'>have a specific need for them right now</text>
+<text x='142.43' y='72.86' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='112.21px' lengthAdjust='spacingAndGlyphs'>No, because I was not aware of Go</text>
+<text x='142.43' y='80.63' text-anchor='end' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='37.94px' lengthAdjust='spacingAndGlyphs'>workspaces</text>
+<text x='147.36' y='209.07' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='10.39px' lengthAdjust='spacingAndGlyphs'>0%</text>
+<text x='268.73' y='209.07' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='14.39px' lengthAdjust='spacingAndGlyphs'>50%</text>
+<text x='390.11' y='209.07' text-anchor='middle' style='font-size: 7.20px;fill: #666666; font-family: "Arial";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100%</text>
+<text x='286.94' y='226.37' text-anchor='middle' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='62.28px' lengthAdjust='spacingAndGlyphs'>% of respondents</text>
+<rect x='217.23' y='36.37' width='12.76' height='12.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #5DC9E2;' />
+<rect x='285.63' y='36.37' width='12.76' height='12.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: square; stroke-linejoin: miter; fill: #CE3262;' />
+<text x='234.68' y='45.62' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='46.26px' lengthAdjust='spacingAndGlyphs'>Self-selected</text>
+<text x='303.08' y='45.62' style='font-size: 8.00px;fill: #666666; font-family: "Arial";' textLength='58.26px' lengthAdjust='spacingAndGlyphs'>Random sample</text>
+<text x='5.48' y='17.66' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='416.25px' lengthAdjust='spacingAndGlyphs'>Have you used the Go workspaces functionality (e.g., the `go work` command) added in</text>
+<text x='5.48' y='28.46' style='font-size: 10.00px; font-weight: bold;fill: #333333; font-family: "Arial";' textLength='42.24px' lengthAdjust='spacingAndGlyphs'>Go 1.18?</text>
+<text x='426.52' y='238.78' text-anchor='end' style='font-size: 7.20px;fill: #999999; font-family: "Arial";' textLength='32.16px' lengthAdjust='spacingAndGlyphs'>n =  5,115</text>
+</g>
+</svg>