RSSAmplifier

Blog

Developer. Documentarian. Educator. on Marcus Olsson

Recent content in Developer. Documentarian. Educator. on Marcus Olsson

marcusolsson.devRSS feed ↗117 posts

Latest posts

Get started with data privacy vaults using Databunker

Learn how data privacy vaults like Databunker use tokenization to protect personally identifiable information (PII).

Westin's four states of privacy

Learn about the foundational ideas by Alan Westin that helped define the privacy field.

Deploy Fides to Kubernetes

Learn how to deploy Fides—an open-source privacy-as-code platform—to a Kubernetes cluster.

Privacy code scanning with Privado

Learn how to scan a Java repository for privacy issues, using Privado—an open-source privacy code scanner.

Understanding privacy risk with k-anonymity and l-diversity

Learn how to protect privacy in datasets using k-anonymity and l-diversity.

Get started with Fides

Learn how set up Fides, an open-source privacy-as-code platform, to create and respond to DSRs for a e-commerce sample application.

How to include code examples from file with Hugo

Learn how to build a Hugo shortcode that reads a code snippet from a file and displays it with syntax highlighting.

Beginner's guide to executive functioning

An introduction to executive functioning for neurodivergent individuals.

The Power of Busywork

Discover the untapped potential of busywork for boosting productivity for neurodivergent individuals.

Useful accessibility features for neurodivergent Apple users

Are you neurodivergent and using Apple devices? Here are my favorite accessibility features that help me staying focused and present.

How I (un)manage time as a neurodivergent

Productivity methods that depend on being able to manage time don’t work for people with ADHD and those struggling with time blindness.

How to use Apple Focus filters

Stay focused by filtering out unnecessary information in your favorite apps.

I'm joining AssemblyAI

A brief overview of my DevRel journey so far, and why I’m excited to join AssemblyAI’s amazing Developer Education team.

Creating a plugin for Obsidian with Marcus Olsson

In this episode, we talk to Marcus Olsson, Developer Advocate at Grafana Labs, about Grafana’s open-source tool for observability and monitoring.

New maintainer for the Obsidian plugin docs

I’ve donated the unofficial plugin documentation to the Obsidian team.

How to write tutorials for learning

Level up your technical tutorials and become a better Developer Educator using learning science.

Notion database views in Obsidian Projects plugin

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.

Plugin development for Obsidian

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.…

Announcing Obsidian Projects

Manage your content calendar with this new plugin for project management in Obsidian.

obsidian-svelte

A Svelte component library for Obsidian development.

Webinar: Build your first Obsidian plugin

A series of tutorials where I walk through different aspects of plugin development for Obsidian.

New maintainers for my Grafana plugins

The plugins I wrote during my time at Grafana Labs have found new homes.

Plugin development for Grafana

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…

Obsidian Projects

An Obsidian plugins that lets you manage and visualize notes for project management.

Talk: Super-charging Grafana with plugins

Guiding panel users with a wizard

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 frame design: Basics

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…

Talk: Extend your Grafana experience through plugins

How to use template variables in your data source

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.

Grafana data source for YNAB

An unofficial Grafana data source for You Need A Budget .

How to make user-configurable HTTP requests from your data source plugin

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…

How to instrument your backend data source

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…

How to configure dimensions for your panel plugin

In this post, I want to share a pattern that I’m using for almost all my panel plugins. I call it panel dimensions.

How to display custom stats for your data source queries

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.

How to add a resource handler for your data source

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…

How to migrate from BackendSrv.datasourceRequest() to BackendSrv.fetch()

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().

How I use Docker for plugin development

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).

How to subscribe to Grafana application events

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…

How I set and track goals using Obsidian and OKRs

Learn how to manage your goals in Obsidian using OKRs and the Periodic Notes plugin.

Live stream: Grafana Plugins Showcase

Pipe tricks for Obsidian

An Obsidian plugin that adds pipe tricks to the Wikilink format used by Obsidian

dts-docs

Generate Markdown from a .d.ts file.

Vale for Obsidian

A Vale client for Obsidian.

Obsidian Plugin Documentation

Unofficial documentation for Obsidian plugin development.

Creating and using plugins for k6 and Grafana

Webinar: Getting started with Grafana dashboard design

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…

Webinar: Getting started with Grafana 8

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…

Helpers for Grafana plugin development

This repository contains various helper functions that I’ve found myself reimplementing for my plugins.

Calendar for Grafana

Display your query results as calendar events.

6 tips for improving your Grafana plugin before you publish

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.