A personal blog about Emacs and functional programming.

Hello, I’m Sebastian Wiesner, software developer by occupation and by passion. You can find my open source work on Github, read my answers on Stack Overflow and follow me on Twitter.

I write Scala for a living and a couple of other languages for fun and a better world—mostly Haskell and Rust. I used to write Python for almost a decade, and created Windows GUI applications with WPF and C#. I’ve also done a bit of OCaml, and occasionally work on iOS Apps with Swift. I use Spacemacs for most of this, and maintain a couple of Emacs packages, most notably Flycheck.


I write infrequently, mostly about Emacs and functional programming. These are my latest posts (Atom feed):

  1. January 26, 2016 Jan 26, 16 Why Spacemacs?

    Why I think that Spacemacs is awesome, and why abandoned my elaborate hand-crafted Emacs configuration and am a happy Spacemacs user.

    Read more…

  2. December 23, 2015 Dec 23, 15 Emacs Spotlight: Typographic Editing Modes

    In this post I’ll introduce you to two modes that bring some typographic editing features to Emacs: Typo Mode and Tildify Mode. These modes help you use typographic quotes, punctuation and spaces.

    Read more…

  3. November 29, 2015 Nov 29, 15 Reproduce bugs in emacs -Q

    Please reproduce this issue in emacs -Q.

    This is a sentence you will often read when you report bugs in Emacs packages; it’s usually a quick reply from a developer and goes with no further explanation or even the slightest clue on what you’re actually supposed to do. If you ever found yourself in that situation then this post is for you: I’ll explain what it means to “reproduce a bug in emacs -Q”, how to do that properly, and why developers ask you for this.

    Read more…

  4. August 16, 2015 Aug 16, 15 Emacs Spotlight: Emojis in Emacs

    I’ve recently found the best Emacs package ever: company-emoji. It’s a Company source for Emoji input 😍.

    Read more…

  5. April 29, 2015 Apr 29, 15 Emacs Spotlight: Configure buffer display

    I guess every Emacs user knows this particular phenomenon: Windows constantly pop up at almost, but not quite, entirely undesired places. It is a surprisingly hard challenge to make Emacs display buffers in a sane way. Packages like winner and pop-win tell stories about the pain of generations of Emacs users. Well, it used to be a hard, but now it became much easier in Emacs 24.1 with the new display-buffer-alist option.

    Read more…

  6. January 20, 2015 Jan 20, 15 Why package.el?

    Today, an Emacs user on Reddit asked how to organise their Emacs extensions, specifically whether to use package.el or a “home-made” solution. This post answers that question. It’s essentially a copy of a Reddit comment of mine from about a year ago.

    Read more…

  7. January 6, 2015 Jan 06, 15 My Emacs Configuration with use-package

    In the past I used to keep my Emacs configuration completely in a single init.el file. For a long time this worked quite well, but of late my configuration became increasingly messy: Package configuration was mixed with utility functions, key bindings, and even larger code for entirely new features. Needless to say that my init file was in dire need of a very thorough cleanup.

    I had heard a lot of good things about John Wiegley’s use-package macro, and in the days after Christmas I decided to sit down and try to refactor my Emacs configuration with use-package. The result was very pleasant, and much better than I had dared to hope.

    Read more…

  8. December 23, 2014 Dec 23, 14 My Christmas present for fellow Emacs users: Flycheck 0.22

    With Christmas almost here, it’s time for me to present my gift to you, my fellow Emacs users: A brand new shiny release of Flycheck, now at version 0.22. At the surface little has changed, but under the hood Flycheck made a big step towards a 1.0 release, and provides even more features to write your own syntax checkers.

    The release announcement and the changelog have all the details, but in this post I’d like to give you a short idea of what I think are the most important features of this new release.

    Read more…

  9. December 23, 2014 Dec 23, 14 Emacs Spotlight: Bug Reference Mode

    There’s not a day in which I don’t find a new gem for Emacs. Today it’s the built-in bug-reference-mode. This fancy little thing turns issue references in text into clickable buttons that browse the corresponding issue in a bug tracker. I discovered it via the bug-reference-github package, which automatically configures the mode for files in Github repositories.

    Read more…

  10. December 3, 2014 Dec 03, 14 Generic syntax checkers in Flycheck

    In two years of maintaining Flycheck I received many wishes and feature requests. I implemented many, discarded some, but I never came around to add the most requested feature and fix the oldest issue still open: Check a buffer with an arbitrary Emacs Lisp function.

    Now, after more than one year of waiting, this feature is finally there: Flycheck now supports “generic syntax checkers”, which call synchronous or asynchronous Emacs Lisp functions instead of invoking external commands. They are “generic” because they are essentially a superset of normal syntax checkers: In fact, regular syntax checkers are now called “command syntax checkers” and implemented on top of this new feature, as a specific kind of generic checkers.

    Read more…