Written and Read

Author Archive

Phreebooks – an online accounting system

with 2 comments

I am a terrible person.
Okay, now that is out of the way, we can get back to business. In this case, literally. Or maybe I should just take that little step back to explain?

The thing is: When I started this website, the intention was to write about literature and history – what I had written and what I was reading.

As it turns out, after I moved to New York and started working for the Danish-American Chamber of Commerce and the law firm Miller Rosenfalck (NY), my focus has sort of drifted to other things. So I have written about software – which I often do – and in this case, I take it a bit further: A piece on business software.
Now, I have actually had a soft spot for this kind of thing for a long time. As is hardly a secret, I am a Free and open source software enthusiast. And ever since I got into working with accounting, I have been interested in the problematic watershed which is crowd-sourcing expertise for specialised applications, and specifically business apps. I doubt there are many who would have the audacity/plain ignorance to claim that Inkscape, Gimp and Blender aren’t impressive. But considering the areas of CAD and accounting are different beasts, and for different reasons. The CAD apps like the Autodesk programs – AutoCAD is the most well-known, I would guess – and SolidWorks – are developed as a highly specialised, closed process, and though one would assume there is a certain overlap between technologists in construction and IT, the community has yet to produce top of the line applications. One might also wonder why these applications have yet to even be ported to Linux and BSDs, considering the fact that they are less resource-demanding than the Windows platforms; but there is simply no expectation of sale. There are applications like the 2D QCAD and the rather impressive, though non-free VariCad, but the industry standard applications are simply not represented. Now, accounting… there are a lot of people who have yet to discover why accounting is sexy. Funny how people in love with the attention to detail that programming requires seem to glaze over when met(/confronted) with accounting tasks. And so, the gap between accounting and software development seems to be an even longer stretch than in the previous example. Again, applications exist, with their own limitations. Most used is probably Gnucash, in interface somewhat similar to Quicken. However, I actually find myself impressed with another system, namely Phreebooks.

Okay, so the above may have reinforced those who think that open source developers should keep a safety distance between coding and the naming of the applications, but this is actually very good.
Phreebooks is not an installable application – in the sense that it is a web application. This is not to say that there is anything preventing you from installing a web server on your desktop machine, but one of the reasons I was looking into this was so I could find something I could host on a web server – the infamous, yet ubiquitous concept of in the cloud – because data centers simply know more about keeping systems alive than I do. Also, I appreciate that a company which is not just a local operation can access the data from anywhere (no, I am not trying to set up an opportunity to do my work from a tropical island, but yes, I appreciate the fact that this would be possible).

The system is a basic double-entry account structure. During installation, you are offered the choice of a set of default accounts, and while this is not necessarily what you need, I found it useful to get an impression of the thoughts behind the setup.
While on the subject on installation: The Installation Guide simply lists PHP5 or higher & MySQL 4 or higher as dependencies – which means you should be able to run it off pretty much any Linux hosting service you can come across. As you go through the installation, you also enter basic information about your company, the fiscal year and the currency you will be using. You will have to create the MySQL database yourself, but after that, it is simply to enter the database credentials, and the installer will pick it up. As you finish the installer, you arrive at a login screen – which will take you to the main overview. Which is not much to look at, at first.

See? Wow. Well, it is simply the beginning. I will get into the categories you see listed there. All these are pull-down menus.
The Customers section allows you to – not just create and manage customers, but this has most of the dealings with the customers in general.
Besides customers, there is a wider CRM – Customer Relationship Management – system built in – PhreeCRM – which works as an extended address book with the contact information on people relevant to your business – to some depth, actually, including also things like Twitter and Facebook IDs and space for your own notes.
This is also the section where you can create quotes for your potential customers – and invoices. Phreebooks are clearly centered around a business selling a physical object; Quotes and invoices are created based on the inventory, and so far, I have yet to determine a way to sell goods which do not work like that – as in the membership we work with at the chamber of commerce or the billable hours we manage at the law firm. I mean, obviously I can start with adding a million of each to the inventory and selling from that pool, but it seems more logical there would be a type of good which would function differently. I am exploring this at the moment. After entering the data for the quote/invoice, Phreebooks can generate a PDF file of the invoice and let you download it – or email it directly from the system. Actually, it can pretty much create a PDF file of any form you might need to keep as a file or print.

The Vendors section once again gives you a clear impression that this is a buy-and-sell company – you can request a quote on every object in your inventory list and send it to the contacts you have created, so it is quite easy to manage these requests. It is even possible to set a preferred vendor for a product, which will be default in your quote request form. This is also the section where you place a Purchase order.
Both of these have a management interface where you can see the list of requested quotes and the purchase orders.

You can probably guess what the Inventory is. An interesting feature is that while you can add products, you can also add ‘assemblies’ – products which are a package of other products. The example is a computer, which is an assembly of hard drive, case, motherboard et cetera.
Curiously: While I am not particularly scared off by setup options and freedom choice, the fields available in the Inventory are pretty much open. There is a default selection of fields in the inventory for a product – Product numbers, descriptions, relevant accounts and so forth – but all this is editable! You can set up a field for any metadata you want to associate with the particular item. This is one of those functions which you probably don’t want to touch in the first run, but which will suddenly be a lifesaver at some point, you know? That is the gift of flexibility.
As I said at the beginning of the walkthrough: If you haven’t added items to your inventory, there is nothing you can do; it is all considered a closed circuit – as a true account set should – where values are transferred from one end to the other in the system of debits and credits.
Note, by the way, the History tab in the product view. This offers an overview of how the product is selling.

The Banking section is pretty much just dealing with the cost and income generated from the previous postings. It is for paying the bills, receiving payment, doing refunds – and it allows you to see the cashflow in the cash accounts.

The General Ledger lets you register  internal transfers. It is where you access and administer the chart of accounts, and there is a budget function which allows you to target the budget limitations on all accounts.

I was quite happy to see the Employees section, as I was hoping to be able to tie costs and earning into the employees. The section doesn’t exactly do that – it is mostly a question of being able to tag purchases, sales and the like to the person performing them. I did note, however, that it is possible to tie these employees to the users created with access to Phreebooks, which should make the user entering the transaction the default user getting the credit, so to speak, for the transaction.

Okay, so this was the regular user’s side of it. The rest is administration, but no less interesting for that.  The first user created has full access to everything as an admin-type account. But it is actually possible when creating a new user to completely define which features this user should have access to – and whether it should be read-only access or full access. The Tools section offers some options which not everyone should have access to – such as being able to delete the company in question – but also functions like setting the designated numbering scheme of invoices, transactions, payments, quote requests et cetera. It is quite elaborate, actually. This is also the section where it is possible to back up the transaction log. The ability to trim it should make Phreebooks more snappy. The Report function makes it possible to generate reports on any type of transaction – from invoicing and cash flow to expected arrival dates of items ordered by vendors. These reports go a long way towards creating an overview of what is actually happening in the operation – on a more approachable level.
An import/export function enables you to use an existing list of customers, vendors, employees etc. – or to make a copy for the sister company with a client/product overlap. This is a clever way of solving that.
Finally, the main tool: It can back up all data from the company accounts. This is obviously very important for safety, but also because it makes it easier to upgrade. I am currently stuck with older data on a CiviCRM installation which I can’t work out how to upgrade around… If one can extract a complete dataset, nuke the installation, install an updated version and import the old data – that can make you happy.

A Setup section will let you define tax rates and currencies – it is possible to work with several currencies, and Phreebooks has the ability to update the currency rates remotely, so you will have the correct exchange rate. Default rates are USD as the primary currency and Euros as secondary. So this section is more centered around the metadata of the transactions.

The last (okay, almost the last) thing I will get into is the Company section. This sets up the default values for the accounts – as in, which account should be default in dealing with which categories, how and when should taxation be applied, what are the basic credit limits – support for several branches, if you are doing accounts for a company with several locations, and how to work with several currencies in the account set.

There is just one more thing, and that is one thing which makes it all a little bit happier to work with. You remember the blank starting page I posted about in the beginning? There is actually an option to create a view profile, so the first you see could be a financial summery, open invoices – or intracompany links or personal notes to keep track of what you need to do.

In conclusion: I believe that Phreebooks could cover the needs of the two operations I am currently working with. The functionality is certainly there, so it would mostly be a question of the user setting up a sensible set of accounts.
I would personally love to see time tracking added to the mix, but this can obviously be covered by other tools like Taskcoach or the web-based Kimai and added as a product sold by the unit. It merely seems practical to me if the employees – who can be tied into Phreebooks user logins – could do billable time tracking as well.
The stylesheets – the color aspects of the design – are not particularly pleasant to look at. While it is definitely functional, it would be nice with a bit of fairly simple graphical overhaul.
The dynamic interface sometimes tries to make some slightly odd guesses as to what you are trying to do. For instance, if you are making an invoice and enter quantity and choose a product from the drop-down product menu, the invoice comment line is automatically filled out – or not, if there is no comment associated with the product – and the cursor moves to the next line. If it is automatically done, why have a specific comment field?
Having said that, I can only conclude it is a very potent package, and I am strongly considering it as a hosted accounting solution.

I am going to do some screenshots of the interface. The link will be arriving shortly.

Written by mjjzf

October 13th, 2010 at 5:17 pm

Claws Mail setup

with 2 comments

Okay, so this little article maybe shouldn’t be referenced on the main page, since the only purpose of it is to explain how I like things done, and it is not… particularly impressive in the news stream.

The reason is that I hands-down completely beyond a shadow of a doubt prefer to use Claws Mail. And not a lot of people get that, since the default look of Claws Mail is… pretty terrible, to be honest (see this article from cyberciti.biz to see the default Claws layout). I find, however, that with a bit of cleanup, it is very good and even pleasant to look at; and it has some very good features to make use of. So this little piece is actually intended as a answer to people who ask me how I can use something as horrible as Claws. It is entirely my opinion, and if I am the only person in the world who has this right, I am also the only person in the world who knows that you  are wrong when you say I am.

Now: Maybe I should just show you the design I am going for, to make it clear:

This is simply a series of settings to be made, none of which are particularly advanced, but make a great difference.
I should also note that part of the reason I am doing this is that I have an aging Thinkpad which will do a resolution of 1024×768. This is adequate for a lot of things, but it means that an application like Thunderbird looks terrible nowadays, because the text spacing and the huge attachment field leave so little space for the actual message. As you see, this setup allows me to use all the information in the email, and though the font is a little smaller, it still allows for comfortable reading.

None of these concepts depend on each other, so the order is of minor importance. The easiest will probably just be to go through it as the options come in the Preferences panel. In other words, start with going to Configuration > Preferences.

  • Receiving – These are sensible defaults to me, but I ask it to check email every 8 minutes. Obviously you can set this as you prefer. I don’t set it to check mail on startup, because I often just want to find a detail in an email, and the interface will get quite unresponsive when fetching mail. On the other hand, it fetches mail quite quickly compared to other mail clients.
  • Sending – Never get into this much, except I ask it never to send return receipts. I hate people asking me for a receipt.
  • Writing – I keep the default setup.
  • Templates – Ah, now there is something for people to get into. I don’t actually use these – I use a signature, which is defined elsewhere – but you will note the Information button at the bottom, which offers a lot of data that could be entered into a template. I have occasionally fiddled with the reply template, because a well-structured reply makes it pleasant, but – this is up to you. Also, as with many other things, Claws will be able to make a user-input template and include information from external applications – which make the customization options quite extensive.
  • Wrapping – I check them all and have it wrap at 72 characters – for when people have mail clients which will keep you text in one very long line, if you don’t make it wrap. So, that’s a wrap.
  • Spell Checking - Well… I kill it. We have too different vocabularies. Actually, now that I am in the States and almost all my email is in English, I might turn it on, but in Danish, spell checking is cr… unsatisfactory.
  • Text Options – Ah, now we get into the meat of it, visually. A lot of what you can see about the email can be defined here, in “Display headers in message view”. These can be quite extensive. I like to be able to see which client the email came from, for one thing. Here, you can also change the distance between the lines. I leave it at the default two pixels, but when I was using an 800×600 machine, I reduced it. And of course, I make it render HTML as text. While it is possible with one of the Claws Mail plugins – more on those later – to have the client render HTML, that is just so wrong in general, that I like to keep it text; and it does a very good job of extracting the text from the HTML.
  • Image Viewer – I let it show images, and reduce them to make them sensible to look at. I allow printing, since I would never print an email unless the point was to get everything in there. Which happens a couple of times a year, so I don’t lose a lot.
  • External programs – Guess how this works. I have set the very nice medit editor as my default, but I have never actually come across anything that opened in this editor, unless I ask Claws mail to use the external editor to compose emails.
  • Colors – The Color Labels tab is very nice, it allows to set the colors to use, though I usually don’t; I do like the second tab, though, discretely named “Other” – this is where you can set the URL color and, for those who do a lot of newsgroups, colors indicating the quotation level. This can be a powertool for some people.
  • Summaries - This is one of the places where the action is, when it comes to clearing up the interface. You see how there are three columns in Claws’ Folder list on the left? They take up quite a lot of space – but you can do it differently. So under “Display message number next to folder name”, choose “Unread and Total messages” and under “Displayed Columns”, press the “Edit” button. In the interface which comes up, remove all but “Folders” in the “Displayed” column.
    If you press OK at this stage and come back to the Claws interface, you can see how those very space-consuming fields have been replaced with a summary next to the folder name.
    A bit down the page is another thing which makes quite a bit of uncluttering difference: Date Format. It is set to display month, day, year, weekday, hour and minutes. If you take the weekday out here – which you usually won’t need when you go back anyway – you get a bit of extra space. Again, the “Information” button will tell you how to get the info you want shown. I use %d/%m-%y %H:%M – which would be a European notation, Americans would go %m/%d/%y %H:%M – this will will keep it neat.
    Here, you can also select which message lidt columns you would want to show. There is a ‘mark’ column and a ‘status’ column. I like to have these – to see what I have replied, forwarded etc. – but if that makes no difference to you, you can take them out. I usually put in the “Size” field as well, and for some that would be enough of an indicator to take out the “Attachment” field.
  • Fonts – This is the other primary place which makes a big deal. In other clients, it is problematic to get it to reduce all the font sizes in the interface. Here, Claws will let you reduce the font size for Folder & Message lists and the message font itself. One of the main problems in the message list is how the data “sneaks up” on the next column. I set “Folder & Message Lists” to Sans 8 and “Message” to a monospaced font size 9 – monospaced because people sometimes drop in ASCII in the emails, and it will look terrible if the font is not Monospaced. I usually use Liberation for that.
    After doing this, you will probably want to adjust the width of the columns in the message list, but you should be able to get decent spacing.
  • Themes - Here is where you get a major facelift – not so much in functionality, just prettier. You can get other themes on the Themes section of Claws-mail.org – I use the one called “elementary” to get some more contemporary icons. Download the tarball, untar it, press “Install new”, navigate to the theme folder and okay the selection – the theme will be installed. As you select it from the list, press “Use this”, and it will be your default afterwards. You will want to go back to the main screen to see how great a difference this actually makes!
  • Toolbars & Other sections I don’t touch. I don’t remove any of the functions from the toolbars.
  • I do, hovewer, change to icon view. In the main interface, I choose View > Show or Hide > Toolbar > Icons Only. Once more, that gives a bit more space to work with. Here, you can also remove column headings – in case you feel confident that you know that the column list is a column list, the date is the date et cetera. I suspect most people would.
  • There is a search field between the message list and the messages. When you need it, you need it – and it is quite powerful – but when you don’t, you don’t. It can be folded up simply by pressing the folder with the magnifying glass. More space.
  • One last thing, which you may notice, or you may not at first. After a while, the vertical scrollbar in the Folder column started annoying me – it is there regardless of whether it is needed or not. I quickly discovered that the frustration is not uncommon for setup fetichists or people with small screens (or those of us who are both), and that this is possible, though in a bizarrely difficult way (okay, not for BASH monkeys, but considering how many things can be done in the Claws interface, it seems strange that they have not included this).
    It seems one has to edit the settings file of Claws Mail manually. So one has to open ~/.claws-mail/clawsrc for editing and look for the line that says “folderview_vscrollbar_policy=0“. If you change the value to 1, it will automatically resize – and disappear if it is not needed.
    Now, there is one thing to be aware of about this: Claws will save the default setting if you make this change while it is still running! So you will want to shut Claws down, then edit the file. When you open the application again,  the scrollbar should be gone.

So there, a bunch of basic tips there to clean up Claws a bit. After this, it should look better, and all of these changes make it more usable for me.

Just one more thing I do: There is a series of plugins to extend the functionality of Claws – there could be a separate piece on those, except I use only one, and I keep wondering why this one is not included in the Claws Mail main system: The Notification plugin. This plugin will put a small letter icon in the notification area/tray/place where you quick-access stuff which runs in the background; if you right-click this icon, you can instruct it to fetch email or compose an email from an account of You can also instruct it to display a popup using the regular notification sysstem when new emails arrive.

This is what I do to make Claws do what I expect from a mail client. I could also go into the extremely powerful mail filters it has, and how you can use plugins to add GPG, RSS and spam filtering functionality. I may get into that at some point, but for now I will wrap up this article on trimming the Claws.

Written by mjjzf

September 1st, 2010 at 10:48 pm

Posted in Technography

Thoughts on Independence Day

with one comment

Some thoughts on the 4th of July, which is Independence Day here in the US.

First, I should derail the entire thing by mentioning that I have actually already experienced one independence day celebration this year, and that was here in Bay Ridge, Brooklyn: The Norwegian independence day. Usually, the Scandinavians stick together here, but since the Norwegians got their independence from the Danes, I thought I would keep a low profile that day.

Right, back to the topic. What I actually wanted to say is that I find it remarkable that practically every household thing here is made outside of the US. So, the United States are celebrating the independence from the United Kingdom, but the States are in fact tremendously dependent on a lot of supplier countries.
This is remarkable in some ways. If, for one thing, we compare to the invasion of Iraq – something which people even now say is not about oil, but seriously: If it was an effort to stop a regime of oppression, then there is no end of questions to ask; I vould, for instance, ask: What about Yemen? A colorful place in Human Rights debates. Just a random question. And if we are talking about oppression, and getting into just the most superficial definition of that, I would think sweatshops would be somewhat relevant to discuss under that category. I do understand that China is a bit of a mouthful to be policing with military, but we have a very close tie with China. And for a place talking so much about democracy, human rights and freedom, you would wonder about all these Chinese products here. You know how people talk about voting with your feet, spending the dollar where it will buy the rights you are fighting for? I would say that someone speaking about rights and democracy wearing Chinese-made clothes are about as impressive as fur-wearing animal activists. And how many computers are actually made without a Chinese component?

Now, you could say that this is a resource issue, but it obviously is not. If, like me, you grew up in Denmark, a tiny country with few natural resources, this might be a partially valid argument, but this is the United States of America, and I doubt that there are any resources that could not be sourced here.
I mentioned the question on Identi.ca, and Jeff Ratcliff pointed me towards the MadeInUsa.org website. Actually, in the beginning I was thinking about doing a “US patriot product” type of marketing thing, and I see that some products like American Apparel go into that. But as I was looking into it, I gradually began wondering how much the US has actually sold off.
There are disclaimers on this one: I live in New York, which is obviously a place with a concentration of the country’s white-collar work, so there isn’t much in the way of physical production here, just some secondary and a lot of tertiary production. That may be skewing my impression.
Also, and this seems a bit silly, but: I may be taking the offical lingo too seriously. It seems reasonable that the patriotic statements are a stylized picture of the state of the nation, and going to war doesn’t work as well if you state that it is a war for practical purposes. The United States have been in a curious position in the last years after the 9/11 attack (no, I am not going to go into conspiracy theories; if this has your interest, watch the first Zeitgeist movie), because they had never been attacked directly, all the wars had been conducted off-continent. And so, 20th century-methods were applied to a 21st century challenge – a challenge called terrorism which, one might add, still has a considerably smaller loss of life than obesity and bad living conditions in countries like, say, China, Thailand and other places which make our daily products. Sweatshops are not there to further economic development, and anyone who says so is lying to someone.

Does all this make me sound like a hippie? I was a left-winger once,  but these things have lost their meaning as I got older. What I certainly can say is that the US is nothing remotely close to independent, and there is a lot of hipocrisy about the values behind policies and corporate actions. Perhaps there is just less hipocrisy in those who support predatory capitalism, since that is what happens when everybody turns a blind eye.

On a different note, a personal comment -
Talking about independence, it also seems relevant to talk about those you depend on, and those who depend on you!
I moved to the US in December, and I have come to appreciate it. I was looking for work for a long time, and this spring I finally got employed at the Danish-American Chamber of Commerce, an interesting networking group for companies interested in working and investing between the two countries, and recently also at Miller Rosenfalck NY, the New York branch of a London law firm specialised in internation law for American companies getting established in Europe and vice versa.

When we came here, I was registered as my wife’s dependent – a bit hard to swallow, as I left my job in Denmark to come here – but now I am earning money for the household as well, which is a tremendous relief to me. While I have no doubt that my wife’s job has been made easier by me being able to help with the house and our son – making the conecpt of the dependent a bit floating – it is good to balance it out.
My wife is pregnant again, and we are expecting a second child in december.
Considering the family and the independence one would have without it – and that is my personal thought today – there are some ways of giving up independence that make life better. Some people like to say that nobody owns them, but I do need my wife and my son, and I have an obligation to them that make me theirs, as they are mine.
It is the heart that binds.

So – happy 4th of July. Enjoy your independence and the places where you have given it up for something greater.

http://americanapparel.net/contact/

Written by mjjzf

July 4th, 2010 at 10:30 pm

Posted in Writer's blocks

Abiword – the undemanding heavyweight

with 4 comments

This article, like so many other things we do in life, started out as something else; and like so many other technological features, it started with frustration.

I have used the word processor Abiword for quite a few years. Not a love-hate relationship, but it could perhaps be described as a love-frustration relationship. You probably know how it is – you have a lot of good features, but there is one thing you really need which you know from somewhere else, and which you don’t have or which doesn’t work with this particular program.

But frustration points – later. First, I will tell you why I appreciate Abiword so much. I am actually writing this in Abiword – like I was using LyX for that review. It is nice to have things visible in the interface you are using as you go along.

Abiword is a truly lightweight application. A wordprocessing application in a very small package. It is available on GNU/Linux, the BSD family and Windows – the latter with the option of getting the portable version, which you can install on a USB stick and take with you. It is licensed under the GNU GPL v2 and available on the Abiword download page.
The interface is what you would expect from such a program – a top roll-down menu, and two menus with standard formatting features – open, save, print, cut, paste and the like on one and styles, font type, size, alignment, indentation et cetera on the lower one. By default, Abiword gives you a horisontal and a vertical ruler, and I usually turn it off, but I leave it on here just for you! The rulers allow for setting indentation, tabs and margins visually.

This application may be small, but it has some of the features associated with heavier applications and larger projects. All of the features I used in my university papers would have been available, had I used Abiword (I used OpenOffice instead, which is also worth a recommendation, but – another time): Footnotes, endnotes, references, autogenerated table of contents and so forth.

At the same time it should be said that I have recommended Abiword to a lot of people I would expect to find Word and OpenOffice Writer overwhelming, and most people – including me, most of the time – don’t need the additional applications in an office suite like spreadsheets, presentation software, database management et cetera. I think that Abiword, while adding good features and stability along the way, still manages to have some very clear and intuitive dialogs, making it easy to work with – as you can see from these two examples. The Preferences window is equally straightforward.

Abiword has a file type of it’s own – .abw files and .awt for templates; it works as it is supposed to, but additional document filters are available; without adding any filters, it will save to Microsoft Word .doc format, (X)HTML, RTF and PDF – but with the added filters, Abiword can be a strong tool for opening files from old applications; sometimes you are stuck with an old Works or Wordperfect file – or OpenOffice.org, for that matter. There is also a very good OpenDocument-import-export filter, and it handles .docx files quite well – not 1:1, but certainly rendering them readable.
Abiword is available in quite a few languages; I have done the Danish translation.

Also – some elegant solutions.
One of the things I quite like is the way to modify styles. Now, this may require an introduction of you are not familiar with the concept. Styling a document is a way of making a uniform overall design for a document. I believe it is inspired by/borrowed/stolen from LaTeX, which is entirely based on the concept that you shouldn’t be setting font types and sizes, you should just be able to indicate what is a heading, what is regular text, what is a quotation et cetera. If you are acquainted with the stylesheets associated with webpages, you are familiar with the principle: If something of this type turns up, this is how it should look.

The example here is Block Text, which is an increased-margin style for emphasis – what you would use to quote an author, for instance. There is a preview of how the font looks, and how the text will look in a page. In the preview pane, the larger margins are apparent. It is also apparent that this style inherits the traits of the Normal style, which means that it is exactly like Normal, except for the areas where it has been changed, which is just the margins here. A style can pretty much contain the text fetures you want – though it should be mentioned that the modified styles are limited to the document you are working on, and if you want the styles to remain, you should modify them to the extent you wish and save that document as the default template.
I find that it is useful when working on a larger text to define these things from the start. If you have particular wishes for font types and sizes, it is quickly done, since the styles are based on each other, so a font change cascades into the styles based on it.
Styling as a concept also extends to places one might not expect it; it is possible to style things like foot- and endnotes, the table of contents and lists. Abiword does have sensible defaults, though.
Considering the complexity of styles as a concept, this interface is about as easy to use as it gets.

Another example of a good interface for a potentially difficult concept is the selection of tools to use with the tables. Inserting the table is straightforward, but I particularly find that the intuitiveness of the tools to merge and split cells are good; I have simply never seen it done so clearly before.



Going back to setting up the table of contents, this function is a list autogenerated by headlines, which again are essentially lines of text defined with the style Heading, indented as appropriate with Heading 1, Heading 2 et cetera for the various levels, as the text is divided into parts, chapters, sections, subsections and so on. You can select whether you want the heading to be numbered in the text or not – in an academic paper it is nice to have it appearing numbered with sections and subsections, but in a book text, it looks off.
As shown here, the TOC has a setup menu available in the Format menu or by right-clicking the table. It allows for defining what styles should be used – and the numbering scheme as well, which is a nice detail.

Recently, it has become possible to add comments to the text, which in Abiword is called annotations. They are not as clearly seen as in other word processing applications, they are either underscored or shown with a different color, but this also means that they do not interfere with reading the text. It is certainly nice to have as a feature. Also, it is useful when several people are working on a document that it can be clear who made the note.

A somewhat curiously implemented function is the ability to insert a data field. This a way to have some metainformation available without putting it all into the interface, but it is not always completely intuitive. The fields shown here are fairly straightforward, and you may want to put metadata like the author in a template for, say, a business letter. Some people like to have a field in the header or footer with “Page X of XX pages”, which I suppose is useful if you have a list or something where it is not immediately apparent from context if a page is missing.

It is also possible to use this to create merged mailing. If you have a letter template and a CSV data file with client addresses, Abiword will merge the two and create a printable Abiword file with the letters you want, and it can be used with envelopes – I suppose that you could use a table to create shipping labels, too.

Okay, so these were features I would like to present. A lot of good and useful stuff. Unfortunately, there are also a few things I have to mention that subtract a bit from the final score. I think of them as challenges.

Templates. Okay, not actually templates, because as you see, opening a new document based on a template is fairly straightforward, but template management is a challenge. If you look into the documentation you find out that the document you have can be saved as a template by saving it as an .awt in the user’s template folder. Now, I personally think this is a bit clunky – since the folder is constant and can be determined, there is no reason there should be any confusion here – a “Save as template” dialog where one could enter a name and brief description should be sufficient.

Secondly, Text breaks between sections are clever for things like having varying headers or footers between chapters. There is, however, no visual cue in the Abiword interface as to where there is a section break; and the sections are not numbered in the status bar like the pages are. So it is anybody’s guess where a section break is in the text, and if you insert one by accident, you may have a bit of a problem. I filed a bug report/request for enhancement about this on the Abiword Bugzilla.

Third, I mentioned the function to insert data fields. And some of the names are intuitive enough – “page number” and “author name” I can manage. But a field like “Military time”? “Document coverage”? “Page reference”? I mean, I recognise the words, but a small description would be handy.

Fourth, the help function is a bit random. When you access the help file, it opens an HTML file. This is not necessarily in the default browser, so if you have an editor set as the default HTML association, it will open there instead. This is a minor gripe – what is more important is that the structure and contenct of the Abiword help file is less than intuitive,  and the content is quite mixed. The screenshots in the help files are not exactly fresh and appealing.

A final note which is mostly just something to wonder about – Abiword indicates using Times New Roman by default. But I never understood how this actually works – I do not have that font on my system! I usually change it in the template to Liberation or DejaVu – two nice fonts with good Unicode support; but this Times New Roman thing always puzzles me.

Which brings me to my original comment. I have been writing up points in an attempt to overhaul the Abiword Help function – to add some instructions and put them in usable categories. And as it was coming together, I thought it was a good opportunity to write a general introduction to Abiword.

To be fair, my old gripes with Abiword are mostly things of the past. The application was quite unstable for some time – one of my Abiword breaks – and that seems to be over. It used to be tied into some dependencies which made it quite cumbersome to install on Slackware, and that is no longer relevant.

And as for the Help files, well – maybe that really should be a community task, shouldn’t it? The programmers are able and ready, and the mailing lists are very responsive. There is no doubt that there is an active and appreciate community, which I am pleased and proud to be a part of. And so, I try to reset the Help interface – not building on the existing one if I can help it, but simply redoing it and trying to facelift it a bit.

Written by mjjzf

June 17th, 2010 at 8:39 pm

JabRef – a reference manager

without comments

I realize the latest posts have been heavily in the technography camp. This time, it still is – but going over to academics. JabRef is an application for managing references.

Academics have probably heard of the Endnote application, a program which will access databases of academic journals and allow you to generate your own bibliography; it will tie in to applications like Microsoft’s Word, so you can use it while writing papers.
Endnote is well known, but it is a closed application, and JabRef has the advantage of using the BibTeX format, the bibliographical subset of the LaTeX typesetting system. More on LaTeX another day – I already wrote about it and about BibTeX in the recent LyX article. For now, JabRef.

A reference management application is a logical product of geeks. Practically everyone who does programming professionally has gone to university or college, and it is only natural to use a computer to track your reference materials. When people start programming, they will want a target for their efforts, and reference management is so obvious that one can wonder why there isn’t more! But of course, it does require a certain effort to keep going – and there has to be a community around it. Projects like KBibTeX, Pybliographer, Zotero and OpenOffice.org’s built-in Bibliographic all offer functionality like this.

JabRef is a Java application, which from the beginning makes it cross-platform – and it has a very usable interface. Though there is quite a lot of scepticism towards Java – many people consider it quite clunky, and many java applications tend to be sluggish – JabRef is actually quite responsive.
There is an issue of personal importance to me, because I have a degree in Russian language, history and literature – it has to use Unicode correctly. When I used JabRef the first time, it did not, but now it does – and the feature set has expanded as well, making it an interesting tool.

The following screenshots can all be found in a Jabref gallery in the gallery section of Written and Read.

This is the main screen. I have loaded a small bibliography file featuring an article and a stack of books. As you can see, Unicode is supported, as the article is in Russian.
Curiously, BibTeX itself doesn’t actually support Unicode with LaTeX, but so many Unicode-supporting application can parse and use a BibTeX file that it is still useful to be able to make a Unicoded file.
As you see in this overview, it is possible to associate URLs and files with the bibliographies. This is quite handy when you use JabRef to manage materials relevant to the entry which you have stored locally. I usually link the books to their OpenLibrary entry, but obviously it is useful to track reviews, criticism and the like.
In the second screenshot, I have selected one of the entries, and the data of this entry are displayed below. Now, this is not all of the data – there is considerably more on this book – but it is possible to customize what is shown in this field. It is very useful to be able to see what you want to know.

Now, for the fun bit: To add a new entry. For this example, I will be using Bonvenon en nia mondo, an Esperanto book by Bent Jensenius.

Here is the sequence – when you want to add a new entry, press the green plus symbol on top, and a list of possible material types pop up. In this case it is a book – but the fields are different if you choose an article instead, so this is just to form an impression.
In the second screenshot, you can see the basic fields. Once they are filled out, you can press the magic wand on the left, and JabRef will generate a BibTeX key for you – the unique identifier for this particular entry. The last two are additional information. I was a bit surprised that there wasn’t an ISBN field, so I usually add it as a comment. Of course, it is possible to add it as a regular field, and maybe it is just to get ahead of the many types of identifiers.

As you see here, the program ties in to various databases, where you can fetch additional materials – when you have looked up a piece of documentation, you can add it as another JabRef entry.

JabRef opens an internal window to access the materials.
I would actually have expected it to use a browser window, but the way it displays it keeps the workflow consistent – and you don’t have to wait for a browser to load.

Now, musician and music teacher Jon Kulp alerted me to the fact that JabRef has some pretty powerful powerful export options.

He has used it to generate a materials list for his Beethoven class, and I very much like the layout. It is easy to use, and the Javascript links to fold out abstracts & reviews improves the overview of the page.

Getting into this export method, I have removed my Aigaion installation keeping track of the literature mentioned here; it just seems that much easier to export the data and upload. The data file is available here, and the resulting library file is linked on the right of this page – as the index.html file of library.writtenandread.net.

Okay, so I know things have been getting a bit technological around here lately. But I can assure you there is quite a bit of literary review in the works, so for those more interested in that genre, you won’t be disappointed.

Written by mjjzf

June 7th, 2010 at 5:26 pm

Posted in Technography

Nathan Lowell: The Golden Age of the Solar Clipper

with 2 comments

Dear Nathan Lowell,

I just listened again to your Golden Age of the Solar Clipper books – Quarter Share, Half Share, Full Share, Double Share and Captain’s Share.

Although they are no longer new to me, they still grab me as great stories; the life of Ishmael Wang from the death of his mother, setting out as a sailor in space and up until his becoming a captain is quite the epic tale.
Though it takes place in space, the references to seafaring and the parallels to stories like Forester’s Hornblower books make Ishmael’s story fit into a genre with a proud history.

It is inspirational in the sense that Ishmael’s desire to bring out the best in everyone and to encourage everyone to seek their full potential makes for developments in the story – and which everyone can take to heart. Your frequent emphasis on the kind of ideas which aren’t complex but which people just never thought of should make any reader and listener look closer at their situation and surroundings before accepting the situation as it is. This comes out very well in the sections where he deals with trading, and when he advances, how he seeks to acommodate the crew. It is also a good idea to emphasize the way people’s complaints don’t always echo their problems.

So, to make a long story short(er), I am writing to thank you for these well-written books; and since I got to know them as audiobooks from Podiobooks.com – particularly inspired by the mentions on the Linux Reality Podcast and your interview with Chess Griffin – I should also say that you have an excellent storytelling voice.
Your last two books were chosen as Founders’ Choice on Podiobooks, and I noted you were a finalist last year at the Parsec Awards with Double Share – and once again nominated with Captain’s Share. I wish you all the best with that, and although the submissions have you up against authors like Phil Rossi with both Harvey and Eden, Alex White with the very interesting The Gearheart and a fresh make of Hutchins’ 7th Son: Descent, you are a strong candidate to take this one home.

The only story I didn’t yet get back to this time was your spin-off story South Coast. It has yet to get on my audio player – but it is going in there.

Yours,

Morten Juhl-Johansen Zölde-Fejér

Written by mjjzf

May 27th, 2010 at 10:41 pm

Posted in Literate Lifestyle

Xfburn – A tool the size of the task

with 5 comments

As a person using various Linux distributions over a very long time, one obviously has some favorites. And sometimes the favorites conflict with each other – or at least aren’t a particularly obvious or practical match.
I have been using the Slackware Linux distribution for quite a few years. Although every release of Slackware features several desktop environments and window managers, Slackware remains focused on KDE; Gnome is no longer included in Slackware, and the only way to get it is to turn to one of the independent projects maintaining a Gnome package for Slackware.
So KDE is the only one of the two larger desktop environments available, and the distribution also features external KDE components like KOffice and KTorrent. If one has a preference for KDE, there is little one would need to find outside of Slackware.

KDE has, however, for a very long time not been my favorite; Xfce is, and especially with the release of Xfce 4.6 featuring the excellent Thunar as default file manager. A pronounced weakness for GTK2 applications slowly turned the app selection in that direction – Firefox, Claws Mail, Gajim, Filezilla, Medit, Abiword and so on.
As it turned out, there was one particular application which could not easily be replaced – and that was K3B. I noticed this impressive CD/DVD-writing app early on (Mandrake 9ish, I think), and for the longest time, it was simply the best tool for the task. It was, I believe, the first project I supported financially (before I started supporting promising projects under being developed rather than well-established projects with proven results; but that is a different story). K3B extended functionality over time, and in my opinion, it has only become stronger.

Now – what this also means is that this is the application that forced me to install half of KDE even if I didn’t need it for anything else. When I would fire up K3B, there were two approaches to it: Either taking ages to do it, because it had to go looking to call a number of KDE components – or I should call those KDE parts when starting up Xfce, which means startup would take longer _every_ time. Not hugely, but – noticeably. I should add that I have an old Thinkpad which is not particular potent in any other field than battery life. A low-powered laptop with a fairly new 9-cell battery will give me about 5 hours, which is of more use to me than a potent machine. A tradeoff.

Of course, I have tried other applications for the job as well. At an early stage, I used Xfburn – which was so immature that I quickly gave up on it. Later, Gnomebaker; little use for that when I had to hunt down Gnome components to make it play along. I used Graveman, which is quite usable and intuitive, but which has some design decisions which, well… it just annoys me. Not much use as a review, I know, but a personal statement.

And so, when I recently had a recommendation – a discussion on Identi.ca on elements of Xfce – I started looking into Xfburn again, and I installed it to see if it could help me repress the thought of Graveman. I can only say that it was a very positive impression – considerably different from when I tried it the first time.
Having said that: I should note that 9 out of 10 times I use a burning application is to burn an ISO image file which Unetbootin won’t put on a USB stick. I don’t really make audio CDs anymore – I have nothing to play it on; I used to make such CDs for teaching materials, but I don’t teach anymore. Considering backups on CDs and DVDs is just so much more expensive than the alternatives.

I will occasionally burn a couple of individual files of there is something I want to send to a friend – say, family pictures they will want to keep – or if a file is so huge it will take me ages to upload it with my somewhat limited connection.
I believe many people share my approach to optical media. But sometimes having an app to do this can be handy, and I have found it in Xfburn. It is quite easy to install on Slackware, as most of the dependencies are installed by default; so there are only a couple of things to install alongside the Xfburn Slackbuild.

The interface is all business. Not a lot of penguins here. It is not possible to select what you want here like in K3B… because all features are represented. What you see here is what the application will do. So no reason to unclutter anything.
Note the shortcut to the Home folder. Usually this will be where the user will have the data Xfburn is going to work with. While there is a reference to the remaining file tree, so it can be accessed if necessary, focus is on /home.

First example, the obvious choice: Burning an image file.
You will see most of the ordinary functions you would expect – although I would like it if Xfburn could verify an MD5 checksum like K3B can. This is a very useful feature, particularly for someone with my user profile. It is filed as a feature request.



Burning, burning, burning.

Most basic information clearly presented.




Creating a new data CD is simply dragging & dropping files. It is possible to create folders as necessary. In the corner a field to enter the name the finished CD/DVD will display when inserted.
As you will know from other applications for this purpose, the bottom progress bar will indicate how much space is reserved on the CD or DVD; options are 200, 650, 700, 800, 900 MB CDs and 4.3 and 7.9 GB DVDs.
Note that there are several tabs, so one can work on several projects. I do not have the hardware to determine if it is possible to burn using several drives at the time – if you have any experience with that, please share!

It is also possible to create audio CDs in what people used to call “a regular CD player”, although I guess those are on their final stretch… you know what I am talking about. Xfburn uses Gstreamer to access the audio files. I can verify that it works with MP3, Ogg Vorbis and FLAC files – since that is all I have. I would imagine it will support whatever the Gstreamer plugins can handle.



Options in the Preferences section are limited.
It is simply basic settings for the place to cache the files during transfer along with the setup for the drive(s?) being used.





Now, there is one thing I have been thinking about… take a look at this screenshot. Does anyone but me find it slightly excessive with 3 different ways to access the same few functions? Menu, toolbar and half the front page? Though it is possible to disable the toolbar, so you will only see the buttons on the lower part of the front page.



With this comment and the request for an MD5 check: As you see, a tool for a very specific purpose, which the application fulfills. As an Xfce user, it is very nice to see a well-integrated tool.

As you see, Xfburn integrates well in Thunar, making it possible to send image files to Xfburn, and files and folders can be added to a new data CD. Both are available from a right-click context menu.
A small trick: You may note that it is not possible to use Thunar to send audio files to create a new audio CD.
Xfburn does support this, however, with a command line switch. “Xfburn -a” – an abbreviation of “xfburn –audio-composition” – followed by file and/or folder names will open an audio composition window with the relevant files.
When something like that is supported, it is a good opportunity to make use of Custom Actions in Thunar. Custom Actions is a feature where to customize the right-click context menu based on file types or folders. As an example, I have an option when right-clicking on audio files to enqueue them in the Audacious play list. As long as there is a commandline option, Thunar will help you.

As you will see in these screenshots, I create a new custom action to call “xfburn -a” on the hightlighted files. If I call the function, an Xfburn window will open up with a new audio project.
This gives you an impression of what can be done with Thunar Custom Actions – expect an article on my favorite personal tricks later.
This is a good reason to use Xfce, the same as choosing Firefox for the extensions: There a are a lot of functions which could be useful, but which are not built into the system – what is created is a framework to make it easy to extend your system with the functions you would like.

Written by mjjzf

May 20th, 2010 at 12:05 am

Posted in Technography

Thoughts on Linux partitioning

with 3 comments

A short entry from the technological side.

Over time, I have had some experiences with partitioning, and there is one thing which I come across very often, but which has bitten me so many times I think it deserves dishonorable mention: The thought of recycling a /home folder among various distributions and various versions of the same distribution.
On the face of it, /home/yourname holds your files, and there is no place like ~ and all that. It does, however, merit a closer look – because /home holds all of – or at least most of – your settings.
What this means is that if you have an Ubuntu installation with a separate /home partition and then install, say, Fedora, those two will share the home folder, and if you are like me, you will use the same username to identify yourself. In other words, you will be using the same /home/yourname.
This means it will try to use your settings files when it comes up. All these files may be hidden, but they will influence the setup of the desktop you are logging into – any program which is also in you new distribution will take settings from the old one. This can be color schemes, to take a more harmless example (though I can not without pain imagine using Fedora, Mint or Opensuse with purple hues) – but you may come across a versioning conflict that will break your existing config files.
Though these things rarely happen, the potential for trouble is considerable.

And so, I have concluded that the best for me is to keep an individual storage partition. I put it on /mnt/storage, but that is of less consequence. In /mnt/storage, I have my library of texts, documentation and stuff I have written myself; I have my collection of audio: Audiobooks, podcasts and music; I have my collection of scripts; I have my collection of videos; I have my “Installers” folder with a collection of downloaded ISO images I need more than once, tarballs of certain drivers I need and the like. I have my collection of images, which is everything from screenshots over webcomics to my son being born. And there is my “Workshop” folder containing my half-baked scripts, my .po folders from the software projects I maintain translations for.
Once I install a new distribution, I create symlinks to my stored files in /home. And so, /home/morten/video to /mnt/storage/video will point to /mnt/storage/video, /home/morten/podcasts/ will point to /mnt/storage/audio/podcasts et cetera.
What this means is that my /home/morten will be unique for this distribution installation, but the files I need will be accessible regardless of what I have chosen to boot – the settings in the /home folders will not influence each other. If you have some more sensitive files, say, your script folder, you can make it read-only, so it is always available, but you can’t break it without concentrated effort; but that is a general consideration, not influenced by your partitioning.
There are, of course, several approaches to this issue, but I find this solution to be simple and functional.

Written by mjjzf

May 19th, 2010 at 11:36 pm

Posted in Technography

Surely You’re Joking, Mr. Feynman

without comments

A mix of genres today, though that may be what you have come to expect around here; part literature, part science.

Lately, I have been reading Surely You’re Joking, Mr. Feynman, the autobiography of the physicist Richard P. Feynman – in the sense Feynman told the stories, and Ralph Leighton wrote them down. This book has been on our shelves for quite some time, as I gave it as a Christmas present to my wife a couple of years ago along with a biography on Albert Einstein (did I mention that our son recognizes Albert Einstein?). The dog ate the Einstein biography (true story), but spared Mr. Feynman.

There are a couple of themes that keep recurring. Curiosity is one – Feynman’s desire to explore the world is this incredible hunger that puts him in the most peculiar situations. I resist the temptation to list all of the examples, because part of what makes the book interesting is the way you can never really tell where it goes next. I will say this, though: He seems to apply a scientific method to the world around him. The very first chapter tells about young Richard falling in love with fixing radios. His enthusiasm is apparent from the first paragraph of the book:

When I was about eleven or twelve I set up a lab in my house. It consisted of an old wooden packing box that I put shelves in.

He goes on to telling about how he would set up a lamp bank in his laboratory, playing with bulbs in serial or parallel connection and making switch systems.

Also, from the start, Feynman is quite a trickster and almost gets into trouble. His electrical experiments set off a small fire in the house, which he manages to hide from the parents. He discovers that his radio will pick up a radio channel with a show all the children listen to – an hour before they usually listen to it! And he will join them afterwards to make clever comments about what next to expect in the plot… and the first thing he describes from his time at MIT is stealing a door and hiding it; later, he finds out how to open the safes at Los Alamos to demonstrate their inadequate security – an amusing parallel to how Steven Levy describes in his classic book Hackers the later practice at MIT of picking the locks because everyone should have access to information, and a computer shouldn’t stand around without being used – and of course, the similarity is that it is not just a practical consideration, but also a brain game. A challenge that, once encountered, can only be met and resolved accordingly.

He describes a difficult youth. Even when he gets older, he has his problems with women. At MIT, he puts great thought into the right way to just walk past the girls. And, of course, the physical awkwardness that seems associated with the natural sciences – often discarded as prejudice, and yet repeatedly confirmed – is summed up in a side comment on sports:

I was never any good in sports. I was always terrified if a tennis ball would come over the fence and land near me, because I never could get it across the fence-it usually went about a radian off of where it was supposed to go.

This actually makes for an interesting contrast and again, a good reason for reading this book: In most of what Feynman comments on in the book, he is confident bordering on (and sometimes beyond) cocky, but he is also extremely honest about his weaknesses and fears as a human being, which makes the book a very personal and charming read. As he describes how he conquers his challenges, he mixes some rare insights with a human story. He does get married, but his first wife dies from tuberculosis in 1945 while he is working at Los Alamos, and this chapter is very personal. He marries a second time in 1952.

This honesty is a recurring feature as well. He descibes being in Brazil to teach, and he encounters an interesting phenomenon: That the students on the face of it seem to know the curriculum completely, that the questions they are asked are answered in full – but when he starts asking them questions with scenarios, it turns out that they do not know the answers; and he discovers that they memorise everything without actually understanding it! And that is how they perceive learning. Of course, he tries to promote the inquisitive mind, genuine curiosity and debate about the topics, but it turns out that each student is so deeply trained in never admitting doubts, confusion or mistakes that the idea of a study group is discarded beforehand.
Feynman spends a lot of time on this, and he never fails to stress that it is his curiosity, his need to understand, that has brought him far and will bring him further – and being honest about what he doesn’t understand, and what is not yet understood in general, is a necessary part of that.

For the same reasons, he comes across as rather harsh when he is asked to be on the board reviewing schoolbooks. Not only does it very soon become clear that the other reviewers are barely skimming the books in question before giving their recommendation, it is also clear that the books are of an appalling quality and completely unfit for, you guessed it: Stimulating curiosity and creativity. He also rages against the politics of it: When one of the publishers offering the books at an earlier date, another does the same – and at a reduced rate! So, Feynman concludes, it seems that when you push the timeframe, the books become cheaper as well!

There is one interesting point where it is clear that Feynman is a product of his time. I have already mentioned Los Alamos, so perhaps you know – he participated in research for the army during the 2nd World War and cold war that followed – and actively encouraged his fellow scientists to do the same. As a result, he takes part in the research in nuclear weapons as a patriotic duty and is present at the nuclear detonation of the Manhattan project. While his personal opinion seems to go a bit back and forth on this, this biography contributes an interesting personal portrait of people like Oppenheimer who were involved in this research, and whom history has not only been kind to. There is also an interesting description of the clash of cultures between the army way and the academic approach.

Feynman’s curiosity is expressed in a different form – namely, his eagerness to examine other areas. In Princeton, he visits classes of other fields like biology and philosophy. In a series of discussions with a friend, an artist, he concludes that their lack of agreement is based on the fact that the artist does not know science, and he himself does not know art. So he sets out to learn drawing – and learns it with the help of his friend, and also painting – and suddenly he has a small business on the side selling paintings!
His interest in music also comes across – he learns to play drums quite well during his time in Brazil and gets to play with local bands; this also earns him some interesting friendships over time after he comes back to the States. In the time before he goes to Brazil, he learns Portugese, and spending some time in Japan, he learns some Japanese. Confronted with the riddle of Mayan hieroglyphs, he goes into deciphering an archeological find, a Mayan calendar.

I could say that Richard Feynman eventually ends up winning the Nobel Prize, but that would not be fair. While he certainly finds the discoveries that earn him the prize important and fascinating, the prize is of less interest to him and does cause him to get more attention than he wants and, one might say, the wrong kind of attention: The attention you get because you are a Nobel Prize laureate, not because you are an interesting or otherwise relevant person. As you will see, this rubbed against his view of the world.

This book was first published in 1985, a few years before his death in February 1988, and in the time after his death, what I find about him is mostly his literature, the materials he has written for teaching and, indeed, popularizing physics, and he is said to have been especially proud of being awarded the Oersted Medal for notable contributions to the teaching of physics.

The book is partly educational for the scientific content, the historical description of how certain discoveries came about, interesting portraits of great scientists – and partly a human story of an occasionally very shy and occasionally very extroverted, but always inquisitive person.

Bibliographic references are available from the Open Library page on this book.

Written by mjjzf

April 8th, 2010 at 3:59 am

Source as a safeguard

with 2 comments

A hot topic lately in the US technology media has been the discussion of the right to access the source code forming the basis of the software included in breathalyzers. Citizens accused of drinking while intoxicated have demanded access to the source code for the device in question, the breathalyzers that present the primary evidence against them in the accusation.

The request raises some issues. On one hand, the device – the Intoxilyzer 5000EN – is employed by the police and should as such be subject to scrutiny by the public. On the other hand, the company behind it is a private entity which reserves the right to deny access to the software source on the basis of trade secrets apparent if the code is made public.

Unfortunately, the debate has been somewhat obscured by a sidetrack into an open source versus proprietary software issue. While this is understandable – and more on that later – it is not actually a question of signing over the rights to the code, but simply to allow perusal of the code to ensure that no-one receives an unjust verdict. A commenter on Ars Technica posting under the name xoa suggests that it is unacceptable that this type of device is a “Black box”, an undocumentable analysis engine, and that all such devices should be developed openly and source should be placed in the public domain for inspection.

It is hard to come to an end-all conclusion on this discussion, since it squares a company’s private property against a public demand for – and right to – insight in a technological process which has the potential to influence many lives. But the discussion is important.

Interestingly, as an aside into the open source discussion, Eric Raymond argues in his classic work on the open source development model The Cathedral and the Bazaar that it is in the interest of the company – he mentions as an example producers of graphics cards – to release the driver source code, since this partially outsources the development of the driver and makes little influence on the development cycle, since by the time the competition has been able to reverse engineer the product, the producer will have moved on the next generation of the product. While I am no expert on breathalyzers, I suspect that the breath analysis market is somewhat different from the graphics cards scenario.

But the discussion is relevant, as has also been made clear by the debate around electronic voting machines. The potential for a democratic deficit is a very real and relevant concern, and it should not be dismissed. Contrary to the breathalyzers, the customer base here is clear – and in this case, it is the right (but perhaps not immediately apparent to be in the interest?) of the consumer, the state, to be able to submit the source code for review along with the election results. This is not much different from a right to a recount of votes on paper. In this otherwise technologically advanced country, a pencil mark on a piece of paper remains the method of choice for the citizen’s submission of a vote for referendums and public elections – to avoid the black box, the mystery method, between the voters and the result.

Something similar can be said to apply to medical equipment, but this is the (mine) field of patents, secret methods and methodology, proprietary software and hardware specifications locked down to an extreme extent. Still, one might argue that the source code of the software and the hardware plans of a medical device performing diagnostics or even treatment should be subject to peer review to ascertain that safety protocols have been followed and potential hazards taken into account -  if nothing else, then post mortem in order to examine the cause of the fatality and to avoid further injury. Obviously, only a select few scientists would have the knowledge and abilities to assess this question, a highly specialized combination of medicine and informatics.

I shall finish off with a quote by a representative of the natural sciences, a mathematician to be more exact, who has taken the consequence of scientific accountability and, as the project leader of the free software application TeXmacs, Joris van der Hoeven presented the following conclusions:

As a mathematician, I am deeply convinced that only free programs are acceptable from a scientific point of view. I see two main reasons for this:

  • A result computed by a “mathematical” system, whose source code is not public, can not be accepted as part of a mathematical proof.
  • Just as a mathematician should be able to build theorems on top of other theorems, it should be possible to freely modify and release algorithms of mathematical software.

However, it is strange, and a shame, that the main mathematical programs which are currently being used are proprietary. The main reason for this is that mathematicians often do not consider programming as a full scientific activity. Consequently, the development of useful software is delegated to “engineers” and the resulting programs are used as black boxes.

Written by mjjzf

March 15th, 2010 at 8:32 pm

Posted in Technography