What's new in asciinema - part III: the server Published on 12 Oct 2023 by Marcin Kulik

This is part 3 in the “what’s new in asciinema” series. In the first part we looked at the player, in the second part we covered the recorder, and in this one we’ll focus on the server.

Let’s begin with OPS-related stuff.

asciinema.org uses email-based login flow, where you get short lived login link (some call it “magic link”). Over last 10 years that email was delivered via several email providers. From the top of my head, roughly in order: Mailgun, Gmail, Sendgrid, Fastmail. I won’t go into details of why I’ve been switching from X to Y, as the reason was different in each case, but overall there was always something (and when it wasn’t a tech issue then it was a price issue). The last switch happened a few months ago to AWS SES. It’s been reliable (so far) and ridiculously cheap. asciinema server uses Bamboo library for email delivery, and thanks to Bamboo’s pluggable adapters it was trivial to switch. If you want to use SES for email delivery with your own instance of the server then follow the instructions here.

Read More


What's new in asciinema - part II: the recorder Published on 01 Sep 2023 by Marcin Kulik

This is part 2 in the “what’s new in asciinema” series. In the first part I looked at the player, in this one I’ll focus on the recorder (aka CLI).

Fun fact: people use asciinema to record the terminal on Android. I would never have thought of that but apparently there are folks who do that. Anyway, recorder v2.0.2 (that’s not really recent…) improved Android support, so if you’re a masochist who uses a terminal on a mobile device then you’re covered ;)

Read More


What's new in asciinema - part I: the player Published on 31 Aug 2023 by Marcin Kulik

There’s been a steady stream of asciinema releases over the last 12 months and I thought it would be nice to bring notable additions and improvements to the light. This is the first post in the “what’s new in asciinema” series, in which I’ll focus primarily on the player, highlighting changes I find most interesting. I will cover other parts of the asciinema stack in future posts.

Read More


Blast from the past Published on 19 Jun 2023 by Marcin Kulik

Did you know that the first prototype of what later became the asciinema player replayed “typescript” files produced by script command?

In fact, the whole asciinema project originated with the player, not with the command line recorder. That was back in 2010. I was having fun with script and scriptreplay commands, when I imagined being able to easily share typescript files with fellow geeks, who could watch the recordings in their browsers. I wrote a rough parser/interpreter for typescript format and got some characters moving happily on a page with the help of a bunch <div> and <span> elements.

Read More


4x smaller, 50x faster Published on 22 Nov 2021 by Marcin Kulik

It’s been a while since asciinema-player 2.6 was released and a lot has changed since. Version 3.0 is around the corner with so much good stuff, that even though it’s not released yet, I couldn’t wait any longer to share.

Long story short: asciinema-player has been reimplemented from scratch in JavaScript and Rust, resulting in 50x faster virtual terminal interpreter, while at the same time, reducing the size of the JS bundle 4x.

Read More


Archival of unclaimed recordings Published on 30 Dec 2018 by Marcin Kulik

Since asciinema’s inception in 2012 there were over 200,000 asciicasts uploaded to asciinema.org 🎉😻.

As of today (end of 2018) there are ~85,000 unclaimed recordings, which are ones that have been uploaded by anonymous users, who never linked their installation to their asciinema.org account.

Most of these unclaimed recordings are “abandoned” (recorded, watched once, forgotten), therefore we’re going to archive them, and enable daily auto-archival (related PR) on asciinema.org soon.

Read More


2.0 Published on 18 Feb 2018 by Marcin Kulik

I’m very happy to announce the release of asciinema 2.0!

It’s been 3 years since 1.0 (time flies!), and during this period many ideas have been brought to life through series of minor releases. This time the scope and importance of the changes required major version bump.

Below we’ll go through all the changes in detail, you can also read the CHANGELOG for a shorter version.

Read More


<asciinema-player> HTML5 element Published on 02 Oct 2016 by Marcin Kulik

We have just released asciinema web player v2.3.0. Since v2.0.0 there were two smaller releases bringing lots of improvements (see the CHANGELOG), but this one definitely deserves a post of its own.

This new version makes self-hosting of the player even simpler. Let’s see an example.

Read More


1.3 aka "And Now for Something Completely Different" Published on 13 Jul 2016 by Marcin Kulik

I’m very happy to announce the release of asciinema 1.3, which is kind of a special release. It brings several bug fixes and improvements for end users, and at the same time it makes life of asciinema developers (mostly me) and package maintainers (many people!) way easier.

See CHANGELOG for a detailed list of changes, continue reading for motivation on transitioning back to Python.

Read More


Self-hosting Published on 06 Jan 2016 by Marcin Kulik

I’m very happy to announce version 2.0 of the asciinema web player. There are several exciting aspects of this release so let’s get straight to the point.

First, the new player directly supports asciicast v1 format. In other words, there is no need to pre-process the recording upfront, before passing it to the player. This is possible thanks to built-in terminal emulator based on Paul Williams’ parser for ANSI-compatible video terminals. It covers only the display part of the emulation, as this is what the player is all about (input is handled by your terminal+shell at the time of recording anyway). Handling of escape sequences is fully compatible with most modern terminal emulators like xterm, Gnome Terminal, iTerm, mosh etc.

Read More


Private asciicasts Published on 11 May 2015 by Marcin Kulik

The core idea behind asciinema.org is to allow anyone to share the recording of their terminal session by simply sharing a link to your asciicast page. Since the inception of asciinema all recordings has been public. We wanted to encourage you to share your knowledge, show off your tricks, and allow others to learn from it.

Read More


New ways of asciicast embedding Published on 31 Mar 2015 by Marcin Kulik

Support for embedding asciicasts just got way more awesome. See embedding docs for details, read on for examples.

Read More


1.0 Published on 13 Mar 2015 by Marcin Kulik

I’m very happy to announce the release of asciinema 1.0, which brings many long-awaited features and settles the ground for even more awesome features and improvements coming in the future.

See CHANGELOG for a detailed list of changes, continue reading for highlights of this important release.

Read More


asciinema switching to Mozilla Persona for login Published on 24 Oct 2013 by Marcin Kulik

So far you could log in to asciinema using your Github or Twitter account via OAuth. The idea behind this was twofold:

Passwords are insecure, inconvenient and annoying. Inconvenience of passwords was nicely summed up by Xavier in his tweet saying “password reset is the new login”. So the OAuth flow, being very simple for the user (given he/she is already logged in at the provider), helped achieving the initial goals.

Read More