Gunnar Wolf: Writing limits blues v2
Some years ago, I faced a 900 word limit for the first time. My question to the editor: Can I write the column in German?
Some years ago, I faced a 900 word limit for the first time. My question to the editor: Can I write the column in German?
WordPress currently has an annoying bug where you cannot add images easily using the in-built editor. Instead of a pop-up being shown with the image setting details, you are sent to another page. Once you choose the image size etc, you go to a blank page. Until that s fixed, there is a work-around. It s not exactly pretty but it does work. I have assumed you have uploaded your images to the media library first.
First, type up what you want your blog entry to say. The save it as a draft which is the button in the blue circle in the screenshot. Then click the add image icon which will bring up the warning to go to the image selection page. This page should be a pop up on the same screen but is not (and is the bug).
On the image selection page choose Image library which is the blue circle and edit the meta-data such as the name caption etc. Once you are happy with your decisions, click the Insert into Post button (red circle) which goes to a blank screen.
The blank screen actually does have data in it. You will need to view source which will show something like:
<script type="text/javascript"><!--mce:0--></script>
<a rel="attachment wp-att-367" href="http://enc.com.au/2011/03/getting-around-the-wordpress-add-image-bug/tomatoes2/"><img class="alignright size-medium wp-image-367" title="tomatoes2" src="http://enc.com.au/wp-content/uploads/2011/03/tomatoes2-300x230.jpg" alt="" width="300" height="230" /></a>
I have been working on gjay to add support for Music Player Daemon where I had what initially looked like a strange problem. When WITH_MPDCLIENT was defined, the program would crash in all sorts of wierd places when the main program structure had this:
#ifdef WITH_MPDCLIENT struct mpd_connection *mpdclient_connection; #endif /* WITH_MPDCLIENT */
struct mpd_connection *mpdclient_connection; #ifdef WITH_MPDCLIENT #endif /* WITH_MPDCLIENT */
It seems that once again, the squirrel has it right:-
<iframe allowfullscreen="allowfullscreen" frameborder="0" height="390" src="http://www.youtube.com/embed/5_mZrUkzabk" title="YouTube video player" width="480"></iframe>
For those of you reading this via a planet, or similar, please click on the title of this post to see the video I ve embedded above. (Please note, may contain language that offends some)
I recently deployed my node.js proxy server, removing all traces of Apache2 from my main server. During the course of this transition I discovered:
cd node-v0.4.3/ ./configure --without-ssl --prefix=/opt/node-0.4.3 && make && make install ln -fs /opt/node-0.4.3 /opt/node
wget http://www.acme.com/software/thttpd/But this fails:
wget http://www.acme.com//software/thttpd/Previously it seems that Apache was (silently) fixing this up before it proxied requests. Now I have to do it myself, no big thing, but still a surprise.
dpkg --purge libapache2-mod-rpaf \
apache2.2-common \
apache2.2-bin \
apache2-utils \
apache2-mpm-prefork \
apache2 \
libaprutil1-dbd-sqlite3 \
libaprutil1-ldap \
libaprutil1 \
libapr1
ObQuote: "Bad news. The fog's getting thicker." - Airplane!
I've just made a couple of software releases:
--trace option.--lru-size reduced to 500, for great improvement
in memory used, without, it seems, much decrease in speed.obnam verify now reports success explicitly. Based on question
from Joey Hess.obnam verify now accepts both non-option arguments and the --root
option. Suggested by Joey Hess.obnam forget now accepts "generation specifiers", not just numeric
generation ids. This means that obnam forget latest works.obnam force-lock introduced, to allow breaking a lock left behind
if obnam crashes. But it never does, of course. (Well, except if there's
a bug, like when a file changes at the wrong moment.)obnam genids introduced, to list generation ids without any other data.
The old command obnam generations still works, and lists other info
about each generation as well, but that's sometimes bad for scripting.--dump-memory-profile option now accepts the value simple, for
reporting basic memory use. It has such a small impact that it's the
default.
I have been working in the last weeks in the removal of the last pieces of KDE 3 from the Debian archive and I have found there are a lot of packages that is sad having to remove.
If you are looking for a good idea/excuse to learn and improve your KDE 4 / C++ /Qt4 skills, have to do a small application for school or you just feel like some useful coding, here is the list:
This weekend we did run a booth at Chemnitzer Linuxtage. As always, it was a joy to be at this event. We had great discussions and talks with guests and exhibitors, I also enjoyed a small number of lectures. The booth did run well, beside some quirks. Some pictures can be found here.
Projects I've been working on
are, if not bearing fruit, at least showing promise.
git-annex is growing up a nice community that nags me about
things like Mac OSX and FAT filesystem support. It's great to have their
feedback, it's been leading to fast improvement, even though I've only
gotten two patches to my haskell code. :)
New users are finding Branchable
despite us not knowing how to market it. Sometimes a new site springs up
overnight fully formed, having been developed on a laptop and git
pushed to us. I get a vicarious thrill over whatever our users are
doing, be it driving to Mongolia or
watering plants with arduino.
Now that I sent an update about my running activities, I have to
report about what I'm doing these weeks in Debian to try keeping a
fair balance for those of you who read this blog through Planet Debian.
Most January was spent in preparing the release of squeeze. Of course,
I didn't work directly on the release, not being involved in the
release team. However, last bits of preparation for Debian Installer
as well as rushing out the last remaining bits of localization work
took most of my time.
After the release of squeeze, time came to resume back some
activities.
First of all, on the l10n front, I resumed the work on "l10n NMUs",
trying to get old
l10n bugs fixed. I restarted proposing NMUs or, more precisely,
help to perform translation updates rounds to these maintainers. Most
of them had "old" l10n bugs because of the freeze. So, I indeed did
not end up in doing many NMUs...but got several l10n bugs closed
anyway.
Work being resumed in unstable also lead to many changes in packages'
debconf templates (new packages using debconf, packages introducing
new templates, etc.). As these are the trigger for Smith
reviews (reviews of English in debconf templates and packages'
description, this activity, which was very low during the freeze,
resumed again (we'll soon celebrate the 4th anniversary of this
project).
I also decided to invest more time in D-I again. The D-I team is
currently more active than it was last years. Thanks to a few
individual, work resumed in some areas and bug triaging has been
very active. I recently resyned a nice improvement which had been
contributed by a user to iso-scan, then polished by Frans Pop. This
will allow to choose among several different ISO images when
installing Debian from a USB stick while, previously, only the first
found was being used.
I also worked with a new translator, to prepare the activation of
Uyghur translation in D-I.
Some work happend in the pkg-fonts team. I had a few fonts adopted by
the team, as part of the general effort to get rid of defoma. I sent
patches for a few others, but many remain. If you maintain font
packages, please help us in getting rid of defoma. Changes are easy to
do; ask the team if you need help (pkg-fonts-devel@lists.alioth.debian.org).
Samba packages also ate a significant part of my time. First of all,
DSA-2175
lead to prepare fixes for samba in squeeze and lenny. Then, upstream
released samba 3.5.8 which I uploaded to unstable. I briefly
considered trying to get the Stable Release managers approval to push
that version in squeeze, but the number of fixes made by upstream was
discouraging. So, I chose to examine them slowly and cherry-pick those
I consider important enough to warrant an upload for squeeze. More git
wizardry learned doing so (thanks to Julien Cristau for his help). And
I now have a pending proposal for three of these fixes (that represent
14 atomic patches from upstream) to be included in squeeze.
The first two months of this year have seen me quite busy preparing
for my March-April peak of activity. So, most of these were spent
accumulating kilometers, mostly on trail runs with mud, slope,
obstacles, etc.
I posted a brief snippet of code on Friday which was my initial stab at a reverse HTTP proxy in Javascript (using node.js).
Over the past couple of days I've tidied it up, added a command line parser, and made it flexible enough that it works for me.
My node reverse HTTP proxy is now both documented ( a little ) and available for further eyeballs.
Usage is pretty much:
$ node ./node-reverse-proxy.js --config ./path/to/config.file.jsThe configuration file defines lists of virtual hosts along with the destination back-ends to proxy to - which is usually going to be a server running upon a high port on the loopback adapter, but might not be. In addition to that we can perform rewrites such as:
/**
* Handler for wildcard host: *.repository.steve.org.uk
*
*/
'([^.]*).repository.steve.org.uk':
/**
* Rewrites for static files - these will be handled via a
* separate virtual host.
*/
'rules':
'^/robots.txt': 'http://repository.steve.org.uk/robots.txt',
'^/favicon.ico': 'http://repository.steve.org.uk/favicon.ico',
,
,
That says requests for http://chronicle.repository.steve.org.uk/robots.txt will be redirected to http://repository.steve.org.uk/robots.txt.
Alternatively we can invoke javascript for each request matching a pattern:</p.> /**
* static.steve.org.uk will mostly proxy to 127.0.0.1:1008
* but files beneath /private/ have an IP-based ACL.
*/
'static.steve.org.uk':
host: 'localhost',
port: '1008',
'functions':
'/private': (function(orig_host, vhost,req,res)
var remote = req.connection.remoteAddress;;
if ( ( remote != "80.68.85.46" ) &&
( remote != "82.41.51.252" ) &&
( remote != "89.16.161.34") &&
( remote != "89.16.161.98" ) )
res.writeHead(403);
res.write( "Denied access to " + req.url + " from " + remote );
res.end();
),
,
Fun stuff. It was live for my server, replacing apache, for a few hours today. I need to add some trivial HTTP Basic-Auth handling then it will go back.
Otherwise I hope it is vaguely useful to others, and that the provided examples explain things neatly.
ObQuote: "Only one thing alive with less than four legs can hear this frequency" - Superman.
AltOS 0.9.2 Minor update to ground station software
Bdale and I are pleased to announce the release of
AltOS version 0.9.2.
AltOS is the core of the software
for all of the Altus Metrum products. It
consists of cc1111-based microcontroller firmware and Java-based
ground station software.
AltosUI Just a few bug fixes
AltOS version 0.9.2 is a minor release with just a couple of fixes:
Will drive to Chemnitz
now. Maybe meet me there. No booth, just visiting to meet everyone
again, rather spontaneous.
Quite probably, the best thing got for myself during the last year was my Kindle. I just love it! It has changed the way I interact with knowledge, and saved me from hours of boredom.
But it has also taught me the value of scribbling along the book pages and of underlining passages. Yes, I hold a deep regard for my regular (paper) books, and I never scribble on them, not even on text books. In any case, I can scribble on a post-it or something like that.
Still, when you underline or comment on a passage in the Kindle, what can you do with your annotation? Well, not much. Annotations (called clippings in Kindlespeak) are stored on an easily accessible My Clippings.txt text file, very easy to parse and work with.
So, I devoted yesterday evening to coming up with a first prototype of an app that I think can be very useful if you use clippings extensively: It displays each clipping with its base information separately, allows you to filter on the specific book to which each clipping is related as well as on the clipping type.
So, if it interests you, clone it away from github!
git://github.com/gwolf/kindleclip.gitWritten in Ruby, Gtk (Glade). No further libraries are (currently?) needed. The code is far from beautiful, but is a first stab towards functionality. Any comments welcome!
Okay, so what is Debian CUT?
The idea stretches back more then 2 years, to Joey Hess proposing the idea of Constantly Usable Testing . For users/developers who can t wait ~2 years to see new Debian release, they usually turn to Debian testing branch. To clarify, testing images are released weekly, but most of us in Debian don t recommend you jump to testing by installing it from weekly image, but rather by upgrading from stable. To make the situation even worse, these builds frequently don t work due to all the changes that have been pushed from unstable.
But this is where Constantly Usable Testing idea comes in, where the installer is always installable and you re already using what s going to be next stable release. You wouldn t have to worry about whether the next update is going to break your system, but would get regular security updates, while the big updates would come in shape of new testing snapshot versions. Frequency of release of these snapshots is ought to be on monthly basis, so you can plan on seeing the next release on April 6th (exactly one month after the current release, provided of course if there are no showstopper bugs).
To sum it all up, you wouldn t have to wait ~2 years before new Stable release shows up, nor (in case you have already switched to testing) would you have to worry whether your next update will break your system. You would get your updates in form of timely (ie: monthly) snapshots until it s time for major milestone which would turn out to be new Debian release. Even though this might be long term goal, in these early stages no one can guarantees this.
Rolling release?
The simplest way to explain this concept is that there are two types of Linux distributions: one with milestone version numbers and other where new updates keep coming through their rolling release cycles. Some of the rolling distributions are Gentoo and Arch Linux, while on the other side you have RedHat and Suse. Novell announced that OpenSuse is moving to rolling release with project codename Tumbleweed. It s also worth mentioning that Debian already has its rolling counters and perfect examples are: LMDE and aptosid.
It is a way to continuously develop software, a way that best fits Debian as a platform where software is continuously developed. Especially because most of its greatest values could get lost with the release of that big stable version . Perfect case of that could be the almost drop of Chromium in Squeeze.
Another great example could be Android, which is criticised most for its versioning. Companies are refusing to release new Android versions to their current phones, because they want you to buy new phone with latest Android version, even though your current one is perfectly capable of running latest Android.
Personally, I m sure the future will reveal that rolling releases are the future, towards which all Linux platforms should be heading. Perhaps the definition of rolling releases I gave earlier is why I believe this project has such bright future ahead of it. Debian would be somewhat of a hybrid of this definition, it would be rolling release until it s time to mark a big milestone with a version number, and before you know it, we re rolling again.
Unofficial Debian Monthly Testing Snapshot Release (version 2011.03 final)
Michael Gilbert took on a big responsibility, trying experimentally to prove the feasibility of such a project. He has released a first wheezy snapshot installer (versioned 2011.03) as a test for the development community to try out and evaluate. Please read official announcement along with download links. While you can use this snapshot to have constantly working installer, after it is installed you could move to testing altogether if you wish.
Conclusion
As I have already mentioned, this project is still in the development/experimental stage, which makes all of this its very conception. Also, apart from rumors of Ubuntu becoming rolling release, if Ubuntu is to get its rolling release this how it s going to get it
If you d like to find out more about Debian CUT, I suggest you read Raphael Hertzog s article A constantly usable testing distribution for Debian , and watch the video of Joey Hess CUT BoF on DebConf10 in NYC.
Of course, if you d like to get involved into this project, please use the project s mailing list. If you have any comments, please do share, as I d be happy to answer any of your questions.
Next.