Archive for the ‘microsoft’ Category

Japan decides to undermine Microsoft by further developing a domestically produced operating system

Friday, August 21st, 2009

TRON was developed in Japan, and it is used in more machines than any other operating system in the world. I don’t know much about embedded technologies, so this was news to me. I have long been puzzled why Japan seems to dominate in so many tech sectors, yet seems so far behind when it comes to operating systems. This articles gives me a piece of the puzzle that helps make the whole worldwide picture more clear – Japan has the most used embedded operating system. Given Japan’s strengths, this makes a lot of sense.

What distinguishes TRON from other operating systems like Windows is the extremely high speed at which data is processed and the fact that the source code is freely available. These are just two of the reasons why TRON is installed in most Japanese-made cellphones and digital cameras, as well as in many other electronic products, such as audio-visual devices, rice cookers, air conditioners, fax machines, karaoke machines, and car-engine control devices. The mini-computers fitted to these devices are called embedded chips, and about 5.3 billion of them are produced worldwide each year. It is thought that about half of these run on TRON. Since only about 150 million PCs are shipped each year, these figures mean that TRON is used in far more machines than the overwhelming leader in the personal computing market, Microsoft’s Windows OS. In fact, in terms of machine numbers TRON is the most widely used OS in the world.

Recently it is TRON’s open-source status that has been attracting attention. Microsoft has never revealed the source code – the blueprint – for Windows, insisting that it is a corporate secret, and has refused to allow others to adapt its OS as they wish. For this reason, the inner workings of Windows have remained a mystery, and some public institutions and corporations have complained at not knowing what is inside the OS. The lack of transparency even led the Chinese government and some public organs in Europe to worry that state secrets might be vulnerable to leaks when held on Windows machines. Some of them have therefore started to switch to the open-source Linux OS developed by Finnish programmer Linus Torvalds instead.

TRON Set for Use in Info-Appliances
In Japan, the E-Life Strategy Research Group, an independent group formed by the Ministry of Economy, Trade, and Industry’s Commerce and Information Policy Bureau and whose members include the president of a major electronics maker and university professors, agreed in March that Linux or TRON should be used in info-appliances (electrical appliances that are connected to the Internet). METI and Japanese electronics makers are keen to move away from Windows and to nurture a homegrown OS in order to secure a leading position for Japanese firms in the info-appliance market. Info-appliances bring to mind images of such products as the air conditioner that switches itself on as you come home from work and the fridge that orders a delivery of beer from the liquor store when your stock runs low.

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.

Comparing web browsers: FireFox, Safari, Chrome

Sunday, March 15th, 2009

For much of the last 3 weeks I’ve used Windows laptop running XP (instead of my usual Ubuntu Linux machine) which gave me a chance to try out some of the browsers that have no Linux version.   One of the greatest aspects of the current web development scene is that most of the surviving browser projects are competing on how well they can implement web standards and HTML5 (contrast the current scene with 1996, when Microsoft set out to break the web, with its “embrace, extend and exterminate” strategy).

I’ve already noted that FireFox seems to have surpassed Internet Explorer, in terms of usage. Microsoft will hopefully soon kill Internet Explorer and replace it with something else.

I admire much of what Brendan Eich has done. And for the last several years, FireFox has been my web browser of choice. But FireFox drives me crazy with its demand for resources. Compared to any other browser I’ve tried, it demands more RAM. With just one window open, it will grab 60 to 90 megs of RAM (compared to, say, 14 for Chrome). With several pages open, which is normal for me, FireFox will grab 200 to 250 megs of RAM. Chrome might grab a 3rd of that. (These statements are true for FireFox 2 and 3, and Chrome 1.)

FireFox allows plugins, which is the main reason I use FireFox. The Firebug and Session Manager plugins are essential tools for me. However, FireFox doesn’t police the resource usage of these plugins. They can crash any machine: Macs, Linux, Windows. (Those of you who want to claim “Linux never crashes”, please note that a process can use up most of the memory on the machine, and then the machine becomes unresponsive. For the user, this is the same as a crash, even if in some hair-splitting way it avoids the technical definition of a crash.)

Chrome has the kind of plain, minimalist design that is a signature of most of Google’s products.  I like it a lot, though it has many annoyances. Yahoo Mail normally auto-suggests email addresses as I start to type them, but this doesn’t happen when I use Chrome. Also, when using WordPress, Chrome embeds inline styling, whereas other browsers do not. Also, again with WordPress, Chrome erases all line breaks every time I update a post, so that the text is reduced to one giant paragraph. Basically, most of the Javascript that is out there was not written with Chrome in mind, and Chrome has some kind of conflict with it. Also, surprisingly, I’m not able to log into some of my favorite forums with Chrome.  I get no error message, but I am not treated as logged in, even after giving the correct username and password (I have the same problem in Safari, but not in FireFox).

Scrolling a web page, using the arrow keys on the keyboard, is important to me. I read a great deal online, and for me it seems natural to want to use the arrow keys to move down the page as I read. Here is one area where Chrome is especially good. It scrolls smoothly. FireFox is usually broken in this regard – it tries to move the cursor down the page, but if the HTML is laid out in a way that allows the cursor to skip the main text of the page, then FireFox simply drops to the bottom of the page. This drives me crazy.

Safari 4 seems to be in between Chrome and FireFox in terms of resource use. It is wonderfully standards compliant and leads the way in supporting HTML5. I admire it for that, though until more browsers support HTML5, I can’t imagine using any of the new tags on a commercial web site.

Right now I can see using FireFox when I want to use my favorite plugins, and I can see using Chrome when I want a fast web browser, but I’m not sure what would cause me to use Safari.

I’m comfortable making this prediction: IE will continue to fade, and Microsoft will continue to fade, and FireFox, Safari and Chrome will all have more browser share a year from now than they currently do. So it is time for designer to start checking their designs in all of these browsers.

Adobe Flex, Microsoft Silverlight, Java FX and Google Gears

Sunday, June 1st, 2008

It is impossible to keep up with all the new technologies that came out over the last year, especially one’s that I probably won’t ever use. I admit, I was confused, till now, regarding Adobe Flex, Microsoft Silverlight, JavaFX. Apparently these were all aimed at the same basic market, the same one that Google Gears aims at: ????????building applications that have a front-end that lives and runs as a desktop app, but pulls data from the web. I’m pleased to now at least understand what all these are about. I can’t see myself building this kind of software in the near future, so I guess I can ignore these technologies. If I do end up doing this kind of software, I’m sure I’ll use Google Gears, simply because I already have some slight introduction to the Google API.

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.

Sjoerd Visscher’s revelation

Sunday, February 17th, 2008

Via Sam Ruby, we are pointed to this in the comments at Intertwingly:

Btw, if you want CSS rules to apply to unknown elements in IE, you just have to do document.createElement(elementName). This somehow lets the CSS engine know that elements with that name exist.

This could be a viable strategy for using HTML5 and styling the results in IE, even if IE does not support certain tags.

Microsoft’s website is broken

Monday, October 1st, 2007

 Yes, that is a broken image link on the Microsoft website (I hit refresh a few times and it was still there). Ironically, the page is talking about a new technique for debugging.

Error on the Microsoft page about KISS debugging

Part of what is becoming a continuing series on the subject of broken web pages.

Should fonts snap to the pixel grid of your screen?

Saturday, August 18th, 2007

Stumbled upon this and found it interesting:

Apple generally believes that the goal of the algorithm should be to preserve the design of the typeface as much as possible, even at the cost of a little bit of blurriness.

Microsoft generally believes that the shape of each letter should be hammered into pixel boundaries to prevent blur and improve readability, even at the cost of not being true to the typeface.