Feb 282008
 
No Gravatar

I am quite fond of reading Bruce Byfields articles. His latest deals very well with the issue of whether the ability to run Windows native programs on GNU/Linux is still valuable or high priority. Over-all I actually agreed with all his points – and have been making some of them myself for a long time.
In the interests of balanced dialogue however, I do feel that I need to point out that there is still a case to be made in favor of the continued development of projects like wine. Of course the first priority should be to use free software on a free operating system. However, even Richard Stallman concedes that sometimes for some tasks which people need to do if they are to earn their living there is not yet a free software alternative and in those cases he says “it is okay to use the non-free program in the meantime, provided you contribute according to your own talents to the projects meant to replace it”.

I see four major aspects that Bruce overlooked in this post. Which by themselves make a strong case for windows application support, especially through wine.

1) The first factor is software for which no functional equivalent exists yet. True as Bruce points out, GNU/Linux has come into it’s own when it comes to productivity software, but where it sometimes lack is for niche-market tasks. Tasks used by a small subset of the computer users out there – often to do mission critical work. This is an issue because those people are now locked into not only a non-free program, but an entire non-free platform. In such small user-communities – there often aren’t any programmers with a free software leaning who could create an alternative – there just isn’t enough of us (yet) to have somebody in every field.
An alternative I find particularly important is the case of clicker. Clicker is a simplified user-interface with a self-tabbing pointer selection which allows for easy creation of picture-sound mapped menus. It’s major purpose: it turns a computer into a communications device for the severely disabled. It is written in visual basic and only runs on windows – and it is not only non-free but very expensive. For many people out there, waiting until the highlight hits the drink icon and then biting down on a mouse-button simulating device is the only way they can ask their mother for a glass of water. This technology has improved the lives of countless. No functional equivalent exists on GNU/Linux. Firstly because the severely disabled do not include a lot of programmers (and the greater majority are children) – and there just hasn’t been a FOSS programmer with sufficient skill and a disabled relative. Until somebody has put in the time and effort to write a replacement, being able to run this app in some way is the only way these people can get some software freedom at this time.
This is just one example. There are many – and until there are none, we must keep developing wine so that not even the marginalized are left out of what is supposed to be the all-inclusive software freedom revolution.

2) Creation of native applications. Google’s picassa depends on wine – but it doesn’t run through wine. Google made use of one of wine’s best features -the ability to rebuild software to link against the wine libraries instead of the windows api – getting effectively native applications. I believe that over time this ability will become almost more important than wine by itself, as it reduces the difficulty for current windows vendors to port their programs by a massive margin. For many companies that have never been prepared to risk the cost of porting for the market-size – the winelib toolkit will reduce that cost to an ever more worthwhile risk. True, the need for proprietory ports will keep reducing, but the all-important transitional phase has really just begun. GNU/Linux only began to make real inroads onto the desktop in the last 5 years, we’re only halfway through the decade. We need to do whatever we can to allow people to switch – every bit of freedom gained, is a shackle shattered.

3) Research: Wine makes public and commodotized what used to be top-secret withheld information of crucial need to a large section of the population (everybody who uses windows). This knowledge is the foundation for much other research. A good example is ReactOS, an attempt to create a free clone of Windows able to run windows applications and behave/operate exactly like the original. ReactOS’s developers were able to focus on their kernel and their bootloader and their desktop – because wine already had their API – and it’s coming along nicely despite a massive delay after (proven false) accusations of code-theft by you-know-who. I probably won’t use it because I like Linux, but if ReactOS reaches sufficient maturity – it may provide a key towards freedom for many who cannot otherwise obtain it.
This is just one project spawned from the knowledge wine made available, many companies still developing for the windows platform are finding wine a better source of documentation on the API they are coding for than the documentation Microsoft provides – because it comes with source. That alone has significant impact – perhaps not directly relevant for GNU/Linux – but certainly not useless (a phrase that should never be applied to human knowledge endeavours).

4) Marketing: Left for last. Bruce makes a very valid case that most of the applications people believe they need to switch are really more a case of yearning for convenience than of actual need, but this doesn’t change the basic reality of the marketplace. To succeed you have to know how to sell yourself. People do yearn for convenience, and they will give up freedom for it if the price in convenience is too high (this is just as visible in many other things in society: people actually beg their governments to censor art galleries, thus removing the artist’s freedom of speech and their own freedom of thought, just for the convenience of not having to judge things for themselves !). So for software freedom to succeed, sadly in this imperfect world, we need to make the convenience loss (at least initially) as little as possible. Merely being able to say ‘GNU/Linux can run photoshop’ counts for far more than the software is actually worth. It means people can switch, keep working and learn GIMP in their own time. Otherwise the fact that the deadline is tomorrow will always trump the ‘but if you just take the time to learn gimp you can save thousands and gain these freedoms’ card for most people – learning takes time, if you have to be unproductive while you do it, it costs money. Allowing parallel learning actually reduces the barrier to entry. I almost had second thoughts about this one, it actually counts against free software in the short term – but I do believe it counts for it in the long term. It’s kind of like the LGPL – a tactical sacrifice made for the sake of gains that outweigh the loss.

That then, the balance-the-debate points I see for promoting wine and windows-support on GNU/Linux. Like I said in advance, I agree with the points Bruce raises – I just disagree with the conclusion he draws from them. I don’t think Google’s investment in Wine is wasted contribution, but I do agree that an investment in an FSF high-priority project would be even better – both however are important nett-gains for the community.

Feb 262008
 
No Gravatar

The last few months there has been one story that repeatedly made it to the front page of virtually every FOSS news site in the world. Hans Reiser, the man who brought us the first ever journalising file-system for GNU/Linux and whose file-system remains one of the most innovative ever created, is accused of murdering his wife.
As the trial unfolds, news sites have been following it very closely – so apparently has a lot of geeks all around the world then.

Now I would like to see justice done in the trial. If Reiser is innocent, I hope he is found so, if he is guilty – I hope he gets punished to the full extent of the law – but this is no different than the feelings I feel about every other criminal trial happening everywhere in the world at this or any other moment. So why exactly are we as geeks so obsessed with the Reiser trial ? Because nobody involved with GNU/Linux at such a high level has ever been charged with a violent crime before ? Well considering the sheer number of people involved in GNU/Linux (even at the kernel level) statistically it was just a matter of time anyway. So it happened to be Reiser. So what ?

What this trial really did was to bring into sharp relief the enormous degree of celebrity appeal that successful geeks have for other geeks. Our fascination here is no different from when the world craned to see if O.J. and Winona would be found guilty. Basically while geeks frequently mock the kind of people who follow celebrity lives so closely, and cannot understand why anybody would actually care what Tom Cruise and Katie did last week… it seems that we are no different, our celebs just have different talents.

Well there has been the odd inexplicable death/murder in Hollywood (I highly recommend the movie Hollywoodland by the way), which everyone in the world somehow felt personally involved in (well except the geeks). Now we have one with a programing guru involved – so suddenly all the programmers are feeling personally involved.
Well frankly, it’s silly. Who killed George Reeves is no more important than who killed any of the thousands of people who were killed since you started reading this article. We close our eyes to them because we don’t know their names. We suddenly have to deal with our emotions about murder when we do know their names. So now we know the name of (and many of us have had personal communications over the year with) the defendant.
But he is not our friend for the vast majority – just somebody we worked on something with, in most cases not even professionally. I don’t think this trial will have any effect whatsoever on the popularity of GNU/Linux – no more than the O.J. trial made movies unpopular. It really doesn’t have anything to do with us. We aren’t liveblogging the trial of the crack-crazed killer who shot his grandmother to pay for his fix yesterday (there’s guaranteed to be a few).

Frankly, I don’t think the Reiser trial matters in the grand scheme of things. It’s a pity that somebody involved in GNU/Linux is charged with murder, but it’s nothing more than that, a pity. Whatever the outcome of the trial, it really won’t affect our lives or our work in any way whatsoever. We still have plenty of celebs left, RMS and Torvalds provide plenty of entertainment almost daily. We really ought to stop blowing Hans Reiser’s importance out of proportion like that.

Feb 212008
 
No Gravatar

So there I was buying some coca-cola over lunchtime and suffering at the hands of a shop-attendant with an overblown sense of her importance in our short business relationship when I glanced over the top of the counter and saw this lying below it… it all makes sense now…

Just for the record, I’m making a joke. It’s about a very real problem but it’s still a joke

Feb 202008
 
No Gravatar

So here you are, in the first post on a brand new silentcoder.co.za design. After some thought, I decided that the whole wordpress in an iframe inside joomla was slow loading and frankly ugly. Not to mention having to effectively maintain two sites made for twice the work. So I have eventually decided to redo the site using only wordpress. My company site is still Joomla based and will remain so – it makes sense for what I do there.
Here, wordpress made more sense. It took some time to port all the data but really not all that much anyway.
I also replaced the old Zoom gallery (which is apparently now unmaintained) with gallery2. I tried the wordpress2 gallery2 plugin but decided that I just didn’t like it (it scaled the gallery to an unusably small size).

The new site isn’t exactly like the old one, some things are new, some old things are gone – but it has everything I want and it should be a lot easier to maintain.
In terms of the blog, I backed up my old wordpress database, then installed it into a whole new one, and set up the new wordpress from there, thus keeping downtime on the site to literally a few seconds during the move. This is also why the blog had been quiet all week. Since I am on contract at the moment, I had to do this in my lunchtimes and I was focusing on that instead.
I hope you like the new site, I definitely like the color-scheme better myself and I look forward to a long time of posting my normal flame-inducing blog-entries with half the hassle.

Feb 132008
 
No Gravatar

Boycott Trend Micro
Antivirus company Trend Micro has filed a patent suit against Baracuda networks for using the Free and Open-Source ClamAV antivirus system which they claim interferes with one of their patents. The patent is exceedingly obvious and much prior art exists so it is a good likelihood that Baracuda will win the case, even if you are not a Free Software believer the reality is that suing a FOSS antivirus program is actively making the internet less secure for all it’s users (most ClamAV deployments are on ISP servers).
I do not use Trend Micro, I don’t need an antivirus program because I use GNU/Linux. However I want to add my voice to the call for an international boycott of the company. Their actions is decisively harming all internet users, including their customers, you should be displeased with them for doing so and find an alternative provider.
HINT: ClamAV is a very good one to switch to.

Feb 112008
 
No Gravatar

Everybody knows that I believe in free software, the recent flamewar on my post about the Desktop espoused that clearly. With this post however, I wish to answer another factor – the apparent belief that GNU/linux doesn’t “work”. I can’t say it will work for everybody, though each day there is some app on freshmeat that allows some new group of people who could not previously do their job with GNU/Linux to make the switch.

But using GNU/Linux was never for me about hating microsoft. Although indeed I believe in free software from an ethical perspective, I want to highlight the practical advantages it offers to me as an end-user (I may be a developer, but I also use my computer – and so does everybody else)  – advantages which I have come to consider crucial.

1) Security:
It is just not good enough to have your system constantly plagued by the latest virus threat, constantly bogged down by a lot of spyware. These are not fundamental weaknesses in the essence of computers, they are fundamental weaknesses in the design of some operating systems. The lack of viruses for Linux isn’t just because the market is smaller – it’s because the system is better designed, and updated constantly, this just raises the bar for writing virusses far beyond the capabilities of all but the most skilled of programmers – and highly skilled programmers do not write virusses. I do my banking on my computer, it knows my credit card details, it knows my paypal password – I’m sorry, but I simply refuse to trust this information to a program I cannot verify and audit to ensure that this information is safe.

2) Privacy:
Beyond spyware – I value my privacy as a person. My computer knows a lot of things I do not want to be known to others. It knows my tax returns, my medical history, my bank details – even my outstanding traffic fines. There was just way too many proprietory licenses that claim for themselves the right to collect and send data from my computer to companies. Sorry, I don’t want those companies to know that information – so I refuse to use software unless I can know what it may collect and what it does with it and (importantly) stop it if I want to.

3) Reliability:
The simple truth is, I run a business with my computers. Every minute of downtime costs me cold-hard cash. I, quite frankly, cannot afford a system that bluescreens … well ever. I cannot afford for my systems to lose my data. I cannot afford preventable faillures. Thanks to GNU/Linux, I don’t need to.

4) Power:
A lot of my business is to modify how operating systems work to meet the requirements of a specific customer (usually – this is desktop-level). I need a system that allows me to do that. I need a system where this is both possible and legal with minimal hassle, and in fact, the assistance of the creators. Only free software offers this, GNU/Linux meets this need particularly well. Moreover, I need features which closed operating systems not only do not have, but cannot obtain without massively dirty application level hacks. The good news is, GNU/Linux already has them, and if there is ever one it doesn’t have – I can add it. One example of this is complete and powerful remote access to my systems.

5) Ease of use:
Just because I know how to set up a wifi network by hand, doesn’t mean I want to – or have time to. GNU/Linux does a wonderful job of just working for me. The simple reality is that despite it’s wrong reputation, myself and most newbies whom I’ve introduced have found desktop oriented distro’s like pclinuxos to be easier to install and use than proprietory operating systems. Sure there are differences, and without guidance some people may get lost looking for something in the wrong place – for this there is a community – but overall, most things just work, they work better than under other OS’s, and they are easier to do.

6) Time:
Time as the adage goes, is money. Mine most especially so. GNU/Linux is resource friendly and fast, this means that when I give it a big task to do – it does it faster than the competition. This translates into me getting more done – and ipso facto into me getting more money. By saving me time and hassles, by working faster (at least in part achieved because it isn’t busy wasting resources treating me like a criminal) GNU/Linux ultimately increases my bottom line.

7) Mutual respect:
No man is an island. We all need a sense of belonging and a sense of respect from our peers. In the proprietory world we are treated like servants, existing only to make the corporations money. In the free software world, we become equals. Our views matter. If I report a bug, it gets serious and genuine attention. If I request a feature the developers prioritize it and makes it happen (if I want to spend money, I can make it happen faster). How many times has a software company added a feature to their program because you thought it would be nice ? In the GNU/Linux world it happens every day. Developers consider user-feedback their most valuable resource  and work hard to meet the needs that users share with them. Proprietory companies sell you a one-size-fits-nobody solution and tells you to be content. Free software developers care about your needs as much as your rights. Proprietory companies only care about making it as hard as possible for you to ever buy anything made by anybody else.

Powered by ScribeFire.

Feb 052008
 
No Gravatar

Today’s LinuxRant has a post entitled ‘There is no Year of the Linux Desktop’, in which the author expouses the reasons he believes that Linux will never be the mainstream desktop operating system. While the occasional reality check is valuable of course, this article is so full of false assumptions and outright misunderstanding that I am forced to believe that the person, despite his claim to be an exclusive Linux user since 1999 has never grasped what it is all about. It is interesting that he is not among those who speak about Free Software or GNU/Linux, he speaks about Linux and Open Source.

And this shines through his assumptions. He genuinely believes that all this is about price. Apparently he completely misunderstood what free software means. Free here is the free of free labour or free speech. The freedom to do what you want with what is rightfully yours. Not the price. He believes apparently that the missing ingredient in a desktop revolution is commercial applications for Linux(since I am answering him, I’ll use the misnomer for the remainder of the article). Who cares if photoshop doesn’t have a Linux version ? The reality is he is right about one thing: hardly anybody would pay for it – but it doesn’t matter, because we don’t need it anyway. Sure it may be a small slowdown, but even if it was available for Linux free of charge – most of us would still refuse to use it. We demand the freedom to copy, the freedom to change it – and until it has that, we don’t want it.

Anybody who believes in freedom would rather use gimp, even if he is one of the few people who genuinely seems to believe that gimp is inferior.

This does not mean that commercial software for GNU/Linux cannot or will not work. It means proprietory software will never have a major market there, not while there are better free alternatives. We’ll use flash for now because we need it, but those of us who can will keep contributing to Gnash and switch as soon as possible – because we don’t want the flash license. Despite this I have built a successful small software company on free software. So did many others. MySQL was very successfull – if they weren’t they would not have been bought out. RedHat and Novell keep posting profits, IBM and HP are making fortunes out of their support for free software. Sure these guys are mostly focusing on server software, but we’re already starting to see desktop software companies emerging in the free software market. True, that growth has been slower – but that is because the GNU/Linux desktop market is still small – it is certainly not too small.

But the biggest fundamental misunderstanding he has, is exactly the same one that fuels the very articles he is flaming. That there is some magic critical mass of users where GNU/Linux will be mainstream and everybody will be forced to switch – and that a few good market moves will bring this about. Many articles claim each year that move X was that move. He says (right enough) that there will never be such a moment. What he has wrong however is looking for the ‘year’ of the Linux desktop.

This is already the decade of the Linux desktop. When I started using it in the 90′s there were less than 100 other users of this system in South Africa, now there are many tens of thousands. Schools and government agencies are running it. All over the world, the switch is happening, gradually. Linux is growing every year. It won’t in one year magically become the 90% use operating system. With each years growth, that growth triggers more growth. The growth rate is  increasing every year at a nearly exponential rate and it has been since about 1998. If the trend just continuous we will see 30%+ market share by 2010. By 2015 more than 80% of the computers out there will be free.

Stallman was right about one thing, using a portable OS (Unix) as his base – because he knew that the process would take time, and be battling incredibly powerful forces, he had to plan on the fact that by the time we get there the computers would be very different from what he started on, they already are and the GNU base has stood the test of time – we have no reason to doubt it will continue to do so. The lower cost of deployment is driving GNU/Linux on small devices like the EEE and those are the future – the next generation of computers will ever more be devices that fit in your pocket. Cellphones with project screens and keyboards that fold out to full size – that does everything a PC does, just as well – but can fit in a pocket. And the software they run will be free.

No there will never be a year of the Linux desktop, but the decade of the Linux desktop is well underway, to the ultimate bennefit of the world. In a world where copyright abuse is become more rampant everyday, and less and less promoting of the arts (it’s only actual reason to exist) – copyleft is our only reasonable salvation, and though the revolution is slow, it’s been coming unstoppably since 1983. It’s all very gradual, but nevertheless, one day, we’ll look back and without really being able to pinpoint where it all changed – we will be free.

Sure it’s an uphill battle against powerful enemies, and we must remain vigilant and active in this war of the soul. We certainly cannot rest on our laurels, but we definitely can be sure that if we keep up our labors, success is ultimately guaranteed.

Feb 052008
 
No Gravatar

Now as many of you know, I stopped development on TappyTux some time ago as there were better projects for the same job that had become available over time. However, I did not stop development on GamePack, the component suite I developed for doing games in Lazarus, originally for the purpose of writing TappyTux.
Now, nearly four years into it’s development, GamePack has reached 1.0 status – and it has become a pretty impressive component suite of which I am quite proud. GamePack does sprite handling, collision detection, double-buffered blitting and most other base-graphics work you would need to do a 2D game. Whether it’s a simple puzzle game or an advanced tile-based game, GamePack provides the basic tools you need to write it. It’s closest rival is probably SDL but unlike the latter it does not require you to use a sepperate threading library, or a seperate event manager (why Larry WHY did SDL do their event manager to use loops ?) or anything like that. You just use the same components and structures you would use to develop any other Object Pascal program in Lazarus. This means a reduced learning curve, the ability to work in a high-level way and a great deal of power. Your core game design can be done in the Lazarus visual form editor, even if you are doing tile-based levels, this is still a powerful and easy way to do it. All doable because GamePack uses only Lazarus native components.

I will soon begin development of a LodeRunner clone using it (I have wanted to write a modern LodeRunner clone true to the spirit of the original for as long as I can remember) and thanks to the power of the suite, this will not take a huge amount of code. The demo program included with the package has about 60% of a complete pacman game. Most pacman clones are around 15000 lines of code, with GamePack – the demo program is less than 100 lines of new code. That is the power of it.
The only difficult bit left is designing game graphics – which is an entirely different set of skills. If anybody feels like helping me with that part for my LodeRunner clone, please leave a comment b.t.w.

You can download GamePack 1.0 here.
There is a wiki page here.
Library documentation available here.