Sunday, December 19, 2010

Viral marketing: the truth behind the .wwf format

What really baffled me the last few weeks is why the WWF insisted on using their driver, although I demonstrated more than once that print-disabled PDF's can serve the same purpose. Why would they alienate the paper industry when there are more than enough really environmentally dangerous industries around. Why would they lie about its effects on rain forests - since most paper comes from tree farms.

Well, it became clear to me when I watched this video:



The driver does not just disable printing it also adds an extra page to the end of the document. They say it's there "just to inform the receiver", but I don't buy it. Marketing, that's what it is really all about. Every time you make and spread a .wwf file, you are making publicity for the WWF. Bottomline.

It gives me an eery feeling. Does it just "phone home" in order to check for "updates" or does it report how many digital advertisements have been spread the last week? It makes you wonder..

Update: According to GizMag the WWF has admitted it is all about viral marketing:
WWF Germany says that the campaign is meant to be viral and an extra page tagged onto each new format document will help introduce new users to the campaign and encourage awareness about how we use paper in our digital lives. If you don't want this extra page added to catalogs, official documents, CV's and so on then you'll need to choose another method of saving files and run the risk that such things may end up in a print queue somewhere.

This also proves the WWF is not too shy to bluntly lie. As I have demonstrated numerous times it is perfectly feasible to create a PDF that cannot be printed.

Update: It's not the first time WWF has launched a disastrous campaign. Remember this beauty?

Saturday, December 18, 2010

How to create a .wwf file (without that driver)

OpenOffice.org
Anyone with OpenOffice.org can make .wwf files without any additional software. Simply choose: File/Export as PDF. Then turn to the Security tab. Fill in a "permissions" password and disable printing:



Generate your file as usual. Finally, rename it to .wwf.

Windows
You can make .wwf files by installing the PDF toolkit. Generate your PDF file as usual. Then open a DOS window and issue:
pdftk myfile.pdf output myfile.wwf owner_pw secret allow CopyContents

For those who don't like to use the CLI, you can download my .wwf toolkit. The installation manual is here.

Linux
You can make .wwf files by installing the PDF toolkit, but note that it is included in most distributions as well (pdftk). Generate your PDF file as usual. Then open a console and issue:
pdftk myfile.pdf output myfile.wwf owner_pw secret allow CopyContents

For those who don't like to use the CLI, you can download my .wwf toolkit.

OS/X 10.6 and above
You can make .wwf files by installing the PDF toolkit. Generate your PDF file as usual. Then open a console and issue:
pdftk myfile.pdf output myfile.wwf owner_pw secret allow CopyContents

There have also been unconfirmed reports that you can create an "unprintable" PDF file by using the standard OS/X PDF printer and simply change the security settings. Makes you wonder why the WWF brought out an OS/X version in the first place..

The .wwf toolkit can probably be ported to OS/X as well. If you want to help, please leave a message in the comments.

How to print (or unlock) a .wwf file

Online
You can unlock your .wwf files here (up to 5 MB) or here (up to 95 MB). This one is even dedicated to .wwf files, which is hilarious!

Windows
Install Ghostscript on Windows and create this simple batchfile:
set ttt=%1
set tt=%ttt:~0,-4%
gswin32c -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sFONTPATH=%windir%/fonts;xfonts;. -sPDFPassword= -dPDFSETTINGS=/prepress -dPassThroughJPEGImages=true -sOutputFile="%tt%_noPW.pdf" "%1"

Save it as crackwwf.bat. Now open a DOS window and issue:
crackwwf protected.wwf

Unconfirmed, but it makes sense. Please put any corrections in the comments. For those who don't like to use the CLI, you can download my .wwf toolkit. The installation manual is here.

If you just want to print a .wwf you have to install GSview as well. Start it, load your .wwf file and simply print it.

Linux
Install Ghostscript and poppler-tools which most distributions carry. Then issue:
pdftops Presseinfo_SAVE_AS_WWF_-_SAVE_A_TREE.wwf crack.ps
ps2pdf crack.ps crack.pdf

You can also download my .wwf toolkit, which comes with a GUI. If you open it with KGhostview you can print it without any conversion at all:



OS/X
The .wwf toolkit can probably be ported to OS/X as well. If you want to help, please leave a message in the comments.

Saturday, December 4, 2010

World Wildlife Fund .wwf format cracked!

(Quick links to printing, unlocking and creating .wwf files.)

I heard about the new .wwf format this morning. It is an initiative of the World Wildlife Fund to prevent people printing PDF files. As a matter of fact, it is an encrypted PDF format with the "printing" flag disabled.



Of course, everybody wants to save the environment. I, for instance, print very little. I have a Linux BeBook to carry my documents along when I attend meetings and my ancient HP Laserjet 4p is on its second cartridge.

But I don't like it when people are forbidding me something. It is sending the wrong message. Just like that 10:10 campaign which suggested that if you don't participate, you're up for elimination (yes, you can try to eradicate this movie from the web, but so far I've always been able to track it down again. But keep up the good work, I love outsmarting you!).



So I set out to crack it. First step, I simply opened it with KGhostview. You may use any GhostScript viewer for that matter, but this one was simply available. Surprise, I was able to print it right away.



Still, this only fixes the problem for the receiver of the file. If you want to send it to someone else and enable him to print the file, the problem remains.



Simply issue these commands:
pdftops Presseinfo_SAVE_AS_WWF_-_SAVE_A_TREE.wwf crack.ps
ps2pdf crack.ps crack.pdf

The resulting file is a true PDF and fully printable. In the meanwhile, I've embedded this procedure in the .wwf toolkit, so if you happen to use Linux or Windows you're lucky.



Ok, now go figure another way to save the world. This is certainly not a good thing to spend your donors money on.

Update: This WWF gadget becomes more pathetic by the minute. Many wonder why they didn't bring out a Windows version. Easy, the output is generated by the default OS/X 10.6.4 Quartz PDFContext engine. Windows doesn't feature such an engine, so they would have to add one. The few FOSS Windows PDF writers I am familiar with all use the GhostScript engine, so keep your eyes open. We might have a GPL violation on our hands before we know it.

Update: The futility of this initiative is illustrated by this video:



I always loved Penn & Teller!

Update: Members of the FOSS community, who also participate in the WWF, have sent the following letter:
With regard to your WWF file format. You need to be aware that this "file format" is in fact merely an encrypted .PDF file, with the print flag set to false (so the document can't be printed).

What you should also be aware of is that any documents saved in this document "format" are trivially printable.

Yes, trivially printable.

All one needs do is open the document use The Free Open Source Software application GhostScript on Linux, and print the document. GhostScript by default ignores the Print Flag, and allows all documents opened with it to be printed.

You should also e aware that most of the free (as in no cost) PDF viewers for Mac and Windows, use the Free Open Source GhostScript back end, so they too will ignore the Print Flag.

Because your so called file format is in actuality simply a PDF document with a different file extension it is also trivially easy to create documents that look like your so called document format, but which don't function in the same way (ie the print flag not being set to false), which could lead to further degrading of your good name... as if this bit of silliness, and gross waste of your supporters money has not already done so, at least among myself and my friends, who have up until now been strong supporters of WWF

If you really want to make a strong statement about conserving trees, reducing landfill (with toxic waste, like old computer parts) etc. Start promoting strongly the use of Free Software (FOSS) and the Linux Operating System for personal Computers.

Free Open Source Software and particularly Linux based Operating Systems (such as Fedora, Ubuntu, Linux Mint, Mandriva, openSuSe, PCLinuxOS, etc) are exceptionally Eco Friendly, because unlike their proprietary counterparts they do not arbitrarily change in ways that require, for example; the purchase of a new computer, thus making the old on redundant, and no longer usable (and eventually having it scrapped, and the parts sent to landfills), because Linux based Operating Systems will still function well, often exceptionally, on computer hardware that is 5 or 10, or even more, years old - that's a lot of computer hardware that would otherwise have ended up in landfills, and it's a lot of computer hardware that doesn't need to be manufactured.

Our (myself and my friends) support of WWF is now, in light of your wastage, and frankly, quite silly solution to reducing deforestation, contingent on your actually doing and recommending sustainable, and effective means of reducing deforestation and toxic landfill.

Please consider this letter carefully.

I honestly hope this is the end of this fruitless initiative.

Update: Obviously, the administrator of the Facebook page cannot distinguish between making it and breaking it. To prove my point, I posted a valid .wwf file, made by using standard Linux tools. "Wired" also mentioned it, not too favorably. Read the comments on that page for yourself.

Update: Proof that the WWF was deliberately out to frustrate less savvy users (Translated from German):


That's what it's all about. Of course you can specify that a PDF cannot to be printed. However, many people are not familiar with this feature. But those who are not computer savvy should be made aware of their choices.

It's about as ethical as a car manufacturer who disconnects a cable to "raise awareness" of carbon emissions. Real petrolheads can reconnect such a cable in an instance while ordinary users are left frustrated. Deliberately preying on the ignorance of people is simply despicable.

Update: People are wondering why I did it and why I'm so persistent.
Everywhere charity organizations like WWF are getting less donations. Consequence is that they're getting more aggressive and are shoving their ideology down our throats.

It may be obvious that the ideas of WWF in this respect and FOSS are incompatible. It is the duty of the FOSS community to expose this scam and provide alternatives to give users back the control over their computers, so they can use it in any way they see fit.

Furthermore, it exposes how the WWF are using their precious funds for a cause that is highly debatable in itself. We hope this will deter other organizations to walk similar paths.

That's why.

Update: There have been unconfirmed messages on the Facebook page that the OS/X version of the WWF driver "phones home". Is the WWF spreading spyware? And if it isn't, why doesn't it ask permission first - like any decent program?

Update: It is confirmed by WWF that the OS/X driver "phones home". Allegedly only to check for a new version. The program did not explicitly ask permission when it was installed, neither did it inform the user in any way, form or shape of this behavior. It cannot be disabled.

Update: The best tip of 'em all. How to remove the driver from OS/X. There's no uninstall option, but it's simple:
Delete /Applications/SAVE AS WWF.app
Delete /Library/PDF Services/SAVE AS WWF

Finished. The world is safe again. If you're lucky.. If not, maybe this helps.

Update: Bad news for the "Save as WWF" campaign. According to Printweek.com it has caused a rift within the WWF itself. WWF International director of corporate relations Maria Boulos warned that the campaign was "misleading" and might "cost them a partnership in France". Boulos requested that the english-language site be shut down "immediately and temporarily" until the necessary amendments could be made.

Update: Yup, it has entered Wikipedia, featuring yours truly. Note I had nothing to do with it. Just added a few missing citations.

Sunday, November 21, 2010

"RTL Gemist" kijken op Linux

Update: Sinds 20 januari 2011 werkt deze truuk niet meer. RTL XL is overgeschakeld op een speciale iPad applicatie.

Sinds de overgang naar RTL XL kunnen Linux gebruikers geen video's meer bekijken van de RTL site. "RTL Gemist" is met een truukje echter wel te gebruiken. Daarvoor hoeft geen Moonlight geinstalleerd te worden!

Als je naar de iPad site surft, wordt je automatisch doorgelinkt naar RTL XL. Dat komt doordat de site de "User agent" bekijkt, die iedere browser ongemerkt doorstuurt. Daardoor heeft de site door dat hij eigenlijk met de Linux versie van Firefox benaderd wordt en reageert overeenkomstig.

Die "User agent" is echter te wijzigen. Download eerst deze add-on, de "User agent switcher". Herstart Firefox en ga naar het menu "Tools". Daar is nu een optie bijgekomen, namelijk de "Default User Agent". Kies "Edit User Agent" en druk op "New". Vul daarna het formulier als volgt in:
DescriptioniPad
User AgentMozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10
App Code NameMozilla
App NameNetscape
App Version5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10
PlatformiPad
VendorApple Computer, Inc.

Laat Vendor Sub gewoon leeg. We zijn nu klaar om "RTL Gemist" te bekijken. Kies "Tools", "Default User Agent", "iPad" en surf naar http://www.rtl.nl/service/gemist/device/ipad/. Als je nu bij RTL XL terecht komt, is er iets mis gegaan. Zie je het scherm in de afbeelding, veel plezier!


Overigens werkt dit truukje ook perfect op "Uitzending gemist" van de publieke omroep. Je Linux bak wordt nu herkend als iPad.

Update: Deze site geeft de video's ook door, ongeveer in gelijke vorm als de iPad versie hierboven, maar dan zonder de hack. Voor zolang als het duurt, uiteraard!

Update: "De Pers brengt vanmiddag een web app uit voor de iPad: www.i-pers.nl (werkt alleen op iPads)". Nee hoor!

Saturday, November 20, 2010

Dutch treat: RTL XL's major FAIL

Recently RTL (a Dutch commercial television network) relaunched their website, moving entirely from classical Windows media to Microsoft Silverlight. On this site, you can not only play clips, but also watch their news reports and various other selections of their programs. Very handy and consequently quite popular. More so because with Firefox and a few additions you could watch it on almost every platform - or even every browser.

Silverlight, on the contrary, poses many problems. Few Linux users are able to play anything at all, even after installing the patent-infested Moonlight plugin. But also Windows users are experiencing problems, especially with Firefox and Chrome. The only combination that seems to work reasonably is Internet Explorer 8 with Silverlight 4.0. RTL has acknowledged this, but for the time being, there is no fix in sight.

Since the use of Internet Explorer has fallen below to the 50% mark, they should experience a drop in the number of visitors. That should explain why they are advertising that much. Yes, RTL, I'd love to visit, but don't limit yourself to IE8/SL4 users. They are slowly becoming a minority.

But your troubles are not over. Microsoft's strategy is changing. They are quickly moving from Silverlight to HTML5. So all that money you invested in a top notch website is simply wasted!

Following the "market leader" is not a safe choice anymore, deal with it, you dummy RTL CIO's. Do your own research and look where the market is going. One thing is for sure, it is not going to be Microsoft. Microsoft is already a niche platform where tablets, cell phones and MP3 players are concerned. Microsoft was never a real player on the web. Apache rules and that is the way it has always been.

Microsoft is in trouble. The man that should have given it a new direction has left. The CEO sells 2 billion in stock (remember WorldOnline?). Getting the message? A company in trouble is going to make strange moves. And making your whole technology strategy dependent on it is not a safe bet.

Update: I just found the "dummy" in question: Arno Otto, Managing Director Digital Media of RTL Nederland.

Update: From the RTL XL FAQ:
Warning!
Dear viewer, at this moment we're experiencing some problems with RTL XL, which is not compatible with Google Chrome at the time being. There are problems with the Silverlight plugin. We do our best to fix this error as soon as possible. Sorry for the inconvenience.

Update: I've found a way to watch "RTL Gemist" without installing Moonlight. You can get instructions here (Dutch).

Update: Confirmed: "Due to a technical problem there are temporarily no statistics collected from the RTL streams". If there is a problem that's bad enough, but maybe RTL doesn't want to be bothered with statistics right now. Go figure, if there is a sharp drop in the number of visitors that means their expensive project has failed miserably. Admitting that in the boardroom is hard enough, try admitting that in public..

Update: Another indication that I'm on to something. What does Google suggest when you're searching for RTL XL?

Which translates to "RTL XL doesn't work".

Update: RTL XL now sells a dedicated iPad application for only 79 eurocents. That's not very expensive. But what do the customers think?
I relied on all the rave reviews but it is a setback with a vengeance. Probably the entire RTL editors left a positive review. E.g. a huge picture with just three lines of text, stating: "Click here to view video". You can click all you want, but no video pops up. It seems that the application is still in testing. The live stream is of a very low quality. All in all a waste of money, even for 79 cents. There are plenty of better alternatives to see the news.

It seems my fellow countryman is wrong: it may take some time before my workaround is defeated.

Saturday, September 11, 2010

An average Windows XP day

You probably know by now that I don't touch anything but Linux in my private life. I got a Linux laptop, a Linux mini-laptop, a Linux eBook reader, a Linux television and an Android cell phone. However, in my professional life I do not have that choice.

In the Netherlands virtually every single company uses Windows. Windows is not a very secure Operating System, so everything is bolted down. I cannot install new programs, I cannot kill system processes, I cannot add any buttons or change the menu. The whole thing usually boots from the network. So, don't comment that "this program adds that functionality" or "open up a settings menu and change this or that". It doesn't work.

During the day, these are the annoyances I have to deal with:
  • Bootup takes up to twenty minutes. It probably has to do with the fact that my entire profile has to be transferred to my workstation. That's stupid. Can't you just mount a /home directory with all my settings already there?
  • I get a message I cannot be logged in. I scroll down and see that the harddisk is full. I call the helpdesk, they log in and wipe all those useless profiles that have been accumulated over time. Half an hour later they're done.
  • The desktop comes up, but clicking desktop icons doesn't have any effect. I have to wait for an additional minute or two. In the meanwhile I've started and shutdown my Ben Nanonote over a dozen times.
  • Finally Outlook comes up. I have to wait an additional minute or two before clicking any folders has any effect.
  • Firefox comes up, I have to import all Explorer settings all over again. My passwords are lost. I have to reinstall and configure all add-ons all over again, including the FTP accounts of FireFTP.
  • I don't have any usable "notes" program, so I use the Outlook notes. Which moron designed this? It isn't even a regular window, so I can't scroll down.
  • Anything that Outlook considers to be a "dialog" blocks Outlook entirely. KMail does that a lot better. Why can't I copy an email address from the recipients dialog?
  • More Outlook woes. Using Excel to send the spreadsheet as an attachment freezes the entire desktop. I can't even save the file and do it manually. I kill both Excel and Outlook and start all over again.
  • Opening an RTF file attachment of 2K in Word takes minutes.
  • Copying and pasting items in a message changes the style over and over again. I change to pure ASCII text again.
  • Even pure ASCII text doesn't work the way it is supposed to be. More editing.
  • Clicking the box "The attachment is still open in [bladibla]. Do you want to close the message anyway?" for the zillionth time today.
  • If you don't get that message you may be even worse off. If you happen to open the attachment, manipulate it, save it and then close the email, you may get the message "Do you want to save it?" If you answer YES, your original attachment is lost. If you answer NO your changed file is lost. Yes, even if you saved it to disk. Which moron thought that was a good idea?
  • Mailbox full. I have to create a .PST file, copy all my messages there, put the .PST file on my memory-stick, fire up my laptop, import the .PST in Thunderbird, harvest the resulting file somewhere hidden in the bowels of the C: drive, copy it to Pegasus Mail, rename it, transfer all the messages in the correct folders and delete the .PST file.
  • I copy a template SQL statement in the braindead Notepad editor. Now I have to fill in the parameters. Although my desktop is quite cluttered, I cannot minimize all windows, nor open a new desktop and transfer one of the windows there, nor tell one window to stay on top of all the others.
  • I've copied one of the parameters, but when logging in to PHPadmin, I forgot all my passwords were lost. Since there is no Klipper, I have to open up my password file (sorry, no KDE Wallet, it's an ASCII file), copy and paste the password in the appropriate box, open up the message again and copy the parameter again.
  • When selecting a file in the file dialog, it has forgotten all my settings. I want a detailed list, sorted by modification date. I'm not even mentioning the fact I have to resize the window each and every time, nor that it seems to forget all the time what my default directory was for that program.
  • While editing a Word document, it changes styles all the time for no obvious reason. I have to correct that all the time. God, I miss WP 5.1..
  • While creating a table of contents it inserts empty pages. The table of contents itself doesn't honor the margin settings. Trying to correct that, well, you catch my drift.
  • Word document looks really good now. I save and reload it, only to find that my images are all over the place now, partially overlapping the text.
  • It fails while trying to generate a PDF file, simply because I have the previous version still open in Adobe Reader.
  • It seems unable to remember my default printer, not even for this session. When I'm too hasty, it sends my output to the printer in the first floor. Hurray! Fortunately, I'm not working on the top floor of the Empire State Building.
  • It fails to mount my memorystick, because it overlaps a network drive. Another memorystick works fine. The same memorystick mounts flawlessly on another Windows machine.
  • Windows seems to freeze for the zillionth time today. I frantically press [CTRL]-[ALT]-[DEL] because clicking the taskbar doesn't work anymore. The virusscanner has obviously kicked in, eating away between 25% and 50% of my CPU. Can't kill it. Work becomes virtually impossible, since the machine takes seconds to comply after each and every command.
  • Windows asks me for the zillionth time, how it has to open a simple ASCII file. Yes, try to find the appropriate program on the web, you moron. Can't select an alternative editor because it has been installed as an .MSI.
  • Notepad garbles my file, because it can't deal with Unix ASCII. I have to save it and reopen it with Wordpad.
  • [CTRL]-T doesn't work in Explorer v6. I have to open a menu, select a new window and enter the link. More clutter on the desktop.
  • Explorer explains to me for the zillionth time that it is very dangerous to open a .SVG file. I have to open the options, allow it and then it will finally show me what I want. I made a small error and have to open the file again. Explorer explains to me for the zillionth time that it is very dangerous to open a .SVG file, etc.
  • I press [PRT-SCRN] and try to copy the image in a HTML message. It won't do it. I get some cryptic error message. I open up Paint and try to paste the image again. No problem. I save it as .PNG, include it as an attachment and off we go. When I open the message again to view the image (check and doublecheck) Windows complains it can't open the image, because it is an unrecognized filetype. Maybe I want to look for an appropriate program on the web which I can't install anyway.
  • Another messagebox pops up: "You copied a lot of data to the clipboard. Do you want to retain them?" Since when do I have to manage your buffers?! Who is the Operating System here?! Deal with it!!
  • After uttering more F-words than an average Jerry Springer episode featuring Gordon Ramsay, my workday is finally over. I try to shutdown Windows. It takes another five or so minutes. Others would probably run away, but I dutifully wait until the thing has closed. The tramway is gone. Now I have to wait in the rain for ten minutes until the next one.
  • Dripping wet I enter the tramway and fire up the Nanonote. After I finish sneezing it is there.
  • I wonder what is so "professional" about "Windows XP Professional". Seems rather lame to me. How much was it they spent on usability tests?
  • Whatever happened to the Windows XP Media Centers? Haven't heard about them for some time..

Update: I got a lot of feedback to this post, both verbally and in writing. Some commenters blame it on the setup of Windows XP in this particular company. But I'm not just writing about performance issues. A better implementation does not fix the usability issues and the obvious bugs (especially in Word and Outlook).

Due to this feedback, I can add the following annoyances to the list:
  • A document written in Word 2007 and saved as Word 2000 crashes Word 2000 consistently.
  • Access writes Excel files in a different (older) format and cannot subsequently read them without conversion.
  • Word 2003 shows only the first 11 pages of a 21 page document. A full uninstall of all addons, registry cleaning and other measures are required before it behaves again as it should.
  • Reading an alien format into Excel 2000 and subsequently trying to email it leads to a complete breakdown of Outlook.
  • Word 2000 cannot correctly read an RTF file. Tables get garbled.
Update: a new collegue asked me: "Can I work with LyX here?" I answered him: "Yes, you can. They should be used to it by now. Just don't forget to install Latex2RTF." "Great!" he said "That saves me 40% of my time. That's the time I usually spend to correct the layout." Nuff said. Scrap Word. 40% more productivity gained by using an application that costs you $0. Good ROI.

Monday, August 30, 2010

My life with Ben, episode 3

In the previous two episodes, I've told you how I've carried the Ben Nanonote along for several weeks, just to see how it behaves in the real world. In short, it has been used as an MP3 player, a small wordprocessor and as a miniature system console.

But since it also has a capable PDF viewer I wondered whether it could free me from printing those papers just before a meeting. You know, these entries in your schedule that you become aware of just five minutes before they start. In the meanwhile you have to collect all the documents required from various sources and locations and quickly send them to the printer since your regular laptop is out of juice or its use during the meeting is - if you happen to work for certain technologically conservative companies - "undesired".

At that moment you will notice that a "printer queue" refers to the number of persons waiting before their print jobs have finished and if it doesn't that's because the device in question is either out of paper or simply jammed beyond repair.

So wouldn't it be nice if you could simply put all these documents on your Ben Nanonote and carry them along? Sure it would. The only thing keeping you from doing that is that your boss probably selected that "other" Operating System and ditto Office suite.

Fortunately, most companies offer PDF printing capabilities nowadays, so you can save your documents in that format. If not, there are several FOSS or freeware utilities you can use like FreePDF, CutePDF or PDFCreator. Note the latter has been accused of installing spyware, despite its FOSS license. If you're using any FOSS productivity programs, you probably have that capability already. Anyway, whatever method you use, generating PDF files is usually a matter of seconds.

The big question is, how do you get them to your Nanonote that quickly. USB doesn't work on MS-Windows - unless you're only interested in charging the battery of the Nanonote - and chances are your uSD card contains only ext2 file systems. But help is underway, because it is possible to read and write ext2 file systems under that "other" Operating System by using Ext2IFS (freeware) or Ext2FSD (FOSS).

Both are very easy to install under XP, but I had a bit more luck with Ext2FSD. Ext2FSD is definitely recommended when you use one of the latest incarnations of that "other" Operating System, because Ext2IFS hasn't been updated since late October 2008.

For accessing the uSD card I use an SD card adapter, although USB adapters are also available. First I installed Ext2IFS, rebooted, inserted the uSD card and started Explorer. Then I uninstalled it and repeated the same procedure with Ext2FSD. Both times I was asked whether I wanted to format my uSD card - which I didn't, of course. Ext2IFS was consistent in its behavior, but Ext2FSD complied when I accessed the drive with MinGW bash. After that, Ext2FSB worked flawlessly, reading and writing the ext2 file system and unmounting it cleanly.



I must note I've been pretty careful, shutting the Ben down entirely before inserting or removing the uSD card. You can probably mount and unmount it while in operation, but because booting the Ben is a matter of seconds I simply didn't want to take the risk.

In a previous episode I already reviewed "nupdf", which is a pretty decent PDF viewer - although not entirely bugfree. It is very well suited for reading office documents, which are usually fifteen pages or less. You can even keep two "nupdf" instances in memory concurrently and switch between them by pressing [CTRL]-[ALT]-[Fx]. However, "nupdf" does not blank the screen automatically (like "gmu"), so you might drain the battery a little bit quicker than usual.



I must admit I haven't tried using "nupdf" for reading entire books, but I wonder whether it is well suited for that purpose. You'll either have to strain your eyes to read the small, grainy print or scroll from the left to the right all the time. Whatever choice you make, I can assure you it is not going to be a comfortable read. Note this is hardly the fault of the developer, but rather a logical consequence of using a device with these limitations for this kind of task.

Still, for a quick peek you can't go wrong, especially since you can keep "hnb" open in another console to make a quick note. If you keep your uSD card synchronized with your desktop, you're prepared to go to any meeting at any time. Never mind the print queues..

Sunday, August 29, 2010

My life with Ben, episode 2

I've had a serial terminal connected to my Linux box for as long as I can remember. My brother worked for a company that was phasing them out at the time, I told him I wanted one (I was always a sucker for useless hardware) so I got one for free. It sat on my dinner table for years and then I switched to Linux. Hooking it up was (and is) quite easy. You simply put this entry in your inittab:
S0:12345:respawn:/sbin/agetty -L 38400 ttyS1 wy60-25

And make an entry in /etc/securetty. Done. Then I log in and enter:
tail -f /var/log/messages

This may seem trivial, but it has saved my life numerous times, e.g.
  • .. when X becomes unresponsive because a runaway program is eating up my swap space;
  • .. when X crashes for some reason and locks up my terminal;
  • .. when my harddisk is starting to give up and throws all kinds of messages all over the place.
Once I was able to quickly make a backup, losing only a few trivial files. After a reboot the disk was gone forever.

Unfortunately, my old Wyse 25 is slowly giving up. All of a sudden horizontal or vertical bars strike out all the characters on screen and only a sharp tap on the left side of the terminal helps - sometimes. I have been looking for a replacement, but even on eBay they're scarce. Wyse has stopped producing them altogether.



The closest thing you can get are thin clients. Although they're not too expensive they're a hell to setup properly. Note I'm not a network expert and I really don't need a GUI. All I need is a bunch of scrolling /var/log/messages and an occasional [CTRL]-C halt[ENTER]. In other words, a thin client: that's overkill.

Then I got my Ben Nanonote. The Ben features a serial port, but unfortunately you need to solder your way into that. That's a tall order from a guy who can't even properly glue the poor things feet back on without making the device an inseparable part of his body. But the Ben also features an Ethernet-over-USB gadget. I could use that one to connect it to my OpenSuSE machine.

Ok, it probably can be done, but I got two problems here. One, I don't know much about networking. Two, I'm paranoid where security is concerned. I saw sshd was running, so I tried to login.
ssh root@192.168.254.100

Surprise, it didn't work. A quick look at dmesg showed me why:
SFW2-INext-DROP-DEFLT IN=usb0 OUT= MAC=xxxx SRC=192.168.254.101 DST=192.168.254.100 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=27103 DF PROTO=TCP SPT=49762 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (yyyy)

It was killed by the firewall before it even got there. I never like fiddling around with my machine - especially when I barely know what I'm doing - but I gave it a try. I started YaST, selected "Security and Users" and then "Firewall". Then I selected "Interfaces" and placed "usb0" in the DMZ.



Now I had to allow Ben to use ssh. I selected "Allowed services" and then "Secure Shell Server".



Finally, it was time to wrap it all up and try again. I finalized the configuration and was presented with a screen, showing all my changes.



When I tried to login, it still didn't work, but at least I got through.
SFW2-INdmz-ACC-TCP IN=usb0 OUT= MAC=xxxx SRC=192.168.254.101 DST=192.168.254.100 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=460 DF PROTO=TCP SPT=49763 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (yyyy)

Finally, I turned to /etc/ssh/sshd_config and changed a few settings. Now, this was dangerous territory..
Port 22
AddressFamily any
ListenAddress 192.168.254.101

Then I restarted ssh.
/etc/init.d/sshd restart

But all I got was:
bind: Cannot assign requested address

Duh? Ok, to cut this story short: I went from 192.168.254.101 all through 192.0.0.0, but all with the same result. Finally, 0.0.0.0 worked. Don't ask me why..

I went to Gibson Research Center to test the outside defenses. All ports still on stealth. Fine. I know my ADSL modem has a firewall too, but you can never be too sure..

So, this is how my Ben Nanonote became a console. If my Wyse 25 finally goes to that big computer center in the sky, the only thing I have to do is to order another Ben Nanonote and hook it up.



Sure, there are still a few things left to figure out. Sometimes I have to go through the entire firewall dialog, because it seems to have "forgotten" all about the DMZ. The connection with the Ben is not set up automatically at startup and finally, a professional would have made a far more better job of setting up the entire configuration. But it works! And that's good. I hate repairing filesystems.

Saturday, August 28, 2010

My life with Ben, episode 1

I've been using (and abusing) my Ben Nanonote daily now for several weeks, simply to find out whether this little machine is just a little gadget or really a useful device. In the meanwhile, I found out several things:
  • The feet will come off, so maybe you'd better fix that before it happens, because the changes are you'll never find them again. Using it without feet is not an option, because it will wobble. Which is very uncomfortable and irritating.
  • When the screen fades to white, it hasn't given up. Relax, hook it up and it will recharge. The battery is dead, not the screen.
  • I will boot the Nanonote when I'm on the tramway and it will usually still have juice when I get home eight hours later, unless the screen has been heavily used - at least that is the impression I have. I haven't tested this under controlled circumstances yet.
  • Unlike the iPad, it does have multitasking. You can switch between consoles by pressing [CTRL]-[ALT]-[F1], [CTRL]-[ALT]-[F2], [CTRL]-[ALT]-[F3], etc. Even when you're using a graphics application. However, if you try to use two heavy-load applications at the same time (e.g. Gmu), strange things may happen, including a spontaneous shutdown.
So, you may ask, what am I using the Nanonote for all day? Well, first of all, Gmu makes it an excellent Ogg player. The Nanonote comfortably fits in ones pocket and has an excellent sound quality. The uSD card provides lots of space, so you can take all of your favorite songs along with you. Second, the "hnb" (a sort of KJots) is always just a few keystrokes away, so you'll never have to search for a piece of paper while on the phone. You can even create a spreadsheet using "sc" or 4tHs own "Tiny Commandline Spreadsheet".

I clearly stated "create", not "maintain". Why? Well, IMHO the screen of the Nanonote is just too small to manipulate large amounts of data. You simply don't have any overview. E.g. a line is only forty characters wide, so you can only see three columns at the time. I haven't worked with such small screens since the ZX Spectrum. And even in those days, I didn't feel a spreadsheet was a viable option on that machine.

Don't understand me wrong: it's alright to set up a spreadsheet while "in the field", but at some point in time, you want to transfer that file to a full blown workstation and continue work there. Fortunately, "sc" allows you to export a spreadsheet to a CSV-like format. "TCS" even supports exports to .FODS (OpenOffice), .XLS (MS-Excel), and .KSP (KSpread). "TCS" will be part of the up and coming 3.61.0 release of 4tH.

The same applies to wordprocessing: you simply don't want to maintain a large document on the Nanonote. But what you want to do is to create a document while on the road. I'm a regular columnist of the Dutch "IT Infra" magazine, so I really want to use these lost moments to do some work.

And there the trouble began: there is no wordprocessing package available for the Nanonote. Just a few editors. However, while looking for a "curses" based wordprocessor I stumbled upon "txt2tags", a formatting program written in Python - which is supported by the Nanonote.

The big advantage of "txt2tags" is that you don't have to bother yourself with technicalities like setting margins or papersize, you just type and add formatting instructions like section, bold, bulleted list, link, image, etc. When you're done, you simply render the document in the required format, like HTML, TeX, etc. Very much like how my favorite LyX works.

Now the quest for a suitable editor began. Fortunately, a list of suitable editors was available, most of which were already available on the Nanonote. "vi" was out of the question, because - although I like it for editing source files - it doesn't give me a wordprocessor feel. "nano" just fell short, especially the Nanonote implementation. So I decided to use "joe". "joe" has a "Wordstar" legacy which I do not particularly like (I'm still trying to get the knots out of my fingers while trying to type [CTRL]-[ALT]-[SHIFT]-K-Y-0) but it would have to do. There were three things I wanted to archieve:
  1. Wordwrap and reformatting paragraphs;
  2. Highlighting of tags;
  3. Rendering of the document within the editor itself.
Wordwrap and reformatting
You can customize "joe" by creating a .joerc file within your $HOME directory. Note you have to customize "joe" completely - you can't just single out the options you want to set. The nice thing about "joe" is that you can customize it for particular file types. My "txt2tags" files all have a .t2t extension, so that wasn't too difficult:
*.t2t
-rmargin 39
-wordwrap

That did the trick! I could simply type away without scrolling to the right, so all the text remained on the screen. If I had created a gap while editing a quick [CTRL]-K-J would fix the formatting. Mission completed!

Highlighting of tags
This proved to be a bit more difficult. I created a ~/.joe/syntax directory and placed the txt2tags.jsf file there. I edited .joerc accordingly:
*.t2t
-rmargin 39
-wordwrap
-syntax txt2tags

Nothing. I turned to the Nanonote mailinglist for help and David Kuehling and Mark Adrian Bell came to the rescue. Mark had been able to activate syntax highlighting by using Davids own "joe" package.



So I uninstalled the native "joe" package and installed Davids. Nothing. Nada. No highlighting. I asked David for help and he figured it out: the -highlight option was missing. He found that one out by incident when using another .joerc file. I would never had thought that because the -lightoff option was disabled.



And that is the problem with "joe". IMHO it is not sufficiently documented. You can surf the web for hours - like me - without finding any useful information. Sure, if you just want to make a quick edit there are lots of tutorials. But if you really want to do some serious customizing, you're very much on your own.

Rendering of the document
Integrating the "txt2tags" program was the last step. The only help you can get is the glossary here and a few odd examples scattered around the web. Fortunately, you can type in the commands at the prompt after typing [ESC]-X. I finally decided on:
:def render savenow,if,"!joe(sys,\"[path]txt2tags \",name,rtn)",then,msg,"*ERROR* file not generated",rtn,endif

This will save the current file, call the "txt2tags" program and print a message when an error occurs. I just needed to bind it to a key (I choose [ESC]-C) and that was it.
render ^[ c Compile
render ^[ ^C Compile

Now it seems quite easy but I hammered away for hours at the prompt before I got it right - sort of. Rendering is not particularly fast, but for short documents (about 500 words) it will do just fine.

Wordprocessing on the Nanonote
So now we're in for business. I will just scratch the surface, because "txt2tags" is very well documented.



The first three lines are reserved to the title, the author and the version. If one or all of these are missing just leave them blank. The next lines can be used for the configuration area, e.g. the format you want to render the document in. In the Nanonote implementation, the %!target: tag is required. You can put any supported format there, like tex (LyX) or html (OpenOffice). If you want to generate a Table of Contents, you can add:
%!options: --toc

After that your text follows. Simple tags like "**", "+", "//" are used to indicate bold, bulleted list, italic, others can be used to indicate numbered or unnumbered section headers. You'll get the hang of it soon enough, it's very intuitive.

When you're done, you simply hit the [ESC]-C key and within a few seconds you're done. You can now transfer it to your main machine by using the uSD card or scp. Done.

This is how it looks in OpenOffice:



And this is LyX:



Well, that's it for now, but I'll be back soon with some more unexpected uses for the Ben Nanonote that go beyond the "Barbie notebook for little girls with too much money". Have phun!

Sunday, August 8, 2010

Pure fun, but not for the faint hearted

Several weeks ago I found out that my 4tH compiler had been ported to the Ben Nanonote. Well, that happens quite a lot. It's small, portable and even cross-compilable so that shouldn't surprise anyone.

Curious as I am, I tried to find out what a kind of computer that was. In short, it's a Linux computer the size of a pack of cigarettes. It looks like a toy laptop, but it isn't. It's fully functional. And best of all, it was only $99. I decided I had to have one.

Ben Nanonote

Unpacking and installing
It took me a while to find a Dutch dealer, but I found one. I ordered one online and a week later I found a small package in the mail. I opened it and found:
  • The Nanonote itself;
  • A USB cable;
  • A battery;
  • A manual;
  • An odd rubber thingy.
The manual isn't worth much. It's small and over half of it is dedicated to a GPL license. No, if you want to find out something about the Ben Nanonote, you got to have a working Internet connection and surf down here.



First thing you have to consider is that the USB cable is of special quality. Unless you're sure you've bought a state of the art cable, don't use another cable in connection with the Ben Nanonote. Second thing, reserve a USB port for the Nanonote. Don't use a USB hub! This is very important.

Ok, now we got that settled, hook it up to your Linux machine and boot it. Now type:
passwd

And enter the password for root on your Ben Nanonote. Then open a console on your Linux machine and type:
su
ifconfig usb0 192.168.254.100
exit
ssh root@192.168.254.101

Now accept the defaults and enter the password you've just given. Hurray, you're connected with your Ben Nanonote! First, find out what version you're using:
dmesg | less

If the first line doesn't say:
[ 0.000000] Linux version 2.6.32.10 (mvogt@buildhost) (gcc version 4.3.3 (GCC) ) #1 PREEMPT Tue Jun 15 17:53:33 CEST 2010

You're in for a treat: updating the firmware. It's no walk in the park, but it can be done. The documentation lists three methods:
  1. Using a shell script and the USB cable;
  2. Using the prompt and USB cable;
  3. Using the prompt and a mini-SD card.
I tried all three and only the second worked. However, this requires a special program called usbboot. If you're using a Debian based distribution this is not too hard, but my OpenSuSE isn't. First I had to install the confuse library from source. Then I had to unpack the tarball. After that usbboot was functional.

Now the trick is to get the Ben Nanonote into USB mode. Fortunately, pressing the power button in conjunction with "U" worked for me. If not, you have to short a few pins (!) in the interior of the tiny machine. That's what this strange, rubbery thingy is for!

I followed the instruction to the letter (even copy and pasted them at the prompt), but for one odd reason it wouldn't take:
nprog 2048 openwrt-xburst-qi_lb60-root.ubi 0 0 -n

I still don't know what caused that - it may have been a user error, but fortunately this worked:
usbboot -c "nprog 2048 openwrt-xburst-qi_lb60-root.ubi 0 0 -n"

Applications
This firmware makes a world of difference. Sound works and with it, a lot of applications that are just plain fun like "Doom" and "Gmu". Note that for patent reasons "Gmu" only works with Ogg-Vorbis files. If you got a large MP3 collection, this is a quick fix:
sox mp3file.mp3 oggfile.ogg

Copying files to you Ben Nanonote is very straight forward. If you don't want to swap mini-SD cards, simply enter:
scp [myfile] root@192.168.254.101:[directory]

Another indispensable program is "Nupdf". It does quite a decent job of rendering PDF files on the tiny machine. Just don't press [enter] because that gets you in a menu that is very volatile. If that happens, leave it as soon as you can before the thing hangs.

Therefore it is good to know that you can shut the Ben Nanonote down by simply pressing the power button for a few seconds. If that fails, you have to reset it much like the EeePC 701, i.e. by putting a toothpick in a hole. Of course, issuing:
halt

Is so much more elegant and professional.

Programming is not bad at all as well. Python and Lua are included by default. 4tH is another obvious choice, more so because it is adapted to the tiny 320x240 pixel screen. Office applications are a bit rarer, but if you are determined to type away on this calculator style keyboard, try "sc". It is a console based, vi like spreadsheet. Wordprocessing is a bit harder, but I found the tandem of "nano" and "txt2tags" quite usable.

Finally, I'd love to have a ZX Spectrum emulator for this machine! It's perfectly suited for this kind of keyboard and screen size. Unfortunately, although it is stated that Dingoo binaries are compatible, I wasn't able to make one single ZX Spectrum emulator run.

However, there is a DOSBox emulator for the Ben Nanonote, so I brushed off my Z80 emulator and installed it. After some tinkering, it ran!

Z80

But there are some serious drawbacks. First, there is no sound. Second, you can't type any numbers. Third, a lot of keys are missing from the Ben Nanonote, so you can't quit the Spectrum emulator once you've started it. Finally, it is SLOW. The ZX Spectrum emulator says it's running at 112%, but believe me: it is much slower.

Theatre Europe

Also, DOSBox still emulates a 80x25 screen which pretty much means everything is illegible. E.g. Wordperfect 5.1 runs perfectly. You just can't read anything..

Finally, I really advise you to disable "gmenu2x". It uses a lot of memory and is hardly useful. My Ben Nanonote really was sluggish while it was loaded, up to the point where the kernel killed it - and "hotplug" along with it. A full list of packages can be obtained here.

Cross compilation
There is a nice page about setting up cross compilation. I really have to advise you to use this one and not some others you may find on the web. Except for one thing. Don't issue this command:
scripts/feeds update -a && scripts/feeds install -a

It will take much longer before you have a working environment and it bombed out while building Qt4 with me. You can always add additional packages by marking them <*> and issuing:
make

Still, I wasn't able to make 4tH pop up in the menu of "menuconfig". Fortunately, there is an alternative way to cross compile for the Ben Nanonote. It worked for 4tH, but I must admit I haven't been able to cross compile much more.

Conclusion
I must admit I've been very frustrated at times. And sometimes, I still am. But there is something about this tiny machine that makes you love it, no matter what. It's very sturdy, although a foot has fallen off and I reconnected the rubber USB protection several times. I reset it, yanked the battery out of it, reinserted the mini-SD card time and time again, but it kept on working. The power button has been abused a zillion times, but it doesn't give up. It's really a brave little machine.

But all in all, it's not a consumer device. If you expect the thing to "just work", don't buy one. If you expect it to be useful out of the box, don't buy one. If you expect perfect end user documentation, don't buy one. E.g. documentation said I could mount the mini-SD card line this:
mount /dev/mmcblk0 /card

But it actually is:
mount /dev/mmcblk0p1 /card

That's typical. But if you want the tiniest webserver you've ever seen (it supports Apache and PHP), do buy one. If you have no fear of trying things - and failing while you're at it, do buy one. If you want a piece of hardware that will really touch your friends, do buy one. They will be amazed, laugh, because there's nothing similar on the market.

Support is there, you can't get any closer to the developers than here. And they'll help you. But this device will require some effort from your side. And if you give it that little bit of effort, I don't believe it lets you down. It's much too cute for that..!

Update: Yes, you can use it as an MP3 player. You can connect a 3.5 mm jack headphone and it easily slips into your pocket. The sound is plain beautiful and it will easily play for 10+ hours. And in the meanwhile it is open to other tasks.

No, you don't need to do any soldering unless you want to use the RS232 interface. Shorting the pins for usbboot is temporary. And unless you've blasted the bootloader, you won't need to do that.

Update: You can switch between consoles by pressing [CTRL]-[ALT]-[F1], [CTRL]-[ALT]-[F2], [CTRL]-[ALT]-[F3], etc. Even when you're using a graphics application. However, you cannot start two graphics applications at the same time.

Update: Jirka correctly stated that running two graphics applications at the time is possible. However, any console switch in combination with "gmu" gave rise to erratic behavior, including a spontaneous shutdown of the Nanonote. Two concurrent "Nupdf" sessions gave no problems whatsoever. So while a console switch is possible while in graphics mode, "caveat lector" remains sound advice.

Update: My Ben Nanonote scared the hell out of me today. I left it open all day, including a graphic screen. When I went home, the screen turned milky-white within about a second and stayed that way. Pressing the "off" button didn't work. Resetting it didn't work. Jerking out the battery didn't work. The screen stayed milky-white. At that moment I wondered whether the screen had given up, but may be I was still able to hook it up to USB.

When I got home, it didn't react to nothing anymore. I was prepared to send it back. When I hooked it up to my main computer, I wasn't able to connect it to USB Ethernet, but it booted at least. A Nanonote reboot fixed that, however. It turned out, it was just out of juice. After a few hours of recharging it worked perfectly. Had the screen simply turned black, I wouldn't have worried.

All in all, it simply confirmed its reputation: it may not work the way you expect it to, but it will survive. Keep up these quality requirements where the battery, ON/OFF button and reset button are concerned.

Sunday, June 13, 2010

Mark Shuttleworth's business concept is flawed

Last week an old discussion flared up once again when TildeHash published "Meritocracy vs. Democracy", a long lament for.. the position of a few buttons!

This may baffle some oldtimers, since it is an issue that is fixed within a few minutes by:
gconftool-2 --set /apps/metacity/general/button_layout --type string "menu:minimize,maximize,close"

So why this uproar? Why are some many people so upset by a simple design issue?



Note this isn't the first time Ubuntu hit the headlines in the most unfavorable way. A rather ugly battle was fought last March between Caitlyn Martin and Sam Varghese over.. a broken printer driver! Although I'm usually as pragmatic as Sam - I gambled, I lost, now revert - I'm glad I kept out of this discussion since both parties resorted to some vicious "ad hominem" attacks.

However, a pattern seems to arise. Strangely enough, some people thought that a simple poll could change Mark Shuttleworth's mind and were obviously appalled when it didn't. Jim Morrison said it all: "You can't petition the Lord with prayer" and that applies to the concept of the "benevolent dictator" as well.

The only conclusion I can draw is that the audience that Ubuntu attracts are not your usual "computer-savvy" user who has no problem reinstalling something, switching distros or even forking a distribution. They obviously seem to want something that just works, which is not the product Mark Shuttleworth supplies.

Ubuntu has a horrible track record where reliability is concerned. More than once, people were left with a broken installation after an update or upgrade. For that reason, I don't touch it. I simply lack the time to hunt down and track bugs. I need my machine each and every day to do the work. For that reason, I stick with the distro I installed until the hardware breaks down. That's not too big a problem: if I need something I download the tarball and compile it. If it doesn't work, I uninstall it and revert to the original package.

So why is Mark Shuttleworth's business concept flawed? Well, first it is based on Debian's unstable branch. Read my lips: it's called "unstable" for a reason. You might call that conservative, but if you need a product that "simply works" it's not the way to go. True, LTS versions are based on "testing", but that still isn't "stable". Second, since Ubuntu users seem to be less geeky than others you have to take them into account. That means you can't get away with a commandline fix if you go into a direction they don't like. You have to get it straight away, because they can't fix it.

Is this concerning me? No, I'm "computer savvy" enough to keep my machine in working order. And since I require high availability I won't touch Ubuntu with a pole. Furthermore, KDE is a second rank citizen in Mark's universe and that's my desktop environment. In short, I never liked Ubuntu and don't like it any better now.

But if users turn away from Ubuntu it will hurt Linux in the long run, because all these guys seem to think that Ubuntu equals Linux - which is simply not true. A customer lost is twice as hard to get back than a new one. Their experiences will echo all over the net for years to come. So maybe it is time for the community to fill that niche, make a new distro which has a radically different philosophy based on reliability and user acceptance. My best bet is Linux Mint for several reasons. As DistroWatch put it:
This [Linux Mint] is one project where the developers and users are in constant interaction, resulting in dramatic, user-driven improvements with every new release.

Need I say more?

So instead of whining, why don't you all jump on the Linux Mint bandwagon? I'm sure they are only happy to accommodate you all. It shouldn't be too difficult, because it is derived from Ubuntu. Again, I'm not running it - but that shouldn't keep you from finding out what FOSS is all about: choice.

FAQ
Don't you know that Mint and Ubuntu are close cousins?
Yes, I know: I wrote it, can't you do me the courtesy to read it?

Why do you consider Mint a safer choice than Ubuntu, when they're close cousins?
Because of their policy. They do not follow Ubuntu blindly, but only release when they're satisfied there are no show-stoppers. Furthermore, they don't promote updates or upgrades. Instead, they want you to do a clean install. I consider updates and upgrades too risky, especially for a newbie. It should be discouraged and that is exactly what Mint does. Consequently a running machine keeps running and that is what the doctor ordered. If you had followed the link, you could have figured that one out yourself. Or do you think that underlining words is just neat?

Saturday, April 24, 2010

Those who do and those who don't

In essence, I'm a simple kind of guy. The deeper meaning of fashion eludes me completely. If it's good this year, it must be good next year. And if it's improved next year, I don't expect the old thing to see again the year after simply because it's "fashionable" or "retro" again.

That's why I always seek out the brands and models that remain unchanged for years, so I can get whatever I need for the next ten years to come. I don't have any trouble buying a pink laptop and a black mouse if the price is right and the specifications are good.

Basically, I don't give a sh*t about what people think. If a pink laptop makes me gay, fine. You're not in my bedroom, I know what's true and your opinion is worth, well, do I have to spell it out?

Since I'm a simple guy, I use simple concepts. In my world there is no room for trying. Either you do or you don't. You either stay on your feet or fall flat on your face. I have no time or need to occupy myself with your inner workings. If you doubt, do it in your own time.

The reason for that is very simple as well. Doubting is an activity and people cannot concentrate on two things at the same time. I'd rather have you concentrate on doing the thing I ask from you than doubting whether you can do it. If you can multitask, fine, but do the thing you're supposed to do.

The very thing that always comes along with not doing things is excuses. I'm always astonished with the creativity people show when inventing excuses. It's simply incredible. If they had used that same creativity to do the things they were supposed to do, we wouldn't have this conversation.

The point is, I'm not interested how you feel. That's not why I hired you. I've hired you to do things. Your feelings are a private affair, they don't interest me. As long as your grand mother hasn't died it shouldn't be a major influence. Fortunately, you have only two grandmothers, so you run out of excuses pretty quickly.

Of course, there always will be children. Children get sick, have sex, experiment with drugs and do all those things you did when you were young. It may be a major concern to you, but still that's not why I hired you. If children constantly prevent you to do the things you're supposed to do, take care of them, but don't lean on my payroll. I didn't conceive them and they're not on my payroll. It's a private matter and consequently your matter.

So because you aren't heard, you turn to these sites where they claim that matriarchy may save the world, but as long as you can't save the project that you're involved with, that is of little concern to me.

Yeah, you may call it "backlash", which means criticism you don't have to respond to. But I tell you this: if you can't address criticism – whatever source it comes from – you ain't worth anything. I can take on your matriarchy claim anytime, because you simply don't deliver. I'm not afraid of you and you can post your fallible comments any time. Gimme what I want. Gimme what I need. There are only two kinds of people in the end: those who do and those who don't.

Tuesday, April 13, 2010

German firm presents an iPad killer

Usually I don't write posts like this. But because all the information we have right now is in German, I thought it was a good idea to spend a few lines on this new development.

First, relax. The new baby of Neofonie is called "WePad" and it's an Android device. Or, as the developers put it:
The WePad is an open platform and everybody can contribute. It's based on established technologies like Linux, Android and Adobe AIR. Every developer in the world can create applications for this device. And you can also use existing Android applications.

It also features multitasking, a webcam, a 16:9 screen, Flash, two USB ports and can "play anything you throw at it". Some sources claim you can also make phone calls, but I have no confirmation for this. You can find the full specifications here (German).



Prices start at 400 Euros for the 16 GB version and 550 Euros for the 32 GB version.

Update: The "WePad" is only a day old and the first scandal is already there. According to the Austrian website "derStandard.at" there were some problems shortly before the press conference, so Neofonie decided to fake the whole thing:
The authenticity of the tablet computer is questioned. Contrary to the statements of the WePad creators, the tablet computer ran Windows during the press conference - and not Linux - when it was presented in Berlin last Monday. This was confirmed last Tuesday on Facebook by one of the WePad developers, Helmut Hoffer von Ankershoffen.

He wrote that he became the device only shortly before the press conference began, due to delays at the customs. The WePad developers decided to run Microsoft Media Player, which merely showed a video in an endless loop. Neofonie, where Hoffer von Ankershoffen is managing director, was not available for comments.

Last Monday the WePad was shown to the public for the first time. Tore Meyer of 4tiitoo, a touch screen expert from Munich, has also participated in the development of the WePad. The WePad should be in the German shops by July, but last Monday the company was unable to show a functioning prototype.

Putting a viable iPad competitor on the market now seems away further than ever. Hoffer von Ankershoffen had promised that the WePad would offer its users "Openness, fair play and no barriers". The German tablet computer comes with two USB ports, a webcam and slot for European cellphone cards, features not found on the iPad. Hoffer von Ankershoffen stated that the entry model would cost around 450 Euros and a more extensive one 570 Euros.

This report has been confirmed by "Handelsblatt", which also states that Neofonie has confirmed the fake. Furthermore, "Handelblatt" reported that although the WePad features a multitouch display, a cursor could be seen on the screen.

In any case, the video below clearly shows that one of the creators does not allow journalists to operate the device, nor does he want to demonstrate it any further.



Further proof comes from "Androidpads.com" showing a screenshot with an allegedly Windows message box:

Windows screenshot?

Update: Well, it is official now! It was a fake. Neofonie has now promised to organize a small meeting on April 26 where selected journalists and members of the Android community can test a real WePad - with Linux.

Update: Several sources (including LXer contributors) have uttered serious doubts concerning the WePads Atom processor. The website "TecZilla" shares those concerns. Overheating, overpowered and a low battery life are a few of them.

In the meanwhile, Neofonie has released a video that should prove the WePad is for real. Well, see for yourself:



"n.tv", a German language CNN-like news channel, has offered to test the devices (if any are available) before another disastrous press conference is thrown. The next one is scheduled for April 26..

Update: Neofonie's WePad tablet was shown to German journalists on the 26th of April and seems legit at first sight. However, it appears to be a bit underpowered as some commenters on LX-er already expected.

If there are any further developments, I will add them to this post.

Saturday, March 20, 2010

Free Software is a democracy, NOT!

My own project, although not a big one, has been around for over fifteen years and a small community has been built around it. Numerous improvements have been made and when I look back and contemplate what I actually wanted to make, this is quite a different beast.

As a developer you want your product to be useful, not only to yourself, but also to your community. It may be a vanity thing, but that's how it works. It is one of these things where a human character flaw works out just fine. Suggestions became features, bad extensions became fundamental changes, experiments became main branch.

But these were also feature requests that were not implemented, not that that were too outrageous or too time consuming, but because I didn't like the direction where they would take the project. You can fire away anything you like, but let's be clear: there is only one man who calls the shots here. Me.

Ok, your feature request got turned down. Big deal. Flame away, stalk me, start marching by my window, I don't care. It's my project, my software and I decide what I'm gonna do with it. And BTW, it's a waste of energy. You'd better use that energy for something more useful. It's simple. Fork!

I think - or better said: sincerely hope - that my community doesn't recognize the image I've projected in these last few lines. Because that's not the way I want to work. As a matter of fact, there were users that wanted to take the project in a different direction and consequently I designed a framework which made it easy to fork and merge. Because they were not unreasonable and neither am I. But that's just me.

When I slowly constructed my project and my community I delved deeply into the way FOSS works. I learned a lot from Linus and the way he makes his kernel tick. He doesn't know where the project is going. He doesn't care about deadlines. It's finished when it's finished. On the other hand, if he doesn't like something, it doesn't get in. He is the benevolent dictator.

That's why I don't understand why InaTux gets so upset. FOSS is not and never will be a democracy in the sense he (or she?) understands democracy. Design decisions are not made by simply voting them off - and certainly not by its users. If you don't like where a project is going, start your own or vote with your feet. Lots of people whine about the number of distributions, well, now you know why that is a good thing.

If you don't like where Ubuntu is going, install another distribution. Nobody is saying that you should stick with it. It's easy. Fire up your favorite browser, surf a little, pose a few questions here and there, push a download button and you're done. And changing distributions is a heck of a lot easier than changing Operating Systems.

If too many people start doing that, Mark Shuttleworth has two options. Either he creates the perfect distribution for Mark Shuttleworth or he starts asking himself the right questions. A customer lost takes twice the effort to reel in than a new one. He's making money with that, I suppose. I'm not. I only got my vanity to consider..

InaTux is just beating around the bush without hitting anything. Linus listens - but sometimes not. He created the kernel - and anyone can fork it. Like Mark Shuttleworth. And due to the license he can take Ubuntu in every direction he wants to. Even if it doesn't boot at all on any computer. It says nowhere in the license he has to listen to anyone. Not to me, not to you, not to InaTux. Like it or not. "I'm root, I can do anything".

Those are the facts of FOSS life and that is the bottom line. The rest is merely academic babbling. I didn't like where KDE 4.x was going - and with me a lot of other people. The KDE developers listened - and sometimes they did not. Fact is, I'm still working with KDE 3.5.x and I still have no plans to upgrade. When I have to install a new version of OpenSuSE, I'll probably give it a try - and if I don't like it I'll take my business somewhere else. If that happens, I'll probably state publicly why I didn't like it. Aaron J. Seigo can dispute that, but he can't make me move. Hey, I'm not working with Microsoft products here which are chained together with a whole line of subtle dependencies. I got a choice. It's a big bazaar out there.

So next time, InaTux, I want to read how you moved to another distribution and why. Or I want to read why you stuck with Ubuntu. That will be a whole lot more interesting than your endless and fundamentally flawed whining.

Saturday, February 6, 2010

The data cruncher rides again

As you may remember from my previous post, I simply wanted to import three spreadsheets into an MS-Access equivalent, use the "Query By Example" (QBE) mode to create a simple report and export the result to another spreadsheet. I did the whole thing in MS-Access as well and it took me about twenty minutes. The spreadsheets are relatively small: 2367 rows, 5149 rows and 27804 rows. Last time we saw how OOo Base 2.4.0 fell through. Not that it lacked functionality, but because it was so badly executed.

This time I decided to give Kexi 1.1.3 and Knoda 0.8.3 a go. Not that I really needed to, but just to see if they were up to it if I needed to execute another odd job like this. The first part concerned reading the spreadsheets. Both packages do not support MS-Excel files out of the box, so I needed to convert those to CSV. That wasn't too hard. OOo Calc did the job. Reading them was quite similar in both packages, since both provide beautiful wizards which make it quite easy. However, I was unable to set the primary key and I knew I had to pay for that once I executed the query.

In Kexi, I decided to open up the design table window and set the primary key. The program warned me however, when I did that I would lose all my data. Well, that was not an option. So I decided to skip that and get right to designing the query using the QBE window. I was unable to specify an INNER JOIN or OUTER JOIN, so that was a bummer. When I opened up the SQL window I saw why: it had created an old skool JOIN. These kinds of JOIN create a Carthesian product and use the WHERE clause to select the appropriate rows. Well, it could work. As expected, it ran for a while and then came back with 2690 rows. That was not quite what I expected. I expected 5149 rows. I decided to leave it there and continue with Knoda.

It is a shame that Knoda hasn't been developed any further, because it was a nice package. Nobody seems to know what has happened to its creator Horst Knorr. The last modifications are over 900 days ago, so consequently Knoda has not been ported to KDE 4.x. Anyway, I decided to use the dBase driver and read in the CSV files. I quicky found out that was not quite what I wanted, since every field with a name longer than 10 characters was ignored. Then I picked the SQLite3 driver. Reading in the data was much slower now. The largest table was progressing very slowly. I got nervous. In half an hour I had to catch the tramway to go to work.

(I know I have to explain this to my American audience. If you use public transport in Europe, you're not necessarily poor. I don't even have a drivers license. That doesn't mean I'm physically or mentally challenged in any way. I just means I never needed a car that badly that I thought the investment in time and money was worth it.)

So I decided to leave the thing be, take a shower and come back afterwards. Dripping wet I checked the screen. 67%. I dressed while keeping an eye on the progressbar. 96%, 97%, 98%. Come on! 99%, 100%! I quickly shut down the computer and ran outside.

Several hours later, I fired it up again and continued. The QBE was nice, I could even set the JOIN properties. I could not switch to the SQL window, though. That was only possible after I saved the query - and then I couldn't get back to the QBE window. Neither could I select multiple fields and drag them to the query bar. There was no way to make aggregations by using GROUP BY or COUNT(). Still, it did the job. Since I was unable to set primary keys, it took a while, but Ok. It came back with 5156 rows. That were 7 more than expected, but wait a minute: I was working with the uncorrected datasets. I knew that there were 7 duplications I had corrected in the report I had created yesterday. Alright!

(Yes, by this time I had already reported these inconsistencies to the Configuration Administrators and told them to figure out what was wrong and correct the appropriate entries in the Configuration Management System. I know what an "exception" is and I've been in this ballgame for twelve straight years, thank you.)

Then I had to export the result to an MS-Excel file. Knoda doesn't support this format, so I decided to export it to CSV. It took a bit longer than expected, but there it was in all its 1.2 MB beauty. I fired up OOo Calc and opened the file. OOo Calc showed a wizard, I filled in the correct values and off we went. FAIL!! OOo Calc quickly started to eat through my 2 GB RAM and then decided to consume all swap space. I frantically hit the KSysguard icon and then went for the terminal. I had only seconds to spare!
killall soffice
soffice: no process killed
ps -eaf

Help! Fortunately, KSysguard came up and although it was slow I was able to kill OOo Calc. Pfff! That was close!

I fired up KSpread 1.6.3 and decided to repeat the procedure. It didn't even blink. Duh? I saved the spreadsheet in .SXC format, fired up OOo Calc again and read the .SXC file. No problem. It was on the screen in mere seconds. WT.. is that?

The verdict
OOo Base has a horrible way to import and export data. I also think that choosing a Java SQL engine wasn't a good idea. But all in all, it offers all the functionality you need for this kind of job. It's beautifully designed and could be a real replacement for MS-Access, if only it wasn't so badly executed. Yes, it's so badly executed that it becomes unworkable. I'm not prepared to risk a freeze for doing an odd job on OOo Base that I can painlessly execute on MS-Access.

Kexi is nice, but seriously lacking. The QBE does not provide several key functionalities, ALTERing tables is virtually impossible, so it's not really a replacement for MS-Access. I've also taken a look at Kexi 2.0, but I don't see too much improvements in this area.

Knoda lacks several minor features, has its quirks and is not particularly fast (I would call it slow, but that could also be the fault of SQLite3), but it gets the job done! If you don't have MS-Access at your disposal and want something similar to do the job on your Linux machine, this would be my pick. Unfortunately, Knoda is slowly dying and that's a shame! Isn't there somebody who can pick this project up and continue it - or at least salvage the parts that can be integrated in Kexi?

Some final thoughts
What I thought to be a minor job turned into a three day quest to find the best MS-Access replacement. I automatically assumed that there would be a viable FOSS replacement for what I consider to be one of the least interesting and most buggy parts of the MS-Office suite. I was kind of shocked that we don't have it. That doesn't mean you can't get the job done - there is always the CLI of course - but it will take more time than the MS-Access way.

I use the QBE to generate most of the SQL and then edit it later. I find SQL rather verbose and don't particularly like the syntax - it reminds me of COBOL. But since SQL is the standard, it is hard to avoid.

Several readers pointed me to a bunch of major data crunching suites. But I just want to hang up a painting - not drill the Tokio subway. And I have a dislike for Java programs - don't ask me why, it's just a feeling.

I also have to admit I haven't used OpenOffice too much until now. I write my documents with LyX, hardly ever use spreadsheets and didn't have much use for OOo Base. To me OpenOffice was a way to view and modify MS-Office documents - keep a link with the madding MS-Office crowd, if you prefer. This was the first time I gave it a full workout and frankly: I was shocked. I can't have a program (any program) that brings my rather reliable machine to its knees - for whatever reason. In this small quest OpenOffice did that almost twice. That's disturbing. I find that disturbing, especially since the basic functionality is good and sometimes unequaled in FOSS.

On the other hand, I was pleasantly surprised by KOffice. It may not provide all the compatibility you need with the MS-Office world, but the functionality it has is well-executed and reliable. Next time I need a spreadsheet, but don't need absolute MS-Office compatibility, I definitely will use KSpread.