Technographer.net is currently on hiatus, as the technographer is rediscovering his original identity in languages and literature.
Service will be resumed At Some Point ™.
Technographer.net is currently on hiatus, as the technographer is rediscovering his original identity in languages and literature.
Service will be resumed At Some Point ™.
Arranging a Linux event can make a great difference at the right place and time, but it actually requires limited resources.
This article is an attempt to write down some of the experiences gathered from arranging install cafés - and input and feedback from other people with experience in this field.
One should start with trying to get an impression (if possible) of the number of participants. It could be 5 people, or it could suddenly be 40.
There are pros and cons to having to register to participate; If registration is required, there will be some - in my experience, quite a few - who will not register, because they are uncertain about having the time or the interest. It can be a good idea in the beginning to get an impression of the number of people interested, so it is possible to prepare for it.
It should be clear in the announcement whether registration is required. If the number of participants is sufficiently high, and the users keep showing up and remain interested, one should consider establishing a LUG - a GNU/Linux User Group.
The best solution is to secure a flexible venue - for instance, a place where it is possible to use one room or several, depending on the turnout. Basically, a sports hall and a living room in a flat are not flexible venues.
The easiest places to work with are schools, libraries, universities, and clubs.
Obviously, the venue should have some facilities. First and foremost, Internet access with a network which will pull the load. It is of course preferable if both wired and wireless network access is possible.
Besides - and, believe it or not, people tend to forget this - there should be an adequate power supply. Not many places are geared for supplying 15 people carrying laptops and 5 bringing desktop machines with power.
So, extension cords are a good idea. An extra handful of network cables. It is practical, if one has the opportunity to bring a couple of extra monitors, keyboards, mice and power cables - a lot of users tend to lose interest once they begin thinking about the amount of equipment they have to bring.
Obviously, the pizza factor. It is good if it is close to a place where the participants can get somethin to eat and drink. One can consider ordering food in advance. A coffee machine (at a safe distance from the power cables) is usually a popular idea. If you consider accepting alcohol, you should note the age of the participants - and your responsability as the one in charge.
A good venue can make a lot of difference, and it should be considered if it is worth paying to be there - that is, letting the participants pay - in exchange for having a good location with the necessary tools.
One should consider having a program. GNU/Linux users can usually find something to play with, but there is a social benefit to having a small common project or presentation to look at. It does not have to take long, but could be a source of inspiration and give a sense of fellowship. If there are many beginners around, there is bound to be someone who has not yet compiled a kernel, set up X.org manually and the like. Everyone can benefit from seeing how a web or mail server is set up.
One should think about where and how to advertise the meeting.
The primary places would be LUG mailing lists and Linux sites - consider also involving the BSD user groups.
Often local newspapers print advertisement for local events for free. A message from you is a benefit to them, and there is no reason to not take advantage of this.
One should give out flyers and hang posters - local shops, schools, libraries. Obviously, schools and shops with a focus on technology are places to go for, but Linux is being adopted in a much wider group of people than that, so one can be surprised with the level of feedback after advertising in media, from which one would not have expected great interest. There is a tendency to focus on a few select environments, but the result is that all you’ll see are the usual suspects - you’ll hit a target group who has already made up their minds for or against.
The material should have complete contact information: At least an e-mail address and a phone number, in case those interested have questions, if you have forgotten to write something in the announcement (I admit I once forgot to write when the meeting began) - or if kind-hearted people would like to sponsor hardware, software, pizza or otherwise. We like sponsors.
As for the people arranging the event and the people participating: Neither have to be gurus - as long as someone has a fundamental understanding of how the system works, Google will usually hold your hand the rest of the way. Such an event is based on interest and curiosity, and it can be inspirational for new users to see how the more experienced users - who always seem tremendously more experienced - were up until recently newbies. The learning curve can be an intellectual turn-on.
It is rather important that the people in charge of arranging such events think about how much effort and resources they are willing to put into it. Sometimes people are so enthusiastic that they bring food, installation CDs/DVDs and other things - and even if this can serve as an encouragement at first, one should think of the long-term cost; suddenly one may have to stop it, because finances are tight. Therefore: Make sure that there is a realistic level. It is easier to do something extra once in a while than having to turn it down after a longer period. If you put a stack of CDs in the corner with a price per CD tag, it is considered a service to the people participating. If the users get used to simply getting the CDs for nothing, it can be a burden. Imagine the release of the latest version of OpenSuse. A handful of participants are interested in playing with it - that’s 25 CDs gone.
Personally, I worked my way around it by lending people my CD-RWs while they are there.
One might consider downloading some of the most recent distributions in advance, so they are ready to be burned to CD/DVD. An external hard drive can come in handy, so the operation is not tied to one single machine. It has often been seen before, that - just before the CD-burner is needed, the one who has that machine just started some RAM or CPU intensive task. Compiling a new kernel and burning a CD at the same time is, well, not fun.
To finish, I should say what made me interested in making such events:
The difference between this happening or not happening is the difference between you doing it or not - a quote from Gregers.
This is not complicated. In the above, I have sketched some thoughts and experiences, but really, it is not important if you call it Install Café, GNU/Linux Event or a couple of guys sitting down with a couple of boxes, discs and network access. The difference is in the doing. The freedom to choose is also the freedom to make things happen.
My personal result is getting to know a lot of GNU/Linux users, and a lot of GNU/Linux users getting to know me. I have seen how different people solve the problems in different ways, with a different agenda. And this has been very valuable to me, something I can use when working with or giving advice to people who are very different from me.
A couple of comments on the reference management system Zotero are in order.
Truth be told, I wasn’t entirely sure whether to post this small review here or at the sister site, Literate Lifestyle - since this is a tool to be used for academic purposes; but still, this is a technological review, and has a natural place here.
Now - when I refer to it as a reference management system, it is because it is comprised of several components. Essentially, it is a Firefox plugin, which facilitates building reference lists of books, magazines and so forth - much like programs like the immensely popular Endnote or more independent (and affordable) applications like Pybliographer and JabRef.
Zotero offers other advantages based on the fact that it is fundamentally a browser extension. With a few clicks, Zotero can add web site links and details to the materials list, and it is possible to take a snapshot of a web page in order to preserve it in the original form. Using this function, Zotero essentially harvests text and images from a page and embeds them as a static attachment to that reference post. This way, one does not have to rely on the web site remaining unchanged (since very few sites do). This is both possible with whole web pages and a partial text cut from a site. Once the command is executed, a small popup… well, pops up and indicates that the selection is being saved.
Zotero also has the ability to save data from a number of academic sites. One can look up a piece of literature on a site - Jstor, for instance - and a small icon will appear in the address bar. When you click on this icon, all the metadata around this work - author, periodical, ISBN number and others - will be added as a reference, including a note of where these data were harvested. This import is also available from Amazon.
To each datapost in one’s reference list one can add attachments - files of any type - and there is an option to add comments to it as well. In the version currently being developed, the text formatting options of these notes are being significantly extended.
There is an interesting function allowing the export of a reference list to a report, which is a printable, well-formed presentation of the data along with the notes the user has made. This is useful for teaching purposes. It is also possible to export the data to a HTML file, ready for upload.
Now - that was the browser component. As I mentioned, there are other components in Zotero - which make it considerably more interesting. There are also plugins for OpenOffice and Microsoft Word, which bridge the already described browser component and the word processors, so the collected data from Zotero can be inserted into the documents being worked on. The posts can be inserted as references, text quotes can be inserted directly, and after inserting these references, a list of literature can be generated automagically, following reference style standards like the Harvard Reference Format or the formats laid out in the Chicago Manual of Style.
Zotero works rather well, and it is quite straightforward to work with. It can be recommended to anyone doing academic research - or simply anyone who needs a system to keep track of references and documentation - to look into using Zotero.
The system is published under the Education Community License and can be downloaded at Zotero.org. On this site, you can find documentation on using Zotero - you will especially consider having a look at the screencast tutorials section, which is very educational and which presents the Zotero concepts in a very intuitive fashion.
As part of the Technographer.net site is a mirror of the Ogg version of the Linux Void podcast. For all the podcatching people out there, there is an RSS feed for that section of the site, which is an independent Wordpress installation on the subdomain.
Until now, I have used Feedburner - a very useful service which will generate an RSS feed from a site with sound links; this is practical and very easy to use. However, the feeds they create are huge. The automated process simply scrapes every last scrap it finds, and this gives some unfortunate results. Here is an example from the podcast client Gpodder:

So you see, there is a point in doing it yourself. It is, however, not too difficult - once you know how.
Examine the code below. This is a valid RSS feed file; it is an excerpt from the file placed at http://linuxvoid.technographer.net/soundfeed.xml:
<?xml version=”1.0″?>
<rss version=”2.0″ xmlns:atom=”http://www.w3.org/2005/Atom”><channel>
<title>Linux Void - Ogg</title>
<link>http://linuxvoid.technographer.net</link>
<description>The Linux Void podcast by Greg and Peter</description>
<language>en-us</language>
<copyright>2008 Licensed under CC-by-sa: Attribution-ShareAlike 3.0</copyright>
<lastBuildDate>Sat, 29 Nov 2008 21:22:00 +0100</lastBuildDate>
<webMaster>morten@technographer.net (Morten Juhl-Johansen Zölde-Fejér)</webMaster>
<atom:link href=”http://linuxvoid.technographer.net/soundfeed.xml” rel=”self” type=”application/rss+xml” /><item>
<title>Episode 12 - Progress?</title>
<link>http://linuxvoid.technographer.net/?p=85</link>
<guid>http://linuxvoid.technographer.net/?p=85</guid>
<description>* Review: TinyME * News: Songbird 1.0rc1, performance comparison: MacOS X 10.5.5 and Ubuntu 08.10, Creative X-Fi Linux driver, MPD v0.14~alpha1, new Ogg feed address * GNU Screen, Eterm</description>
<pubDate>Mon, 10 Nov 2008 19:53:00 +0100</pubDate>
<enclosure url=”http://linuxvoid.technographer.net/files/lvoid12.ogg” length=”19420285″ type=”application/ogg”/>
</item><item>
<title>Episode 11 - Hawking Pumpkins</title>
<link>http://linuxvoid.technographer.net/?p=25</link>
<guid>http://linuxvoid.technographer.net/?p=25</guid>
<description>* Review: ALTLinux * News: Banshee 1.3.3, Access Linux, new Linux Action Show format, Damn Small Linux 4.4.7, Windows 7, Ubuntu 8.10 Intrepid Ibex * Tips and apps: WICD, Netcfg</description>
<pubDate>Tue, 04 Nov 2008 11:22:00 +0100</pubDate>
<enclosure url=”http://technographer.net/files/lvoid11.ogg” length=”49301458″ type=”application/ogg”/>
</item></channel>
</rss>
As one can see, this is an XML file with all values encapsulated in tags, with some nested within others. The doctype and the RSS version are defined.
There is a preamble: A section describing metadata covering the channel feed - and after that the data for the individual episodes. Not all the preamble data is necessary, but much is certainly useful. Not everyone will be interested in aspects like the language, but with the concept of the semantic web, you should be able to interact through accessible metadata - through podcast aggregators, sites and clients. A free software and free documentation enthusiast will most likely want to include a licensing comment. The date for the last time you updated the feed is useful for yourself as well as the one using it - and a webmaster address, in case something goes south.
The individual <item>s hold the podcast episodes. As I have set a Wordpress up for linuxvoid.technographer.net, I have included the shownote link in the individual episodes. Note that this link is not the link to the file, but to a URL describing the episode. Also, note that this is not intended for the site URL, as it is is defined in the preamble. It is intended for if you have a text referring to this particular item.
The <description> is just that. There is a small detail about the formatting in this field: I experimented with using line breaks in the file. Gpodder would respect it, Firefox would not.
The <pubDate> - publication date - formatting is a bit tricky, but using the short format layout as indicated works across the board.
And then, there is the part which sets this feed apart from a regular RSS feed: The embedded multimedia link, the <enclosure url>. There is a link to the file location, the full size in bytes and the MIME type for it to be handled correctly.
This is, of course, just a short introduction based on the experiences with writing the feed. More on this can be learned from the W3schools article on RSS, which goes into a more general introduction to RSS feeds.
edit Dec 1st 2008: Added ATOM and GUID tags.
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?
Yours truly is one of the people who has to use several charsets under GNU/Linux - my native language is Danish, and I work with writing Russian. As I have to use both in a document - usually, I will cite from another text - it becomes necessary to change charset and the corresponding keyboard layout. And not just to change it - it has to be easy to use, too.
In desktop environments such as KDE, Gnome and Xfce, there are keyboard applets to do this, meaning that you will press a button on the panel and it will change. If you are just a little keyboard-oriented, however, this will seem inefficient and clunky; so what one wants to do is introduce a keyboard shortcut, a keystroke combination which will change the mapping.
To come to a conclusion on how to go about this, it is necessary to think about how a GNU/Linux system works. At the fundamental layer, there is the kernel; to interact with the kernel, there are the GNU tools and other basic system tools; this forms a basis which can be used to run applications. On a desktop system, you will then have X, the graphical server - and in order to interact with this, you will have window manager, sometimes administered as part of a desktop environment. The point above makes it possible to change the setting as a function of the desktop environment. But this solution is inadequate if a) you use several desktop environments or b ) use a window manager without a tool to redefine the keyboard layout. So, what one would want to do is to set the keyboard through X.org rather than leaving it to the WM/DE.
There are several ways to do this. As it was suggested by Nathan Dotz (sleepynate), it is possible to use setxkbmap. One might suspect what this does… the command followed by a keycode will change the layout. As is the case with me: setxkbmap dk and setxkbmap ru will let you SET X KeyBoard Map to what you want to use. And Nate suggests assigning a shortcut to that.
However, this is not practical in my case. If I was changing between Danish and, say French, I would still be in the same keyboard family, so to speak. Ctrl-Shift-D and Ctrl-Shift-F might work in that case. But if I change to Russian, the latin letters are, by definition, not available. And that means that I would be playing with a cyrillic shortcut for Danish to change back again. That is messy business.
Especially since X.org allows one to do it. I have made a change to my /etc/X11/xorg.conf - the main configuration file of X.org. Only a few lines are needed.
Where I used to have:
Option “XkbRules” “xorg”
Option “XkbModel” “pc105″
Option “XkbLayout” “dk”
- I now have:
Option “XkbRules” “xorg”
Option “XkbModel” “pc105″
Option “XkbLayout” “dk,ru(winkeys)”
Option “XkbOptions” “grp:alt_shift_toggle,grp_led:scroll”
Okay, so what does this do? I says that I have two layouts, the same as you would recognize from the setxkbmap command from above. The winkeys value in parantheses is an option. This gives the same as if one had called:
setxkbmap ru -option winkeys
- which is the version of the Russian keyboard setup which makes most sense to me.
Moving to the next line, the XkbOptions: Here, I have defined that the X server shall change between the two layouts if I press the Alt and the Shift keys simultaneously; and that the Scroll LED (which I never use anyway) on the keyboard shall indicate which of the settings is active.
You can use the following:
grp:toggle - switch using the right Alt key;
grp:ctrl_shift_toggle - ctrl+shift;
grp:alt_shift_toggle - alt+shift;
grp:ctrl_alt_toggle - ctrl+alt;
grp:caps_toggle - CapsLock;
grp:lctrl_toggle - Left Control key;
grp:rctrl_toggle - Right Control key;
grp:switch - Switch while the right Alt is pressed;
grp:lwin_switch - Switch while the left Windows key is pressed;
grp:rwin_switch - Switch while the right Windows key is pressed;
grp:win_switch - Switch while the any Windows key is pressed;
As for the indicators:
grp_led:num - Using NumLock LED to indicate group change
grp_led:caps - Using CapsLock LED to indicate group change
grp_led:scroll - Using ScrollLock LED to indicate group change
So, here we are.
The Technographer.net project was a (potentially ill-conceived) idea based on the assumption that there are not enough open source/free software technological reviews in the world. Or to be more precise: To get the opportunity to weigh in.
Behind this project you find Morten Juhl-Johansen Zölde-Fejér:
At least at this point - it will be interesting to get people involved.
In the beginning, the primary focus will be program presentations using screencasts - essentially recordings of how the program looks and a ton of opinion on that. You can consult the On the drawing board page for what is being worked on.
There is a partner site, the Linux Void podcast. This site will be hosting the Ogg version of the show.