Friday, October 31, 2014

Elpy 1.6.0 released

I just released version 1.6.0 of Elpy, the Emacs Python Development Environment. This is a feature release.

Elpy is an Emacs package to bring powerful Python editing to Emacs. It combines a number of other packages, both written in Emacs Lisp as well as Python.

Quick Installation

Evaluate this:

(require 'package)
(add-to-list 'package-archives
             '("elpy" .
               "http://jorgenschaefer.github.io/packages/"))

Then run M-x package-install RET elpy RET.

Finally, run the following (and add them to your .emacs):

(package-initialize)
(elpy-enable)

Changes in 1.6.0

Sunday, October 26, 2014

The Paradox of Freedom of Speech

Freedom of speech needs to be restricted to protect freedom of speech.

This apparent paradoxical statement is well-founded in philosophy, but it is the cause of much confusion in online debates. Quite regularly, any kind of moderation activity in comment sections or other discussion spaces is likened to censorship, with the argument that the basic human right of freedom of speech needs to be protected.

While it is possible to silence all dissent using moderation, most of the time when freedom of speech is invoked, it is done in the misguided assumption that ultimate freedom is the goal.

It can not be.

Sunday, September 21, 2014

Programming Research I Would Like to See

When discussing programming and programming language research with others, I often feel that topics of research that would benefit my daily work the most are missing. The following is a quick overview of topics I think need more looking into.

Friday, August 22, 2014

Circe 1.4 released

I just released version 1.4 of Circe, a Client for IRC in Emacs.

The package is available from github and MELPA unstable, even though the latter will track further development changes, so use at your own risk.

Due to the sorry state of Emacs Lisp package archives, I am currently unable to do an actual release of Circe.

Sunday, August 10, 2014

Elpy 1.5.1 released

I just released version 1.5.1 of Elpy, the Emacs Python Development Environment. This is a bug fix release.

Elpy is an Emacs package to bring powerful Python editing to Emacs. It combines a number of other packages, both written in Emacs Lisp as well as Python.

Quick Installation

Evaluate this:

(require 'package)
(add-to-list 'package-archives
             '("elpy" .
               "http://jorgenschaefer.github.io/packages/"))

Then run M-x package-install RET elpy RET.

Finally, run the following (and add them to your .emacs):

(package-initialize)
(elpy-enable)

Changes in 1.5.1

Saturday, August 2, 2014

Elpy 1.5.0 released

I just released version 1.5.0 of Elpy, the Emacs Python Development Environment. This is a major feature release.

Elpy is an Emacs package to bring powerful Python editing to Emacs. It combines a number of other packages, both written in Emacs Lisp as well as Python.

Quick Installation

Evaluate this:

(require 'package)
(add-to-list 'package-archives
             '("elpy" .
               "http://jorgenschaefer.github.io/packages/"))

Then run M-x package-install RET elpy RET.

Finally, run the following (and add them to your .emacs):

(package-initialize)
(elpy-enable)

Changes in 1.5.0

Sunday, July 13, 2014

Why systemd?

This blog post is based on a talk I gave on 2014-05-21.

For a few years now, GNU/Linux distributions have been migrating away from SysV init and towards a plethora of different new init systems. For users who have been happy with SysV init, this can come as a surprise. SysV init simply works, why are so many distributions moving away?

In this blog post, I will try to explain what the problems of SysV init are, and also what solutions systemd offers for them.

I would like to note that I am not a big fan of systemd. I see it as a tool that is now widely used, nothing more.

Friday, June 13, 2014

The Sorry State of Emacs Lisp Package Archives

GNU Emacs 24 (released in June 2012) introduced official support for packages, that is, a way of installing extensions from a remote repository. This was a huge step forward for Emacs, as it not only allowed users to easily find and install extensions, but it also made it possible for extensions to build upon other extensions without having to tell the user “great you want to install this, just install this extensions and those five other ones, too.” It used to be that many extensions each re-implemented common functionality just to get around this problem. Now, we have a number of general-purpose libraries.

Two years into the age of packages, there are three (four) major package archives available, but they all have some serious problems, making none of them even remotely as useful as, say, Python’s PyPI.

Tuesday, May 27, 2014

Race conditions in Emacs' process filter functions

Race conditions are always fun. They are particularly surprising when they happen in a single-threaded program like Emacs. I just ran into this problem for the second time.

Friday, May 23, 2014

Elpy 1.4.1 Released

I just released version 1.4.1 of Elpy, the Emacs Python Development Environment. This is a bugfix release.

Elpy is an Emacs package to bring powerful Python editing to Emacs. It combines a number of other packages, both written in Emacs Lisp as well as Python.

Quick Installation

Evaluate this:

(require 'package)
(add-to-list 'package-archives
             '("elpy" .
               "http://jorgenschaefer.github.io/packages/"))

Then run M-x package-install RET elpy RET.

Finally, run the following (and add them to your .emacs):

(package-initialize)
(elpy-enable)

Changes in 1.4.1

Friday, May 9, 2014

Devops, Cloud & Co.

Current Trends in Software Development and System Operations

Based on a talk I gave on November the 6th 2013.

The world of software development and system operations is changing drastically. While software used to be a product that is finished and delivered to a customer, it is now as often as not a continuous service provided to a customer. This concept of Software as a Service affects how developers and operators work.

Thursday, May 1, 2014

Elpy 1.4.0 Released

I just released version 1.4.0 of Elpy, the Emacs Python Development Environment.

Elpy is an Emacs package to bring powerful Python editing to Emacs. It combines a number of other packages, both written in Emacs Lisp as well as Python.

Quick Installation

Evaluate this:

(require 'package)
(add-to-list 'package-archives
             '("elpy" .
               "http://jorgenschaefer.github.io/packages/"))

Then run M-x package-install RET elpy RET.

Finally, run the following (and add them to your .emacs):

(package-initialize)
(elpy-enable)

Changes in 1.4.0

Saturday, April 26, 2014

The AngularJS Module System

When learning AngularJS, one of the biggest stumbling blocks was the large amount of new concepts thrown at me. It took a while to realize that half of these concepts had nothing to do with building single-page apps, or indeed websites, but rather was a system to work around a few deficiencies of JavaScript.

This set of features is what I’d call the AngularJS Module System, mainly because they’re centered around what AngularJS calls module. But AngularJS modules are not completely equivalent to modules in other languages.

This blog post assumes you have some knowledge of programming languages in general. It’s not a beginner’s introduction to JavaScript or AngularJS.

Sunday, March 16, 2014

Elpy moves to its own ELPA

Due to a long-standing bug in the Marmalade software, I was unable to upload the 1.3.0 release of Elpy to that repository in the last two weeks. For a discussion of this problem, see issue #196. To solve this problem, I have created a package archive specific to Elpy with the required packages that are not on GNU ELPA. To use this archive, add the following to your .emacs:

(require 'package)                                                              
(add-to-list 'package-archives                                                  
             '("elpy" . "http://jorgenschaefer.github.io/packages/"))

This is intended as a temporary solution, but I am not sure when I have the time to work on a longer-term one. I am sorry for the inconvenience in the last weeks.

Thursday, February 13, 2014

Elpy 1.3.0 Released

I just released version 1.3.0 of Elpy, the Emacs Python Development Environment.

Elpy is an Emacs package to bring powerful Python editing to Emacs. It combines a number of other packages, both written in Emacs Lisp as well as Python.

Quick Installation

Evaluate this:

(require 'package)
(add-to-list 'package-archives
             '("marmalade" .
               "http://marmalade-repo.org/packages/"))

Then run M-x package-install RET elpy RET.

Finally, run the following (and add them to your .emacs):

(package-initialize)
(elpy-enable)

Changes in 1.3.0