Friday, February 01, 2008

Python 3.0 Compatability

I just tried out a beta version of Python 3.0. It looks pretty good so far. I read on Slashdot how it isn't backward compatible, so I figured I'd give it a spin.

I tried a 200 line script I had built with 2.3.4, and the results weren't all that bad, really. don't get me wrong, some work is required to get code to work in 3.0, but I think some people are getting a little too worked up about this.

Minor problems I experienced:

1. It complained a number times about my indentation, namely the mixing of spaces and tabs. This isn't a big deal, because this is a thing that has been long known as being an issue within the development community. Python was just less strict about it in the past.

2. The "print" statement has been changed to be a method (ie. print()). This requires the changing of some code. But then again, a well-designed project shouldn't have print statements liberally scattered all over the place anyways.

3. I've noticed that the way floating point results are presented (in relation to division operations) has changed. Some printed results that formerly were nicely rounded to two decimal points, now have 10 digits to the right of the decimal point.

I also tried running some other code, and I found in my anagram generator that some code related to maps and lambdas isn't working anymore. A good guide to evaluating what changes are present in 3.0 is this.

That's it! I'm pretty impressed. I had low expectations because of all the people potificating over this. But the result is pretty good.

Sure, these issues will be compounded on a big project, but I don't think this is nearly as bad as it sounds. With good development tools, the cost of these changes can be minimized.

My advise is still conservative: If you have a somewhat larger project (over 1000 lines), just stick with 2.x, as it will still be maintained. However, if your project is smaller, or if you are starting a new project, I'd consider using 3.0 instead (once a stable version is released, of course, which should happen towards the end of 2008)

All you Python developers out there, have you made any attempts to run code in 3.0 beta?

Labels: , ,

Friday, May 18, 2007

I've Had It! - No More Microsoft Products

My house is now a Microsoft-free zone.

For a long time, Linux has been my primary operating system of choice. However, for most of the time, I had one machine running Windows 2000 to fall back on for those few things that didn't seem to work just right in Linux.

However, due to Microsoft's recent actions in making threats against the Linux / open source community, I've decided to act on principle, and go all the way and delete Microsoft Windows off my spare computer. Finally! I've eliminated the last tenticles of The Raptor of Redmond.

The "Raptor of Redmond", you say? I'm not sure who coined the phrase, but I was introduced to it by Peter Salus. It reflects on Microsoft's predatory tactics and also their office in Redmond, Washington. I feel it is a fitting title.

Microsoft is having a tough time competing against the free software and open source communities. You can sense the desperation when Microsoft makes the patently (no pun intended) ridiculous claim that free / open source software violates over 200 patents! I have no doubt that the community will fight and win against Microsoft in this.

Interestingly enough, Microsoft is not disclosing what these "patent violations" are. It seems like Microsoft is counting on people NOT KNOWING what they have up their sleeve for a long time. As Larry Augustin has observed, Microsoft doesn't want the public to see what they are, because they KNOW they will be refuted/repudiated thoroughly just as happened with the SCO suits. They are going to try to run with this "paper tiger" as long as they can, carrying out deception in an attempt to scare people away from Linux and other software or at least find ways to extort money out of those users. They don't need to win a single lawsuit, but they can use this to their advantage still.

This threat of action of Microsoft is very much like the suits that SCO brought forward: Threatening yet frivilous. Their primary value is as a deceptive scare tactic. They invoke lawyers as a sort of obstruction. They try to wear down their opponent.

With all due respect, I find some of Microsoft's tactics sleazy.

It looks like lawsuits will be coming if Microsoft walks their talk. You heard it right: Microsoft is threatening to sue their legitimate competitors, not because of patent violations, but because it seems to be their only way to stay afloat. But, what is even more embarassing is that Microsoft is not even threatening a company in particular!!! They are suing a movement! A community! A worldwide group of developers and users! This is true reactionary non-sense. It is truly pathetic. I hope the counter-reaction to Microsoft's threats will be the deadly blow that slays the brute and unsightly Raptor of Redmond, or at least causes it to change its ways and embrace a movement that is good and necessary (the open source movement). And if the Raptor of Redmond should rest in peace, we can hope that it does not pull a phoenix on us.

For those who wish to know more about what is going on, check out assesments by : cnn, Linux Today, CNET News, ZDNet, etc.

Labels: , ,

Tuesday, May 15, 2007

The Ideals of Open Source

Increasingly, the "Open Source Software" movement is proving to house some of the best software projects. Increasingly, open source software is proving to be superior to proprietary alternatives. This new philosophy regarding software licensing is proving not only to be appeal, but also wildly successful.

As open source software becomes more common, the general public's conception of what it is remains murky. Many people think that "showing the source" is the essence of what open source is. That is not true. Microsoft has been "showing the source" for a long time, if you sign draconian contracts that prevent you from doing anything useful with it, that is. The key concept of open source software is not the availability of the source, per-say, but rather the TERMS on which the source is made available. It is really built on the "hacker ethic" (not "hacker" in the bad sense) mixed with FSF's idea of "copyleft" (a novel idea in which copyright protects the user not just the vendor).

While various projects reach the ideals of the open source model with varying degrees of consistency, the basic practical, logistical, and philosophical ideas involved are these:

- The internals (source code) of programs should be available to everyone. And not only available, but "tinkerable" in the event that a user wants to modify it. The "tinkerable" part of this is critical because seeing source code without being able to use it, while perhaps being slightly educational, is counterproductive.
- Software should be "free" (perhaps as in "free beer", but most certainly as in "free speech").
- Copyrights should not be one-sided. They should protect both the vendor and the user. The vendor to user relationship ought not be us-verses-them. The activities of vendors can be very useful to users. And the activities of users can be very useful to vendors. There ought to be cooperation. Instead of initiating an antagonist relationship of mistrust, there is a middle ground where one can glide successfully. The vendor should be able to find ways to make money without seeking to subvert their users. Success in software should not be defined as crippling and locking in the user, but rather in empowering them.
- Competition, derivation, and distribution ultimately work for the good of the whole. To spend a good part of ones existence trying to stamp out these things is frustrating and will ultimately be futile. Rather, we seek ways to piggy-back others innovations while giving back to the community to further push forward innovation.
- A sort of "tempered anarchy" can be a very successful model in growing complex software products.

The forces that are fighting against the open source movement have their reasons. They are trying to protect their bottom line, their cash cow. However, they must see that their days are numbered. If your only way to make money is by threats, limiting what others can do, etc., you are on the slippery rope to obscurity. The open source movement may seem anarchic and revolutionary. To some degree, it is. Sort of like desegregation, the end of slavery, the Protestant Reformation, or the American Revolution. I guess that puts it in good company of social upheavals.

The basic foundation of open source is something that has been part of our society as long as history has been recorded. It is something we has humans intuitively know, but "unlearn" because we think that is the only way we can make money. However, there is much money to be made in an open source landscape. It is not communism, but rather the "free market" at its best. It is the best way to foster innovation and work towards a non-monopolized win-win situation.

If I would concur with the nay-sayers that the success of open source solutions will shrink the amount of money out there in software development and cause things to go haywire (of which I am totally not convinced), I as a programmer can rejoice. Why? Because I want a *good* profession, not just a successful one. If there is no money in programming for the good of others (with no crippling licenses), then perhaps its better if the art of software development rest in the halls of irrelevance. If software is limited either a commodity bartered in the hands of a few elite companies or not a workable proposition at all, I'd rather it go away, permanently. However, I'm inclined to believe that the open source and/or free software ideals put forward by bright minds such as Bruce Perens, Eric Raymond, Richard Stallman, Linus Torvalds, etc. are actually workable--both in principle and in practice (over the last 10 or 15 years).

Labels: , ,

Thursday, April 05, 2007

Vista Adoption Slow

According to this Slashdot post, most online US adults (87%) know about Windows Vista, but only 12% plan to upgrade in the next year.

I think that a lot of the negative press that Vista is causing this. Especially damning are the policies that the likes of Intel and the U.S. Department of Transporation have had in regard to their employees installing Vista. Also, the history of Microsoft operating systems has often shown that early adoption isn't always good. "Always wait a service pack or two" is pretty good advise.

In my estimation, if Vista wasn't being pre-installed on new computer systems, it would have a VERY tough time catching on. Fortunately for Microsoft, for many people the decision to use Windows Vista is not a conscious choice, it is imposed on them by their purchase of a computer.

As for me..I prefer to use an operating system whose success is not largely derived from the fact the user has had no other choice.

Labels: , , ,

Wednesday, June 07, 2006

Why I Use Open Source Software and Linux

1. I enjoy using and endorsing software that I am not only allowed, but encouraged to makes copies and distribute to my friends and associates.

2. I enjoy using software that has a license which encourages rather than discourages innovation, bug fixes, and community-driven critique.

3. I enjoy being able to peer into the internals of the software I am running.

4. I depend on the stability of the software I run, and have found many OSS products to be superior to their closed-source alternatives in this.

5. I depend on the security of the software I run, and have found many OSS products to be superior to their closed-source alternatives in this.

6. I take comfort in knowing that if the maintainer of the software that I run were to drop dead or become disinterested, the basic building blocks for the continuation of the software are in place and would not need be hindered by legal barriers.

7. I enjoy knowing that most of the software I run is in active development through a transparent process, and that I also have various relatively accessable ways to encourage the development of features I want.

8. I enjoy knowing that if I can't persaude someone else to implement a feature, I can implement it myself with a realistic possibility of it being integrated into the product.

9. I like running a stable, secure, and powerful system which provides me with a flexible medium between ease of use and ease of tweaking.

10. I like the way that open source software has challenged a playing field which has been increasingly dominated by domineering corporations, and has consequentally sanitized and freed many corners of the industry for real competition and a real free market.

In concluding this list, I want to encourage people that Open Source software is not at all or nothing proposal. You may run Windows (at your own risk :>), but you can still reap the benefits of solid OSS software, such as FireFox, Thunderbird, OpenOffice, Apache, Gaim, etc.

Labels: , , ,

Saturday, December 24, 2005

SuSe 10.0

I just installed SuSE Linux 10.0 and I'm very impressed so far! I've been using Fedora Linux for the most part, but I decided to try SuSE for the first time in a while, and I like what I see.

I think I may have to stick with SuSE if today is any indication of my overall experience with this distribution.

Labels: , , ,