Archive for the ‘Technography’ Category
Source as a safeguard
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.
LyX – the document processor
Something a bit different today – dipping into the technology pool.
So, why would your favorite scholarly scribe write about Lyx, the document processor? Well, to quote Obi-Wan, it is an elegant weapon for a more civilised age.
A lot of people who have published articles in academic journals will know the LaTeX markup language. This is particularly used in the natural sciences as LaTeX is extremely powerful for creating formulae and reaction diagrams.
Lyx is an attempt to bridge the gap between WYSIWYG – What You See Is What You Get, applications like Openoffice, Abiword, Microsoft Word and the like – and LaTeX, which, while creating some very elegant print-quality documents, is not particularly easy to get into. I have worked with LaTeX from time to time, and it takes quite a while to wrap your head around. LyX is not a text editor – in the sense that it is not just intended for entering text like you would do in an application like Vim, Emacs or the infamous Windows Notepad; the focus of LyX is to create documents ready for printing. Like LaTeX, it makes use of typographical conventions of using no more than a certain number of characters on a line to enhance readability, inserting spacing of a certain size in the text and so on. This makes for beautiful and very readable documents, but it also means that it restricts you to those conventions. For some, that is very challenging; if you are used to formatting freely, it can feel like a restriction.
The screenshots here are using LyX on my Slackware Linux laptop, but LyX is also available for Microsoft Windows, MacOS X and even OS/2. You can get it from the LyX download page. LyX is Free Software published under the GNU General Public License 2.
As a final note before I move into the main review, I should say that I am a linguist and writer, not a mathematician. This means that I will be focusing on what one will be using for document preparation, not the mathemagical features. For those interested in this, there is a brief mathematics intro on the LyX walkthrough. It seems to mostly use LaTeX syntax for that. LyX is quite well-documented for professional linguists, however – there is a dedicated LyX for linguists page.
As you see, the main screen is not much different from a lot of text processors. The interface can be accessed by using a mouse, but one will notice that holding the pointer over a button will show both the function and the keyboard shortcut; so the people behind the application encourage keeping your hands on the keyboard, which makes for less interruption in your work and less strain, which is a constantly increasing problem.
LyX follows the main principle of LaTeX, which means that the first things one does is define which kind of document it is – article, book, letter – and there are certain designs included as pre-defined article types to match the requirements of various journals or institutions.
After having defined the environment, you simply continue to define your text as you write it – as title matter, author, chapters. The system defines the layout as you go along, and it takes full advantage of LaTeX functions like footnotes and cross-references, margin notes for making overview of the text easier – and of course the various lists, such as table of contents, list of figures, list of tables etc. All things which can be har getting into with LaTeX, but is integrated in the LyX interface.
It is possible to insert a bibliography from a BibTeX file. This is the bibliography format associated with LaTeX, but LyX gives you additional options for manipulating the data. The BibTeX article in Wikipedia has a good example.
Actually, the area of bibliography is one of the places where LyX really shines; it is one of the places you can see that the system is intended for the academic community. The whole intention of these systems is to use some fairly simple files, mark them up to indicate what is to go where and then leave the system to output the materials in the format you want.
Lyx will import your bibliography file for reference. Using the citation manager, a citation for the relevant source will be inserted as an endnote. In this way, your bibliographical notes will be kept up to date as you move them around, add or remove. It is quite likely you will not want to use all the books you have been reading underway in your work, and this way the list will be kept correct – and formatted as your article or book style dictates it should be.
What you see here is the basic text editing window. As you see, the text indicates the features inserted there.
Personally, this reminds me of the Reveal Codes feature from WordPerfect. Again, more practical than LaTeX because it still keeps the text readable.
There are some very basic – and I believe this to be intentional – graphical effects. It is possible to insert images (extremely less complicated than with LaTeX), lines and boxes. The program is focused on text and text-derived graphics, which means that the functions for making tables and diagrams are well-equipped.
As I mentioned earlier, LyX has quite a bit of documentation, but this is not limited to the website. As an interesting approach, a lot of documentation is included as LyX files, which means that you can read the documentation as well see it in a final formatted version after processing it. Since LyX creates files for print, it focuses on export to print-oriented format. There are buttons on the toolbars for creating and updating DVI, PDF and PostScript files.
And so, the documentation documents also serve as example files.
If you are working on a thesis or a longer project, try out LyX. The application is quite powerful compared to the system resources it requires, and it scales remarkable well for very heavy documents, also working quite well with pulling in external documents. I have edited a very heavy lab manual for a biomedical conference with a lot of graphs and hi-res images on a fairly low-specification machine.
Though hardly the best illustration – colorful screenshots are not exactly the prettiest in this kind of environment – this article is available as LyX-file and PDF. Inserted images are screenshots 1, 2, 3, 4 and 5.
Quite a bit prettier with the first couple of chapters of my BA thesis – in LyX and PDF format.
Effort and purposes of the open source and free software movement
This article is a piece from a previous website I had, called The Technographer.
This site is now no longer active, but the article still makes me think deeper about this issue, so it might as well find a home here.
There is a thing which has been orbiting inside my head (inside orbiting makes sense if you have read or, as I did, listened to Singularity by Bill DeSmedt), which I would like to talk a little about here. The obvious question rarely asked: Why?
What triggered this question (and yes, I shall elaborate) was reading Hackers by Steven Levy (more about it in the Wikipedia article). In this classic, Levy tells the story about the original hackers and their love of technology, hacker ethics – the open access to create elegant solutions. It is also the tale of people obsessed by technology for the sake of technology.
I consider myself a part of the open source & free software community. I am not a programmer – and judging from my programming abilities, it is for the best if I don’t try to contribute – but I have written documentation, reviews, helped people use the software and translated both software and the accompanying documents.
Now, reading this book brings up a question, which is surprisingly rarely asked: Why are we doing what we do?
I mean, obviously people get jobs where they write software. Nothing strange about a developer writing server software being employed by IBM, Novell or for that matter Red Hat itself. But that is the people who do it for a living. How about the rest of us? Personally, I am a geek of office software (also often referred to by the unholy misnomer “productivity software), which is due to my profession, but there is a wide gap between this interest and the concrete tasks I use such software for.
In a recent discussion thread in the Linux Outlaws Forum it was brought up what people find most positive about the FLOSS world. As always, the answers were divided into technical merits and community. If one was to ask Ubuntu Community Manager Jono Bacon, I have no doubt from the opinions he voiced on numerous Lugradio broadcasts that it is the personal relations, the community feel, that makes the difference. I recognize that the community makes it interesting, that you build up a network of people with similar interest. But you would experience the same with model railroad enthusiasts, and they would never attach the level of importance to model railroads that the open source and free software movements attach to development. If any of you have ever taken part in a discussion about software licensing or people marketing the software simply as cost-free, you will know what I mean.
So why is software development important? Again, there are straightforward reasons for that – it is useful. I like to send email, that is handy. As I write this, I am using an open source operating system (Slackware) based on a free software (Linux) kernel to access the open source (Apache) server running a free software operating system (Debian Linux). As you see, this is WordPress, released under similar conditions. So it is nice to have. But important?
If one stops to see the more philosophical approaches to the topic, it is impossible to get around Richard Stallman and the Free Software Foundation. If you look at the GNU Philosophy page, you will see what RMS is about. A classic text is The Free Software Definition. This text will outline how proprietary software is ethically wrong – in other words, Stallman raises the question as a moral one. The authorized Stallman biography is aptly named Free As In Freedom: Richard Stallman’s Crusade for Free Software. But he is a remnant of the culture described in the abovementioned Hackers – Stallman is mentioned in the book – for whom software and technology have an intrinsic purpose and point, and the focus on releasing source code is a product of his academic upbringing: A mental excersize, an accomplishment should be published for peer scrutiny.
Another important piece of literature is The Cathedral and the Bazaar by Eric Steven Raymond. This other classic defines open source, but more as a methodology and an economic model. The economic model is elaborated in greater detail in The Magic Cauldron. To summarize, the point is to redefine the production of software from a product model to a service model. The logic is that since only a very small part of the industry is engaged in developing software for publication and packaged sale, it makes more sense to engage in creating a collective software infrastructure and selling support and services instead. It is a logical extrapolation of the hacker ethic that it should not be necessary to invent things more than once. And so, after building or extending a piece of software, the code of the program or the changes should be released as well.
One of the interesting aspects of Raymond’s model is that he is quite vocally a capitalist. Stallman has also from time to time had to stress that giving away code is not based on left-wing ideals; but Raymond argues for liberty, and one of the main points of the Cathedral and the Bazaar is how a society based on a bazaar model is more rational than the top-down controlled administration.as examplified by the building of a cathedral. Raymond’s approach is based on a meritocracy, that the more efficient and competent service provider will be the successful one.
As I said, this is methodology. It answers the question Why do it like this, if you are doing it – but not Why do it?
Of course, it is tempting to look to socialist ideology for an answer to this. In traditional socialist productivity, the problem is that the amount produced is usually smaller than the amount needed, and the distribution calculation is complex. If one is talking about code and software development, nothing is lost, nothing is wasted and everything can be replicated as needed. If one was to apply a parallel, it would be like everyone contributed only a single brick, but everyone would receive a house. So in software development, a socialist collective approach may be more efficient than when it comes to manufacturing produce.
While it seems less than likely that the open source and free software movements are a huge group of left-wingers, this model at least suggests a motive for putting in the effort.
An interesting suggestion is the philosophical approach suggested by Danish philosopher and technology commentator Tor Nørretranders. In his 2005 book The Generous Man (Det generøse menneske), Nørretranders suggests a darwinistic model for generosity and art. His often-mentioned example is that of the peacock, which has a huge tail which seems to serve no particular purpose and is, in fact, a hindrance for survival. The point is signalling a superior level of strength and surplus of resources, a display of creativity simply for the purpose of doing so.
Now, this seems like a viable explanation, particularly since software development requires a level of craftsmanship which would allow a developer to – dare I say: Show off the size of his tail?
Kindle a feeling towards Amazon
My loving and lovely wife has given me a Kindle for Christmas, and I also got a nice jacket for it. It is actually a very nice piece of kit – flat, smooth, good navigation buttons and a functional keyboard. Now, you might wonder why I would phrase it like that, but the sad fact is that I have got fingers that are too stupid for smartphones; and the keyboard on the Kindle is actually quite usable. One might be tempted to point to – let us call it inspiration by Apple with the white plastic and brushed aluminum casing. It seems quite sturdy, and I have been using it a lot. It is intended for people on the go, and it is good for that. I have just under an hour and a half on the subway when I go fencing at Sheridan Fencing Academy, and the same on the way back. Good to be well-equipped – and nice to be able to change books if I am in the mood for something else, without actually having to drag the entire library with me.
See the gallery for Kindle shots.
As for the content: They have certainly taken an interesting approach to integrating the gadget with the Amazon website. Included in the gadget is an unlimited access to the Amazon Kindle store online – which means that I can switch on the built-in wireless function and surf the Kindle store over Amazon Whispernet without having to attach anything else.
Surprisingly, they have not given into the temptation to lock the system down to Amazon-only text files. Maybe that is the lay of the land these days – that you can’t lock something like this to a single format, if you want to stay succesful (and aren’t Apple). It is certainly possible to use open formats and, even more surprising, use Whispernet to access eBooks files from other sources, most notably FreeKindleBooks, which offers a catalog of freely available books as an eBook, using which it is possible to download the book files on to the Kindle. These are from the Gutenberg project, an impressive project which collects electronic versions of books which are out of copyright. They scan the books and proofread the scans, crowdsourcing the effort using Distributed Proofreaders, where I have also contributed. The Gutenberg is an impressively massive text collection, and it is a beautiful that these materials are available; since these are materials out of copyright, there is a huge corpus of classics there.
Having said that, I have been shopping in the Kindle Store. I bought The Definitive H.P. Lovecraft – an anthology – for $0.99, which is quite affordable. I also bought an H. G. Wells Collection for $1.64, which I can just manage. The only book I got approaching full print price was The Atrocity Archives by Charles Stross, a writer I find myself increasingly fascinated by; and that one only set me back around $7. So the pricing is okay.
Actually, there is experimental support for MP3s on the Kindle. What this means is not entirely clear – I have not used it, but I have seen people use headphones with it on the subway. Whether it adds the music files to the library or how it works remains to be seen.
Interestingly, the Kindle has also lead to an interesting debate about the ownership of one piece under different media, which was covered on the Litopia podcast in the episode All the King’s Men. From the almost-amusing-but-not-quite department, there has been heated discussion about offering readings, versus having the Kindle do it for you. This was mentioned by the EFF, as one would expect, but also featured in a piece in the New York Times by Roy Blount jr, as the president of the Authors’ Guild. This is actually a very open-ended discussion of the technology offering what a human used to do.
The Free Software Foundation has an ongoing project called Defective by Design, who did a feature on the Kindle, which they like to call the Swindle due to the DRM (Digital Rights Management) features built into the machine, and the fact that the books purchased on the Amazon Kindle shop can’t be transferred to another one, as you would be able to do if you gave a printed book away after reading it.
It is quite possible that FSF goes into this application a bit more, because the Kindle, in fact, is based on Linux. In the enclosed product documentation – enclosed as in included on the Kindle – there is licensing texts of the included components. Of course the Kindle is not by a long stretch an open device – it is not the thing you can just modify – but still, it is interesting to see the Linux kernel deployed in an impressive mainstream product.
So, what is the conclusion?
That this is actually a very, very sweet device – elegant application . The ePaper concept means that it is possible to look at the screen in much the same way as regular paper – it is not like a laptop where the angle decides whether it is possible to view it or not. Also, the power is used the first time the text is displayed on the screen; this means that even though the appliance isn’t using energy, the text remains displayed on the screen. Fascinating. It was a great gift.