Archive for the ‘windows’ Category

Error on schedule terminal at train station in MetroPark, New Jersey

Monday, September 28th, 2009

Today, I was at the train station in MetroPark, New Jersey. I was catching the commuter train back into New York City. The terminal that displayed the schedule had an error message on the screen. I do not know why these are so common, but I see error messages like this a lot, on public terminals at bus and train stationsm, and airports. The errors always seem to be on Windows operating systems.  Always.

0928091356a

0928091356

The difference between Windows programmers and Unix programmers

Sunday, July 12th, 2009

I stumbled upon this old post by Joel Spolsky:

What’s left is cultural differences. Yes, we all eat food, but over there, they eat raw fish with rice using wood sticks, while over here, we eat slabs of ground cow on bread with our hands. A cultural difference doesn’t mean that American stomachs can’t digest sushi or that Japanese stomachs can’t digest Big Macs, and it doesn’t mean that there aren’t lots of Americans who eat sushi or Japanese who eat burgers, but it does mean that Americans getting off the plane for the first time in Tokyo are confronted with an overwhelming feeling that this place is strange, dammit, and no amount of philosophizing about how underneath we’re all the same, we all love and work and sing and die will overcome the fact that Americans and Japanese can never really get comfortable with each others’ toilet arrangements.

…What are the cultural differences between Unix and Windows programmers? There are many details and subtleties, but for the most part it comes down to one thing: Unix culture values code which is useful to other programmers, while Windows culture values code which is useful to non-programmers.

…The cultural schism is so sharp that Unix has never really made any inroads on the desktop. Aunt Marge can’t really use Unix, and repeated efforts to make a pretty front end for Unix that Aunt Marge can use have failed, entirely because these efforts were done by programmers who were steeped in the Unix culture. For example, Unix has a value of separating policy from mechanism which, historically, came from the designers of X. This directly led to a schism in user interfaces; nobody has ever quite been able to agree on all the details of how the desktop UI should work, and they think this is OK, because their culture values this diversity, but for Aunt Marge it is very much not OK to have to use a different UI to cut and paste in one program than she uses in another. So here we are, 20 years after Unix developers started trying to paint a good user interface on their systems, and we’re still at the point where the CEO of the biggest Linux vendor is telling people that home users should just use Windows. I have heard economists claim that Silicon Valley could never be recreated in, say, France, because the French culture puts such a high penalty on failure that entrepreneurs are not willing to risk it. Maybe the same thing is true of Linux: it may never be a desktop operating system because the culture values things which prevent it. OS X is the proof: Apple finally created Unix for Aunt Marge, but only because the engineers and managers at Apple were firmly of the end-user culture (which I’ve been imperialistically calling “the Windows Culture” even though historically it originated at Apple).

…There are too many monocultural programmers who, like the typical American kid who never left St. Paul, Minnesota, can’t quite tell the difference between a cultural value and a core human value. I’ve encountered too many Unix programmers who sneer at Windows programming, thinking that Windows is heathen and stupid. Raymond all too frequently falls into the trap of disparaging the values of other cultures without considering where they came from. It’s rather rare to find such bigotry among Windows programmers, who are, on the whole, solution-oriented and non-ideological. At the very least, Windows programmers will concede the faults of their culture and say pragmatically, “Look, if you want to sell a word processor to a lot of people, it has to run on their computers, and if that means we use the Evil Registry instead of elegant ~/.rc files to store our settings, so be it.” The very fact that the Unix world is so full of self-righteous cultural superiority, “advocacy,” and slashdot-karma-whoring sectarianism while the Windows world is more practical (”yeah, whatever, I just need to make a living here”) stems from a culture that feels itself under siege, unable to break out of the server closet and hobbyist market and onto the mainstream desktop.

I disagree with his defense of Windows. While there are many fantastic Windows programmers, brilliance is not what this culture is about. Spolsky puts the best face on it when he says “…Windows programmers, who are, on the whole, solution-oriented and non-ideological.” One has to be careful when generalizing about so many people, but I think the average Windows programmer doesn’t really care about programming. To say they are “non-ideological” is to put a positive spin on apathy.

Spolsky is exactly right when he sums up Windows programmers as having this attitude: “yeah, whatever, I just need to make a living here”. That is the attitude that I see everywhere when looking at Windows programmers. In general, people who go into Windows programming tend to simply be in it for the money. People who are, instead, attracted to Unix or Linux tend to be people who really care about the art of programming. Because of this, software built using .NET often sucks, whereas code written on Unix/Linux platforms is often very good.

Look at the best known web sites built various technologies: MySpace was built with .NET and it is a permanent disaster, always full of bugs. Meanwhile, Facebook was written in PHP on a Unix stack, and its architecture is so beautiful that they write about it in books called Beautiful Architecture.

Again, I’ll repeat, there are a lot of great Windows programmers, and you can write great software using .NET. However, overall, I think the Windows platform attracts people who simply want a job, and their lack of concern about quality is reflected in the code they churn out. By comparison, the Unix/Linux platform tends to attract people who care passionately about the quality of the code they write, so the software on this platform tends to be of a better quality.

So frustrated with Mozilla that I’ve got a sore throat from yelling

Monday, June 8th, 2009

FireFox can crash any machine. Not “crash” in the sense of “blue screen of death” but crash as in “uses up all memory so the machine becomes unresponsive”. This is a reliable fact of using FireFox, regardless of whether you are on Ubuntu Linux, Windows XP, or Mac OS X (I can’t speak of Camino, as I don’t use it).

Sometimes I say this to other programmers and they respond “It’s not FireFox that is the problem, it is the plugins that you use – it is FireBug and Session Manager and all the others.” Of course, any programmer who reveals this attitude needs to be re-educated. If you offer a plugin system that is unable to manage the plugins, then maybe you should not offer that plugin system? It suggests a (possibly frightening?) willingness to shirk responsibility if a programmer defends a plugin system that can crash a computer.

I wonder what Brendan Eich is thinking?

One suggestion for others: if you use FireFox, every time a new version of FireFox comes out, FireFox will ask you if you want to upgrade. I used to always say “yes”. Now I realize, if your computer is more than a year old, you should say “no”. Each version of FireFox tends to be heavier and slower than the previous version. My Ubuntu machine is from 2006, and that is part of the reason why FireFox is so slow on it.

On my Windows machine, I just switched over to Google Chrome as my new default browser. I’m giving up on FireFox. On my Ubuntu machine, I am stuck with FireFox for now. I’m not aware of any other serious browsers for Linux.

For email, I would love to give up on Thunderbird, if I could find a substitute. I run Thunderbird on my main desktop machine which runs Ubuntu. Thunderbird has had a persistent bug that has survived several upgrades (of both Thunderbird and Ubuntu). The bug is with the address auto-completion. If I type an address fast, hit “Enter” to accept and start typing again fast, Thunderbird crashes. This can lose a lot of work for me (Where “work” might simply mean “Opened email and left them open because I found some that were important and so answering them will take some time.”). Apparently there is no equivalent of SessionManager for Thunderbird, no way of remembering which emails were open, waiting for a response, when Thunderbird crashes. No, instead, after Thunderbird crashes, I need to re-start it, go back 3 days, and then read through all my email again, looking for the important ones.

At work we had a deadline today, and I worked through the weekend to meet it. I kept getting feedback from various people testing the site. Some of the email I got was thoughtful, and offered intelligent suggestions about what we should do next. By this morning, I had about 20 emails open, waiting for me to have the time and focus to write a reply. Then Thunderbird crashed and they all vanished. I yelled so loud my throat was sore. Now I have to go back to Friday and read through all the email again, to find the ones that I wanted to respond to.

If I could find something better than Thunderbird, that runs on Linux, I’d switch immediately.

Windows Vista is an unmitigated disaster

Thursday, March 27th, 2008

We are using a new Hewlett Packard machine running Windows Vista. The machine has 3 gigs of RAM – the stuff of science fiction circa 1990. Dual core Athalon processors, 2.6 GHz. The machine is two months old.

I right-click on the Desktop. From the context menu that appears, I choose “New”, then “Folder”. Then I type in the name of the new folder. Then I hit “Enter”.

Explorer becomes unresponsive while it creates the new folder. Counting slowly, I am able to count to 48 before Explorer comes back to life. 48 seconds to create a new folder. On a Mac, circa 1991, using System 7, I recall this same task taking from .5 seconds to maybe 2 seconds when things were bad. On a Unix machine, circa 1980, my guess is that the mkdir command took about .1 seconds to execute.

I am recreating a folder that I just deleted, and perhaps there is some kind of memory of the old folder that is causing problems. Whatever the reason, this is bad programming.

Windows Vista is a unmitigated disaster. No one should buy this product ever. And no company should be legally alowed to sell it.