Wednesday, 8 July 2009

Free as in Operating Systems, chapter Chrome OS



Some cool news, Google is going to release an opensource operating system, Chrome OS, based on the linux kernel. BBC reported this, the Guardian reported this and the NY Times. It's probably a fact!

Most importantly Google itself has made a blog post.

What this means? it is too early to make any predictions but we can try!

Some facts we know:

* will be Open Source, the exact license is not know at the moment but my gut feeling is that it will be a free (as in freedom) software license.
* Will be using the Linux Kernel "Google Chrome running ... on top of a Linux kernel"
* will be aimed initially at small, low-cost netbooks
* fast and lightweight (let's wait for that, that's what everyone claims :P but the truth is that Linux indeed IS lightweight)
* The user interface is minimal to stay out of your way (I like that!)
* Webservice-based: most of the user experience takes place on the web, "All Web-based applications will automatically work and new applications can be written using your favorite Web technologies".
* Secure: "we are going back to the basics and completely redesigning the underlying security architecture of the OS so that users don't have to deal with viruses, malware and security updates.". This makes sense since it is based on Linux
* "a new windowing system", replacing X11 based desktops with something lighter is fine in my book, it's one of the main reasons I chose to use OS X instead of Linux.


What I like about this: I like that it will be open source, that it's Linux based, I like lightweight promises, I like better support for web services, I like secure, I like very much the departure from X11 based desktops. I also like that, with Google developing it, it is likely that OEMs will at last start selling Linux laptops and therefore support hardware aka more drivers for Linux.

What I don't want is to see people locked into proprietary web-services imho it is as bad as having people locked into proprietary software. Google should keep X11 as an application for the desktop, similarly to Mac OS X, so that if someone doesn't want his tasks done over the cloud but locally on his computer, without anyone inferring his private data, can do it as easily. The web-service integration should be a feature NOT the suggested way to go.
It would be a shame after all to leave so many top-notch Linux applications out of the picture. If X11 stays as an application and a system similar to Macports (apt-get system for OS X) is developed, then many applications will be ported very quickly and hopefully, later on ports not based on X11 will be produced, like it has happened on OS X.

Personally I am not interested so much in netbooks, I view them as iphones that take up too much physical space and have no carrier, but seeing OEMs support proper laptops with Chrome OS will be interesting. It may have a pleasant side-effect for other Linux distributions, drivers will be developed for linux laptops and that is what is keeping me from a linux laptop, the lack of drivers and the pain of searching which laptops are fully supported.


TLDR: Big news today! Google releases a Linux OS that looks promising and could potentially popularize Linux even further. However, attention must be payed to developing non-cloud applications, else instead of being locked into proprietary software, we will be locked into proprietary web-services.

Sunday, 5 July 2009

Free as in Chess! Part I or how to make Chess Databases

Free as in Chess (part I!) or How to make Chess Databases



This post is about creating a strong, dependable, open and free Chess software suite. Chess can get pretty expensive for dedicated players as they need a strong engine to analyze their games and database software to store their games, add their own comments, create opening reports, check the opening repertoire of their opponents, solve complex endgames, analyze their opening novelties and cross check their analyses with recent top level games.

My aim is to demonstrate from the simple user’s perspective that there is no need to spend a single penny on proprietary software. All the software here is free and there exist downloadable binaries, no need for compilation. Also all software is cross platform, which means you can use it no matter if you like working on Linux, Mac or Windows.

Occasional players, who just want to play a game against a computer now and then, are fine using GNU chess and need to read no further :), the rest of the text is about obtaining impressive free chess software and how to use it. In this part, will cover how to create a database of chess games. In the next parts I will cover how to use the databases, create opening reports, use strong free engines that rank ~2900 Elo to annotate your games and follow the opening developments. In the following parts I will also cover how to make an opening repertoire, practice it and play training matches against the computer, play online chess and use free software for correspondence games. All that using only free software.

My real wish is that someone who runs a chess club or a chess federation reads this and uses the material in order to boost the performance of his club/federation. Imagine how good could it be if all youngsters could get a *free* software suite that has nothing to be jealous of from commercial programs like Chessbase.


The database program we are going to use is SCID (Shane’s Chess Information Database), which can be downloaded from here for windows and linux users or if you are a mac (woot!) user, click here !, download it and install it.

SCID comes, at least in the mac version, bundled with the extremely strong Toga II, engine, which is ranked 4th in the 2008 world championship, drawing with the world computer champion Rybka and has an Elo rating of 2868. Toga II is 100% on par with the best proprietary engines out there, Rybka excluded. If 2868 is not enough, then add Rybka, not open-source but freeware and is rated 3111, grab it from here, I strongly recommend in favor of Toga II as it is free as in freedom, not free as in beer. In the following parts I will cover more free engines, how to tweak them and how to incorporate them into SCID.

In order to create a Database using free software, first we need game collections which the software will manipulate. Some very nice databases are available for download, like the Million Database (1.7 million games!), high quality databases of selected games by Norm Pollock, New In Chess Yearbooks and This Week in Chess Issues.

Other databases worth looking into are ChessOK, ICCF archives, RusBase.

To download multiple .pgn files (e.g. from TWIC) fast use Firefox and DownThemAll!.

Before continuing, if you want to customize your chessboard, go to options->Chessboard.

ChessBoardOptions

After downloading these databases, open up SCID. We are going to make a SCID database for the Million game DB and the TWIC issues, the other databases can be constructed in a similar manner. At the end we are going to generate an opening report for Fischer’s defense in King’s Gambit accepted to provide a taste of what is to follow in parts II, III, IV and V !

In SCID, go to Windows->Database switcher.

DatabaseSwitcher

This is probably the most important SCID window and it is likely that you’ll want it open all the time you are using SCID. It allows you to switch databases, copy games from one database to another and copy games to the clipboard where you will be doing all your searches, reports etc.

Now it is time to create a new SCID database for the Million games pgn file. Go to File->New as shown in the picture,

NewDatabase

and name this database MillionDB.

SaveAsMillionDB

Now go to File->Open

FileOpen

and select the Million database (using a pgn selection) as seen in the pic,

SelectMillionDB

and you should get the following loading window

MillionDBloading

now, in the database switcher, drag (while left clicing) the pgn opened to the Million DB

CopyPGNtoMillionDB

voila!

Let’s see how to handle the TWIC database. First uncompress the .zip files, they should give .pgn files. As simple shell command does the tric, cat *.pgn > alltwic.pgn. Windows don’t have a unix shell installed by default but it is quite easy to install one, just grab cygwin.
Now similarly to the Million DB, create an new SCID database called TWIC, load alltwic.pgn
and drag and drop the loaded pgn file to TWIC database.

Now to provide a taste of what SCID can do we are going to see it create an opening report on the Fischer defence for King’s Gambit Accepted using the TWIC database. First drag and drop the TWIC database (holding the left click mouse button!) to [clipbase], which is where all the user processing should take place. Then click on the [clipbase] icon (selectes clipbase as the working database) and after that go to Windows->Tree Window

TreeWindow,

The tree window should now appear to the right,

clicke4

In order to reach the Fischer defence click on the e4 option,

Clicke5

then click on the e5 option and so on until the Fischer defence Tabiya is reached

FischerDefenceTabiya


Now we are ready to create an opening report! Go to Tools->Opening report

ClickOpeningReport

and you should see the Generating report bar

GenerateOpeningReport

voila! the report should now be right there

TheReport

One SCID feature I am particularly fond of is the ability to generate LaTeX reports, like the following

InPdf

InPdfVariations

To see the latex output of the opening report, you need a tex installation, for macs the one I use is TeXShop.


Now we are going to add player pictures & ratings to SCID so that our interface looks nice & has an up-to-date player information. These can be downloaded from here but today (5 Jul ‘09) this link contains an updated version of the ratings file. Please note, as the SCID website says, “You will only need ratings.ssp instead of spelling.ssp if you want to use the Add Elo ratings maintenance command in Scid” and regarding the photos “Scid can show a photo whenever a game by a player with a photograph is loaded. To install the photos, download photos.zip and extract its files to your Scid user options directory (~/.scid in Unix; the same directory as scid.exe in Windows) and run Scid. The Zip file contains two player photo files: gm.spf has photos for nearly 100 grandmasters and other famous players, and historic.spf contains more than 30 historic (pre-1930s) players.”.

To update the Elo ratings in all your databases, select the database you want from the database switcher window, click options->Select spellcheck file and select the file you downloaded

Spellcheckfile

don't forget to do what this little popup says

SpellcheckSaveOptions

and then go to the Windows->Maintenance Window

Maintenance

and click update Elo ratings.

UpdateElo.


Now you have updated the Elo ratings of your databse.


Alot more to come in the following parts: how to use the databases you created, create opening reports, use strong free engines to annotate your games, how to make an opening repertoire using SCID, practice it and play training matches against the computer, play online chess and & correspondence games. All that using only free software! no need to get one of those totally overpriced proprietary licenses

Friday, 26 June 2009

freedom in the darker days

Nowdays, free (as in freedom) software offers almost anything we could ever ask for, even a solid free operating system.

This was not the case during the late 80’s/90’s when free software hadn’t yet matured to that level. Then, undisclosed software was (sadly) the main way to go.

Some people however didn’t need the source code to see how programs functioned, HIEW, IDA and SoftICE were enough for them. This text is a tribute the origins of the reversing community and while I am fascinated by Amiga demo scene and many other personas (+orc gates, probably the best adventure game ever created!), I wish to write a little about, the now gone, fravia+.

Fravia was one of the key figures of the reversing scene, his website is one of the most fascinating knowledge sources on the web. He wrote on reversing, reality cracking, seeking and many other intellectually challenging matters. I also like his games recommendations.

Material created by people like f+ helped my first steps into the computing world, leading me to where I stand now, a Physicist/Computer Scientist hybrid. This is not a reversing tutorial, after all I haven’t done any software reversing since the 90s but by all means, all those who want to unlock the source of proprietary software, fravia+’s and orc+’s tutorials are some of the most stimulating resources available.

Even though I never wrote anything on his website nor had any communication with f+, I was saddened by the news of his death. Internet now has lost one of it’s brighter e-citizens. I like to think of f+ as a renaissance science seeker, who is going after knowledge for the power it brings and at the same time has to withstand the increasing pressure from religious totalitarians, those of you who see a connection with knowledge locking by companies today can appreciate f+ :).

Finishing this entry, I would like to mention that f+ was a supporter of free (as in freedom, not as in beer!) software.

/usr/bin/motd: try songbird ! great free music program :)

Thursday, 18 June 2009

DRM

Also known as Digital Restrictions Management.

It is what some companies use to make sure their copyrighted properties don't get copied. Why should classic European folk tales fall under a Disney copyright and why should copyright last 70 (!) years is another matter, this post is about how companies attempt to enforce it.


If future turns out to be dark this is what we should expect, but for the moment being, our personal computers are free to run the code we chose them to run and not only signed code. Consoles on the other hand are already totally restricted platforms and lobbies have created DMCA-like laws which prevent unlocking them through reverse engineering. Is it public interest that motivated such laws or the royalties which benefit MS/Sony/Nint. ?

For the moment being however, DRM on our computers is software only. Software can be restrictive as well though, changing the firmware of our DVD drive, installing rootkits and spyware, totally violating any sense of privacy. The best part is that all this is installed without any consent from the user, they "forget" to include malware code in the product description, also these "applications" forget to pop a "yes/no" window, they just take the initiative to install without our consent. Even if there was zero malware with DRMed products, can someone please tell me how me and my fiance can install Office after "burning" our license codes because we upgraded to Leopard? No calling MS is not a feasible solution.



According to Mr. Gates himself, piracy doesn't really hurt business as long as people get addicted to specific software. The way to actively show our feelings for a piece of software which we don't like, is to stop using it.

To cheers things up, don't feel bad if you ever copied that floppy, Mr Gates himself is watching "pirated" movies :)


Of course skilled individuals can bypass DRM, and experience shows it has zero effect against piracy, but the point is neither downloading a pirated version without DRM nor polishing skills in disassemblers. The point is that, in my humble opinion, we should react in the way that hurts most, migrate to other products.

Some good news! open source projects do not have built-in DRM.


Instead of PGP, you can use GPG
Instead of Internet Explorer, you can use Firefox
Instead of Microsoft Office, you can use OpenOffice
Instead of Illustrator, you can use Inkscape
Instead of Photoshop, you can use Gimp
Instead of Matlab, you can use Octave
Instead of Windows Media Player, you can use VLC player
Instead of Microsoft Messenger, you can use Pidgin


Well, the browser and messenger bits are not DRM related but Firefox is safer than IE and Pidgin is getting there soon (*)!
The only "catch" in this software list is VLC, this player has no malware but cannot play DRMed movies. There are tools to remove DRM, however, in some countries such tools aren't compliant with copyright/DMCA laws.


(*) password files are not encrypted in pidgin, therefore anyone with local access can potentially read them.

Tuesday, 2 June 2009

So

What is this blog about?

This blog is about replacing all our licensed software with free software. This would be productivity applications (office, presentation software), communication applications, scientific software, image editing software, web publishing, project management applications, software development tools, games etc. The ultimate goal is to have one good free application for everything.

By free I don't mean (only) free in price, I mean free as in freedom, free to modify it according to your needs, free of corporate malware, free like respecting your right to keep your information private.

I will not discuss having a free operating system within the near future. Why? because I am using a mac myself and I will only preach what I practice. I'd love to be able to migrate one day to a Linux laptop but I am waiting to do this move the day it will have exactly zero cost to my productivity. I have seen Linux working great on desktops but being a laptop fanboy and seeing it having a couple of issues with laptops I chose a mac :)

Friday, 29 May 2009

testing the blog!

hello world!