We recently migrated from a self-managed Gitlab instance to gitlab.com. The system administrator of the self-managed Gitlab instance said this would simply entail a git pull && git push and that the migration will be done quickly. Depending on your usage of Gitlab, this is either a naïve oversimplification or straight forward dangerous. The truth is more nuanced and entails quite a bit more work. Since the migration took us a couple of full working days and we wrote some reusable checklists and code in the process, we have quickly jotted these down. Maybe somebody else can also make use...

The last two days were EmacsConf 2020. It was a great conference as always. Last year, 200ok was able to host one of two real-world satellites. This year, we are happy EmacsConf is happening, again. This time even in a 2-day format hosting many great talks! This blog post is accompanying Alain’s talk from yesterday.

If you are working with complex nested JSON structures, you are probably familiar with jq which is like sed for JSON data and great at what it does. However, being a command-line tool like sed, the feedback for writing queries and seeing...

Sometimes, when you want to read a regular website, you just cannot, because there’s a cookie popup in the way. Of course, in certain states, these are an implication of the law. However, if they won’t let you read the website, won’t let you opt out of tracking and actually do start to track you immediately, then this can be a bit of an annoyance. This video describes an easy way to circumvent these cookie popups using the free and open source plugin uBlock origin which is available for Firefox and other popular browsers.

This is not to say that...

Whenever Emacs feels slow, or you want to check out just how big the impact of something is RAM or CPU wise, then you can use the built-in Emacs profiler. It’s actually very easy and doesn’t require a lot of prerequisite knowledge. This is a very basic introduction on how to get started with it:

The file in the video includes just one “long” line of code which is 5461 characters long. If it were substantially longer (for example, for a minified JSON file), then Emacs could lock up completely....

Users of Emacs sometimes run into a performance issue which they didn't know about before, but is well known: Working with files which include long lines. If the lines are long enough - which can just be a couple thousand characters - Emacs will crawl to a halt whilst utilising 100% CPU. After reading this guide, you will be well prepared to tackle even these files in Emacs!

This issue is not new and due to the fact that Emacs scans every line of text multiple times for layout concerns. For example, it will check what the highest glyph in the...

organice is an implementation of Org mode without the dependency of Emacs - built for mobile and desktop browsers. It is free and open source software, developed on Github with a free instance hosted at https://organice.200ok.ch/.

In today’s release, we added support for automatic phone numbers recognition. Wherever organice finds a supported phone number format, it will render it as a clickable link. The user can just click the link and start a phone call.

Here’s a demo showing the ability to start a call directly from organice:

Start a call from organice

organice already recognized various types...

If you have a notebook that ships with a Nvidia GPU and you're recording screencasts or editing/encoding video, this post might be for you.

This blog post has an accompanying screencast:

I have a ThinkPad X1 Extreme Gen 2 notebook for work. The reason I bought this machine is that it has lots of power which I can make good use of when developing software. Being a higher end notebook, it did come with a Nvidia GeForce GTX 1650 GPU which is a pretty strong beast.

Having a strong GPU is not...

Here in Switzerland, there are four spoken and written languages: Swiss German, French, Italian and Romansh. Also, we converse a lot in German and English. Hence, it's a regular occurrence to have one file with multiple languages in them. Especially for these situations it's important to have proper spell checking. Fortunately, Emacs has us covered!

Emacs has built-in functionality for checking and correcting spelling called ispell.el. On top of that, there's a built-in minor mode for on-the-fly spell checking called flyspell-mode.

Flyspell can use multiple back-ends (for example ispell, aspell or hunspell).

Hunspell is a free spell checker and used by...

Writing and reading email is inherently a text-based workflow. Yes, there’s HTML mails and attachments, but at the core email is probably the place where many people write and consume the most text. To utilize the best text-processing program available makes a lot of sense.

When combined with other powerful features of Emacs (such as Org mode for organizing mails into projects and todos), processing mails within Emacs not only makes a lot of sense, but becomes a powerhouse.

Now, some people refrain from using Emacs (or similarly good mail user agents), because they are afraid that such a setup will not...

When you have lots of information in an Org file, it helps to narrow it down to just the topic that interests you right now. There's many ways to do that depending on what exactly you want to do. Creating an Org mode sparse tree is one of those options! C-c / constructs a sparse tree for selected information in an outline tree, so that the entire document is folded as much as possible, but the selected information is made visible along with the headline structure above it. These are the options how you can filter your Org file...