Get started with data privacy vaults using Databunker
Learn how data privacy vaults like Databunker use tokenization to protect personally identifiable information (PII).
Recent content in Developer. Documentarian. Educator. on Marcus Olsson
Learn how data privacy vaults like Databunker use tokenization to protect personally identifiable information (PII).
Learn about the foundational ideas by Alan Westin that helped define the privacy field.
Learn how to deploy Fides—an open-source privacy-as-code platform—to a Kubernetes cluster.
Learn how to scan a Java repository for privacy issues, using Privado—an open-source privacy code scanner.
Learn how to protect privacy in datasets using k-anonymity and l-diversity.
Learn how set up Fides, an open-source privacy-as-code platform, to create and respond to DSRs for a e-commerce sample application.
Learn how to build a Hugo shortcode that reads a code snippet from a file and displays it with syntax highlighting.
An introduction to executive functioning for neurodivergent individuals.
Discover the untapped potential of busywork for boosting productivity for neurodivergent individuals.
Are you neurodivergent and using Apple devices? Here are my favorite accessibility features that help me staying focused and present.
Productivity methods that depend on being able to manage time don’t work for people with ADHD and those struggling with time blindness.
Stay focused by filtering out unnecessary information in your favorite apps.
A brief overview of my DevRel journey so far, and why I’m excited to join AssemblyAI’s amazing Developer Education team.
In this episode, we talk to Marcus Olsson, Developer Advocate at Grafana Labs, about Grafana’s open-source tool for observability and monitoring.
I’ve donated the unofficial plugin documentation to the Obsidian team.
Level up your technical tutorials and become a better Developer Educator using learning science.
Have you ever wanted rotating Notion database views in Obsidian? Marcus Olsson’s Obsidian Projects plugin does exactly that, letting you create Table, Board, Calendar, and Gallery views for the same notes in Obsidian, just like in Notion! Join us as Marcus shows us how this awesome new plugin works and how it can be used to display the same data in different ways.
Obsidian is a note-taking application that lets you create connections between your notes. Obsidian also lets users build their own themes and plugins to extend the application with custom functionality. In 2022, I had already been an avid user of Obsidian and decided to develop my own plugins for the app. This page lists my journey and accomplishments while developing plugins for Obsidian.…
Manage your content calendar with this new plugin for project management in Obsidian.
A Svelte component library for Obsidian development.
A series of tutorials where I walk through different aspects of plugin development for Obsidian.
The plugins I wrote during my time at Grafana Labs have found new homes.
Grafana is an open-source platform for monitoring and observability maintained by Grafana Labs . A major contributor of Grafana’s success is the ability to integrate it into any tech stack. This is possible through a plugin platform where anyone can develop their own integrations. The support for plugins was introduced back in Grafana 3, but due to limited documentation and examples, only a…
An Obsidian plugins that lets you manage and visualize notes for project management.
In Data frame design: Basics, I stressed the importance to document the data response that your panel plugin expects from the data source. While you can document it in your README, that would mean the user needs to switch to another tab to understand how to use your panel. In this post, I’ll share a different approach, that lets the user configure the query without leaving Grafana.
Data sources translate data from external services and APIs into a format that panels can understand. In other words, data sources produce data and panels consume data. Generally, data sources don’t know how the data they produce will be presented. While they can suggest a preferred type of visualization, the user is ultimately free to visualize the data in any way they want. In practice, this…
Template variables enable users to create dashboards that change dynamically based on user input. Since variables have been around in Grafana for a long time, many users expect them to be supported for any data sources they install. In this post, I’ll share some tips on how you can use template variables in your data source plugin.
An unofficial Grafana data source for You Need A Budget .
If your data source retrieves data from an official, well-defined API, you can simplify your data source configuration by only asking for the relevant data, such as the API token. However, if the user should be able to access data from any given HTTP endpoint, you probably want to let them configure things like authentication headers and query parameters to fit their needs. In this post, I’ll…
In my previous post on how to display custom stats for your data source queries, I explained how you can return metrics about the query back to the user. This can be useful to dashboard authors who want to troubleshoot or optimize their queries. As an administrator however, you might want to understand how the data source performs over time, across dashboards. In this post, I’ll show you how you…
In this post, I want to share a pattern that I’m using for almost all my panel plugins. I call it panel dimensions.
The Query inspector in Grafana can be helpful when you’re trying to figure out why your query is failing, or why it’s taking too long to return a result. While Grafana displays some basic information about your query by default, in this post you’ll learn how to add your own stats for you query.
The primary way for a data source to retrieve data is through the query method. But sometimes your data source needs to request auxiliary data on demand, for example to offer auto-completion inside the data source’s query editor. In this post, I want to show you how to add a resource handler to your data source. By adding a resource handler to your backend plugin, you can extend the Grafana HTTP…
If you’re building a data source plugin, chances are you want to make HTTP requests from your TypeScript code to a HTTP API somewhere. In the past, the preferred way to make an HTTP request from your plugin was to use the BackendSrv.datasourceRequest(), which has been deprecated in favor of BackendSrv.fetch().
I thought I’d share how I use Docker for developing plugins. Docker makes it really easy for me to test my plugin against multiple versions of Grafana. For example, to make sure that the plugin still works with the earliest supported version of Grafana (as defined by grafanaDependency in plugin.json).
If you’re building a panel plugin, Grafana already provides the data you need to configure and render your panel. If not, you can retrieve the information you need from any of the runtime services, like BackendSrv and TemplateSrv. In some cases though, you want your plugin to react to changes outside of your plugin. For example, when the user hovers their cursor over data in another panel. In this…
Learn how to manage your goals in Obsidian using OKRs and the Periodic Notes plugin.
An Obsidian plugin that adds pipe tricks to the Wikilink format used by Obsidian
Generate Markdown from a .d.ts file.
A Vale client for Obsidian.
Unofficial documentation for Obsidian plugin development.
Have you finished experimenting with your first dashboard and are looking to build your first production dashboard? Or perhaps you’re looking to finally give your existing dashboards that well-deserved makeover? In this webinar, you’ll learn how to design dashboards that your users will want to come back to. You’ll learn to define the audience and the context of your dashboard to create dashboards…
Grafana 8.0 is here! In this webinar, Marcus will demo all the highlights of the latest major release: new and updated visualizations and themes, and data source improvements. He will walk you through how to get started using Grafana 8 and the Grafana 8 user interface while showing how to set up monitoring for a web service that uses Prometheus and Loki to store metrics and logs. Discover how to…
This repository contains various helper functions that I’ve found myself reimplementing for my plugins.
Display your query results as calendar events.
Are you putting the final touches on your plugin before you submit it to the Grafana plugin page? In this article, I’ll share a few tips for how to add that extra polish to your plugins. This article assumes that you already have some knowledge of building plugins for Grafana. If you’re looking to build your first plugin, start by following one of our plugin tutorials.