Linux and viruses

The comforting "noone will ever bother writing Linux viruses" folklore is still floating around the net, but judging from how much viruses have annoyed me in the last couple of months, one of the premises is now false.

There are two reasons explaining why Linux will never have a major virus problem usually given. The first is the heterogeneity of Linux programs, meaning that its hard to write a virus that Linux users can catch, the second the inability of an unprivileged user to successfully execute commands that do serious damage to their hardware or operating system, meaning that once caught, the virus can’t do anything serious anyway.

The former may hold in a grand World Domination scenario, although I suspect the demands of corporate user support would force a convergence on several, or perhaps one, standard corporate Linux desktop. At present however, it’s certainly the case that Linux run a wide variety of the most common applications exploited by virus writers — mail readers, browsers, office applications, and the result is that there aren’t many widely catchable Linux viruses around. It may also be the case that these systems trust user input less than the current MS Windows equivalents, but time may tell otherwise.

The latter, however, seems to be completely irrelevant in the modern virus-ridden world. As far as I can tell, at the moment most successful viruses do not carry particularly harmful payloads, or, if they do, the effect of the payload is incidental to the havoc that the virus creates. The real problem the viruses cause are overloading common resources (mail servers, usually) to the point where they become more or less useless. And since at present, the standard privileges of a Linux user account normally allows it to send and receive data over the Internet, if there was a widely catchable virus for Linux, normal users would have more than enough privileges to propagate the virus, and bring down mail servers and hubs without the virus needing to go near the root account.

Moreover, Linux user accounts also have all the privileges they need to contribute to the problem by generating secondary traffic via mail bounces whether they caught the virus in question or not. In fact, most virus bounces are generated by slightly out of data server software that is not yet aware that any up-to-the-minute virus forges its origin, but as a general principle, you no longer need to be infected to be part of the problem, you just need to trust mail headers a little too much.

So the old adages no longer apply so well. The Linux desktop remains relatively free of catchable viruses, but Linux systems are as vulnerable as any other to the immense abuse of common resources and standard protocols by modern virus writers. In other words, if I receive 500 viruses in a day, it’s not the threat of being infected that’s particularly annoying, it’s the receipt of the damn viruses.

Writing a good online diary

Assuming that you have good reasons for keeping an online diary, there are a few things you can do to improve your chances of making your diary readable. I’ll begin by stating the general principles, and then by reviewing a few breakable rules of thumb that, in my experience, are good indicators of an interesting diary.

The general principle of good writing is to determine your audience, and write for them. An online diarist will normally encounter some tension here — the diarists are often writing partly for themselves or their future selves, and the desire to record events that were important to them may conflict with the desire to record events in an interesting way. You will need to decide to what extent you are intending to resolve this tension in the audience’s favour.

It is the case, if I am part of your audience, that your choice of material is generally meaningless to me, and the use to which you put your material is everything, which is why most of these tips tend towards the stylistic.

Tell a story

Of the beginning, middle and end structure, online diarists struggle most with the ending, often because they don’t know it yet. The most successful stories are often trivial anecdotes. However, there may be an ongoing story that you don’t want to record only in hindsight. In this case, you will want to return to it periodically.

It is very very hard to make a story out of emotions you are still experiencing, unless you’re a brutally honest and particularly insightful person, so if you want to write a powerful emotional entry, you may be better off writing an entry that looks back a year or more.

Write long entries

A long diary entry gives you the chance to tell a story, rather than writing an instant message to your readership, and most good online diaries contain at least the odd long entry scattered in their archives.

Very few online diarists seem to be poets, and so generally very few short entries will not become the highlights of your diary.

Drama is the biggest online diary cliche

If your entry is an allusion to misery that only your three best friends in the world can comprehend, your entry will be boring. The high points of an online diary are very seldom the most dramatic entries, save in the case of diaries that resemble an emotional car crash. For the rest, you will need to hone your ability to make the prosaic interesting, because it is actually much easier to do that than to make secretive drama interesting.

Make your entries complete within themselves

Again, if your entry is full of allusions to events you cannot describe in full, and people you cannot say anything about, and feelings that you are unwilling to share, your entry will be boring. If you need to censor something that is crucial to understanding a story, you may as well censor the entire story. In other cases, tell the story in such a way that it is a complete anecdote, even if it is not totally uncensored. If your reader can tell that you’ve left part of the story out, your entry is not as good as it could be.

A subtle style will serve you well

A diary with a unique voice is often an interesting read. One of the easiest ways to achieve this is to let your spoken style influence your written style. It should be relatively sparing, but a touch of spoken mannerisms in a diary makes it more readable.

Why keep an online diary?

I think there are several bad reasons to keep an online diary, including using it as a poor substitute for a paper diary, using it to experiment with hyperlinking writing, or using it as a forum for your opinions. Each of these needs is better served by alternative forms. On the other hand, online diaries are maligned as being necessarily uninteresting due to their trivial nature. Trivial and uninteresting do not always go hand in hand, as diarists and letter writers have appreciated for hundreds of years.

The online diary is a format held in peculiar contempt, for several reasons. Most of those reasons are due to the usual meaning of ‘diary’ — that is, a more-or-less secret record of one’s life, written, presumably, for your satisfaction alone, and deriving much of its power from the fact that it has no readers, freeing the author both from the stylistic constraints of writing for an audience, and from the judgements of that audience.

The online diary format naturally loses much of that power. The disadvantages of the online diary format compared to the paper diary format include less honesty (or less sweeping honesty anyway), and much less privacy. It also leaves the author wide open to charges of narcissism, since they are writing about themself for an audience of other people.

So, let’s free the online diary from those constraints. You do not keep an online diary for the same reasons you keep a paper diary. The disadvantages include a lack of complete honesty and privacy. If you want to write with complete honesty and privacy you should keep a paper diary or correspond in private with trusted friends who will destroy your missives rather than hand them to anyone else.

I also suggest that you do not keep an online diary in order to experiment with stylised writing, because you’re likely to attract the wrong audience. Audiences seeking experimental writing styles don’t expect to find it in online diaries, and audiences reading online diaries don’t expect highly stylised writing, or content that deviates radically from the normally online diary content (that is, a person’s record of their life).

Most of the good stylised writing I’ve seen on the Web has been noticably free from the constraints of chronology. Online diaries are tied to a date based format, and people who are interested in telling stories or linking ideas together would be better off with a more integrated site, all of which is an ongoing work. I consider gruntle, raze, and the Jargon File to be excellent examples of the power that loosely organised, heavily hyperlinked sites offer to writers interested in experimenting with style and content that doesn’t fit in a chronological format. If you want to tell stories, I highly recommend this form over the online diary format.

If you’re interested in writing opinion pieces, rather than snippets of your daily life, I suggest you consider blogging, rather than keeping an online diary. Blogging and online diaries are both presently primarily chronological formats, and there is a gray area between them, since people use the same tools for both. The primary distinction between the stereotypical blog and the stereotypical online diary is the amount of linking in the former. Blogs link to websites, link to each other, comment on each other, discuss each other, discuss links, and discuss ideas. If you’re interested in taking part in intellectual crossfire, the blogging tools and communities will be much more satisfying than the online diary format.

Where experimental sites link internally, and blogs link externally, online diaries are largely hyperlink-free. The form requires authors to relate chosen aspects of their life on a loosely chronological basis. They attract readers who like to follow simple story lines, who like to feel involved in the lives of others. As often as not, the readership is made up of people who know the author and people who would like to.

So, what are good reasons to keep an online diary? If you need pre-digital examples of online diary-like writing, consider letter writing one hundred years or more ago. Letters of this time were often gossipy, personal, entertaining, bitchy and informative. In retrospect, some of the writing in informal letters is not only historically interesting, but very very good. So, if you think that one hundred years ago you would have liked to sit in your drawing room and write to your sister in the next town about your housekeeping, giving interest to the mundanities of your life, then online diary writing is probably a format you would enjoy.

Battle of the Pizzas, preliminary round

Battle of the Pizzas, preliminary round

In the spirit of the original Free Your Pizza these are the toppings that did battle tonight:

Pizza #1, in the red corner: spanish onion, sweet potato, lamb, fetta cheese; and

Pizza #2, in the “everything goes” corner: salami, capsicum (red and green), bacon, Rogan Josh lamb, mango chutney.

The base was controlled: both pizzas had a base made of white flour, with basil and carraway seeds (spiv‘s sister has determined that this adds Latvian flavour). Both pizzas were topped with grated cheese and cooked in a pan brushed with olive oil.

Notes: carraway seeds and basil are both a bit strong for a pizza base. Use wholemeal flour next time. Also, I always put too little flour in dough.

Life

I call it “university”.

I’m trying to divide my project into small enough bits that I can procrastinate and still be working on my project!

Code

Poked at Woven last night, and it looked like a cool and efficient way to pump content out cleanly in the minimum lines of code. Pity my host doesn’t run Twisted Web (word up to the Northern Hemisphere: hosting at home is not economic in .au). So all I need to do is coerce it to write out static pages…

Automating your advogato posts; Life

Automating your advogato posts

… or “jdub has done it, so should you”…

hereticmessiah and others: use cmiller‘s advodiary script to help you automate advogato postings.

I don’t have any content anywhere else to source advogato entries from (no .plan, no log, my other diary is somewhat baroque and quite non-advogato) or I would also jump on this bandwagon.

Life

Silently dropped off a bunch of mailing lists for the duration of Crunch Time I (the Coursework Descends). I can’t even claim community involvement this month. I’m currently taking half an hour off between the two assignments that are due today.

Finis; Energy; Free Software

Finis

I graduated for the first time yesterday (B Science and B Arts). Graduation number two expected this time next year (B Science (Honours)). Honours thesis due Nov 11.

Energy

All my creative energies are being sucked into university work. In some ways it is good that academic work is requiring writing, editing and coding from me, but in other ways it is sad, since it leaves me drained.

Free Software

My involvement continues to be community based. Still on SLUG committee, still involved in LinuxChix, still running the (tiny) local Python Interest Group. My HOWTO Pay for Free Software is slowly improving and is near version 1.0.

I am so pleased that after years and years of waiting, my coding skills have reached the point where I feel confident reading and repairing other people’s code. This bodes well for Free Software development in the future, but I’m trying to keep a lid on avenues of prostratination this year. I have constant struggles with procrastination, motivation and guilt which I am trying desperately to resolve, and alas, I’ve decided that stepping back from the keyboard after hours is likely to be part of the solution.

How to be a non-annoying mailing list subscriber

I’m sure that this will spawn a "how to be a non-annoying…" series to rival "… considered harmful" essays. Next stop, "How to be a non-annoying user of public transport".

The basic principle of being a non-annoying mailing list subscriber is, you guessed, being low maintainence!

Don’t quote excessively.

Well, OK, this is just one of my pet hates. Successful quoting indicates you’ve read the mail you’re replying to. Good work.

Dont quote badly

There’s nothing worse than multiply quoted lines, half of which have over-flowed onto the next. Either get an editor that can successfully reformat quoted blocks without littering "> >" into the body of the quoted text, or don’t re-format them. There is no middle way.

Do not hold the list responsible for its silence

It doesn’t matter if someone was advocating eating the entrails of new born puppies on the list, something like 80% of subscribers will not have noticed. 95% if the person doing this was at the tail end of a flamewar, particularly if it’s in the middle of badly quoted yuck-mess.

Silence is not the same thing as consent. This is not a political arena where real decisions are made. This is a mailing list. Silence is the same thing as boredom.

Do not attempt to emotionally blackmail the list

It doesn’t work because they can’t see your puppy dog eyes.

Do not use grandiose names for yourself

People calling themself "Brain Trust" asking for help with their maths homework look stupid, not just momentarily homework-impaired.

Do not post threats to unsubscribe

Most subscribers will immediately take a position on the question of whether you should or should not unsubscribe, and it will be the former position.

Do not trust the mailing list

It is archived. There are thousands of silent subscribers, watching you with blank faces. Be afraid. Be very afraid.

Do not expect affection from the mailing list

Its subscribers do not love you. Generalisations are never ("never?" says the smart alec, never comes the reply) true, but this one is close.

Making friends on IRC

I’m finding myself getting a bit paranoid on IRC. Every time someone private messages me, or persistently questions me about why I keep logging off and logging back on, I find myself metaphorically looking at them through narrowed eyes.

I don’t like being private messaged by someone I don’t know very well for the same reason I don’t like getting into long email discussions with someone I don’t know very well — I’m forced into either an ongoing dialogue, or extreme impoliteness. As part of a public discussion in person, on a mailing list, or on IRC, I can slip away, cease to follow the discussion or let others pick up the slack if I want.

In a private discussion I’m called upon to invest extra energy that I may not want to expend. Insisting on extended private message with someone you don’t know well is a good way to make yourself look high maintainence before you look worthy of it.

Why blogs suck

I hate to step on people’s definitional toes, but if I’m going to talk about why [we]blogs sucks, I need to define them.

A blog is an evolving website, with distinct "entries". These entires are long or short, titled or not, and almost always have some kind of distinct URL so that you can link to them directly. Blogs often link to one another, but that doesn’t matter for my purposes.

The key feature of blogs that sucks is the way the entries are ordered: chronologically.

Chronological ordering makes sense in certain genres. It makes sense when writing a piece of history: the text is linked together by certain events. It makes sense when writing a diary: the overall patterns and relationships are not perceivable to the diarist, but they are what makes diaries interesting. It makes sense when writing a narrative.

It doesn’t make sense when writing essays. There might be a certain amount to be gained by discovering how a particular author’s opinions have changed over time. When a blog is a quasi-journal, a chronological ordering makes sense.

But many blogs are ordered by time by default, and for many of them a chronological ordering doesn’t make sense. If I read a good essay about environmental concerns, I am more likely to want to read further essays on environmental concerns than I am to want to read the same author talking about their sexuality, even if the two were written on the same day.

Of course, if the quality of this author’s writing is good, then I am at least somewhat likely to be interested in their writing in general, so the ability to find posts by the same author would also be valuable.

A blog is good at letting me find entries by the same author (spectacularly so – most blogs have only one), and entries in the same time period, but terrible at letting me find related essays, unless they are specifically linked to.

Compare forums. Forum-type webpages (also known as webboards) are good at letting me read entries by many authors. But since they are discussion oriented, they contain few extended self-contained pieces. The quality of writing on webboards is also much more variable – a blog will tend to be either good or bad, not mostly bad with a few gems, like a forum.

The type of content I like most is extended, self-contained pieces. I would like to be able to find many extended, self-contained pieces on similar topics. What is the solution?

Blogs as they currently stand are only a partial solution. If I find a well-written entry in a blog, it is at least possible that the majority of entries will be well-written. Blog entries tend to be self-contained, and are sometimes extended. Some blogs allow authors to categorise and sub-categorise content, so that I can easily read many related pieces by the same author, provided they’ve chosen to use this feature. Many don’t categorise entries – entries are ordered only chronologically, which is much worse.

Forums are only a partial solution. They tend to group entries by category, but the quality is wildly variable and there are few extended pieces.

Search engines as they stand are only a partial solution. They are good at finding pages that concern a particular topic, increasingly good at qualitative judgements, or at least at producing some kind of measure of the judgements made by others, but poor at judging qualities like "self-contained" and "extended".

But essentially what I want is a growth in user-generated content, linked by topic and quality controlled. At this point, hyperlinking is the best solution to this problem, but a more formal method of aggregating suitable content would be a better solution.

I want to be able to access a wealth of similar quality themed content from a single site.

Since web content can be dynamically generated, the ordering and selection of that content should be able to be user-defined, not centrally defined. If I want chronological ordering, I should be able to have it. If I want content by a particular author, I should be able to find it.

My proposal differs from current blogging practice in two ways: I want entries aggregated on central sites. The central sites could aggregate different kinds of content: posts by particular authors, posts on particular topics, posts in particular time frames. The same content is aggregated by <em >multiple sites</em> – a post on dead women might be aggregated on a site about death and one about women.

The central sites should exercise editorial control of some kind, and allows user-defined sub-categorisation of content.

The beauty of this proposal is that the sites don’t need to be created all at once. I could decide to create a site aggregating content about Linux, and soliciting people to allow me to collect their content. As I run the site, I can make editorial decisions. Someone else could do so for women, for death and for the colour purple. The result would be a wealth of excellent topical user-generated content, something that is currently widely distributed, and hence difficult to find.

Thursday 2 January 2003

…. finished undergrad

but about to go back to university for honours. And I dreamt about failing first year history last night, and having to take a maths course over the summer to make up the credit.

… writing a HOWTO

on paying for your Free Software (I’m equating contributing with paying). It’s not even properly proof read yet, let alone finished, or licenced…

… still around LinuxChix

although it mostly sails along. jennv has even been able to take a writing holiday.

… still around SLUG

my contributions of the past year were starting a Python Interest Group, and our hugely exciting (*excited*) new constitution, which was dragged into something like current practice. It’s nearly as exciting as the insurance.

scripting

It’s all webby bloggy stuff, but isn’t everyone doing webby bloggy stuff these days?

The more people code webby stuff, the more their private code library seems to approach middleware. But I’m reliably informed that existing middleware sucks. At least, once you’ve polled three random web developers, the union of the sets of sucking middleware encompasses all middleware, all software calling itself middleware, most databases, several scripting languages, object orientation in general, and probably a few endangered species.

At the moment, the favoured way to develop good middleware seems to be doing it all by yourself.