Welcome, this site distributes patches for
This effort started in October 1999 when I was a student at the Mathematics Department in the University of Washington. The first patch
was the one that helped me write foreign
characters in an email message. I did not actually did this for me, I did
it for some visitors to the Mathematics Department from Finland. I actually
wrote the patch because I had a sending filter in Pine, which allowed me to
write a message as one wrote Latex, but since the filter had some bugs, and I
could not see the output before it was sent, I had to do the Latex-style
input before the message was sent.
After I released my first patch, a few more followed. I added patches at
a rate of one per week for about a month. Maintenance was not very hard,
since Pine evolved very slowly, and this gave me time to fix bugs and release
updated versions. Eventually, two of them followed: fillpara and rules. The former was requested by a
computing support person in the Department, while the later was a request
from too many people and myself.
Originally, I submitted my first patch to the Pine team, but their
lack of interest in it (no reply) made me realize that I should not be
writing patches for Pine for later inclusion, but write them for those
that would be interested in them, and so Patches for Pine became a project
by itself, independent of upstream. Since my intention was to help others
do more with Pine, this project had enough justification to continue;
after all, that is how it started in the first place. In general, I would
say that I write patches based on needs that I perceive exist in the
Alpine comunity, as well as personal interest.
Eventually, as the site grew, I realized how difficult it was to do some
basic operations, such as updating the site between releases of Pine, or
integrating them into one big patch (all.patch), so this required me to script
this part of the process, and I wrote scripts (and later a C-program, for
speed) to do this. I eventually ended up creating more scripts that add text
to the release notes, and create each of the web pages in this site, and
all.patch (including overcoming failures in patching). Eventually this made a
huge difference into how I maintain this site, since there was no difference
between maintaining a page with 10 or 60 patches. The solutions I had created
scaled nicely, and now it made it easy to concentrate only on writing
I started embracing new technologies, and eventually added a feed for my web site; in it I announced that
this web site would be discontinued since the Mathematics Department had
announced my account would be closed. By a mistake of one of the readers of
the site, the announcement made it all the way to slashdot.
Many people contacted me as a result, offering to host the site. One of the
people that decided to help came from Computing and Communications at the
University of Washington.
At the end of 2006, this site moved to be hosted by Computing and
Communications at the University of Washington (UW), where it was hosted
free of charge until April 2011. Here happened the transition from Pine to
Alpine. This was possible through a remote shell account with a quota of
1GB that gave me direct access to the web server.
One of the problems that I had using a remote shell was that the version
of the autotools that Alpine required to create makefiles and such was
not available in the machine I was using. This required me to install them
and use part of my available quota to be able to build Alpine.
Unfortunately, it was not possible to install them using a --prefix
option, but I eventually found that I could set environment variables
during the compilation of these tools so that they could find each other,
and so just figuring out this fact took time, and ended what was a
painful process. I did not install the full suite of autotools, but only what was
required for compilation, due to my limited quota and the difficulty
involved in this process. For example, I did not install autoreconf,
because I did not have a need for that to build Alpine, and I did not have
the need to modify the configure script either. As a result of this, I had
reduced my quota just to be able to write patches for Alpine. Fortunately,
I had to do this only once!
Eventually, we all received the bad news that Alpine would be
discontinued, and later I received the bad news that my site would be
discontinued; again I had to find a new host. In between these two events,
re-alpine was born. I joined that project, and used the resources at UW to
develop it. This reduced more the resources that I had to do development.
I added a few contributions to re-alpine, but then it was decided
(without consultation) to change the build system in the snapshot, which
made it impossible for me to build re-alpine, since I did not have the
full suite of tools to reconstruct re-alpine (and hence test my
contributions). I sent
a message on August 4, 2009 to warn about this, but the message went
unanswered. The next day I sent
another message to try to make others notice that the change was
causing me trouble. After three days of not being able to convince the
other developers that this was a problem, I decided to leave the re-alpine
project, since I would not be able to develop it given my current
constrains. At this time I am not involved with the re-alpine project, nor
plan to be involved again on it.
After the hosting of this site was concluded at UW, I had to find a new
place to host my patches. I spent a lot of time trying to find the right
place. I had to do a lot of research, particularly reading the agreement
statements. I found many places that would require me to give the
copyright of my contributions away to them, or that did not give me enough
flexibility as to how I would control each page in the site (e.g the look of
the page). Therefore, after "Patches for Alpine" was closed at UW
it was not hosted by anyone else for about a month.
At the beginning of 2013 my efforts shifted. I am still writing patches,
but the goal is to incorporate them in new versions of Alpine, which I started
to maintain myself. Unfortunately, re-alpine was not moving forward, and its
last release in December 2012 (version 2.03) had removed code only. Because
there was not progress, I gathered many of my patches and released version 2.10 in January 2013.
Seven months later, version 2.11 was released.
Follow the links on the left to get patches for Pine and/or Alpine.