Distributed Mind

July 09, 2004

Even Mozilla has Problems! Noooo!

by ben

Mozilla turns out to have a fairly serious bug for the Windows version... eWeek has an article on the problem. (News from, dare I say it, Slashdot.)

00:25:52 - Technology - ben - No comments

July 03, 2004

NetBSD Ported to Analytical Engine

by ben

Today, it was announced that a NetBSD volunteer had successfully ported NetBSD to an Analytical Engine emulator...

(And, no, I am not serious. Somebody should try this, though...)

12:24:53 - Technology - ben - 1 comment

Slow Pace of Development on Internet Explorer Catches up with Microsoft

by ben

As you may have seen elsewhere, evidently the Department of Homeland Security's Computer Emergency Readiness Team recommended against using Internet Explorer for security reasons. Someone finally said it, publically! Because IE will automatically, or anyways with little input from the user, execute code it finds on web pages, there are lots of potential for abuse (this is where alot of that annoying spyware some of you are running into comes from). By the way, the new XP Service Pack 2 is supposed to fix alot of these issues when it is released, so be sure to watch for that and run Windows Update when it comes out. Did you know Microsoft has stated repeatedly that they will not make any major changes to IE until Longhorn comes out (at the earliest next year - and nothing from Microsoft ever ships on time) - and this despite the fact that IE does not properly implement some basic parts of web standards that have been around for years? IE's poor standards support is a problem for web developers and, even if only indirectly, users. So between IE's staleness, its terrible support for all the standards the web is based on, and the (soon to be fixed?) security problems, now is a great time to try an alternative like Mozilla's Firefox. Besides, the government told you to!

08:31:16 - Technology - ben - No comments

C# and New Microsoft Software

by ben

For my job, I have to deal with a little Microsoft produced language called C# (pronounced "see sharp" - as in the musical notation). C# is similar in syntax to Java, though you could also say it is similar to C++, as it is hard to tell which really had a bigger influence on the language syntactically (it has been suggested C# is Microsoft's answer to Java - which is in large part almost certainly correct). It has its quirks, but I like it better than Java, and in some ways better than C++. At any rate it is simpler than C++, so there are less nasty surprises. However, I find it is often too restrictive, and tries to read my mind too much, preventing me from doing things which should be doable. And since it is essentially you would call a dynamic language, it prefers to check things at run time, rather than when it is compiled. Unlike some dynamic languages though, C# likes to add all sorts of compile-time checking, which occasionally prevents one from doing things that one would expect to be able to do in a dynamic language. And C# 2.0, which will probably come out officially next year (but there are already some solutions in place now) will, among other things, add support for generics, which are related to those template things in C++, though in C# generics are more tightly integrated than in C++. So C# has a few things going for it.

C# runs on the .NET Common Language Infrastructure (CLI), which is Microsoft's answer - with drastic improvement - to Java's Java Virtual Machine (JVM). .NET is like the JVM in that it runs code that is not native, but it uses Just-In-Time compilation to improve performance; in my experience it is nearly as fast as native code (some claim Java is nearly as fast these days, but I try to avoid Java, so I would not be the best person to weigh in on that). What is even more interesting than the JVM though is that the .NET CLI is specifically designed to handle different languages (though C# is definitely its preferred language).

Anyway, I like C# and I like the CLI, though, obviously they are not perfect. (I actually would like to play more with languages like Forth and LISP - C clones are starting to bore me, but there is no doubt they are still pretty powerful, especially compared to has-beens like poor Forth). One fear need not be its being bound by Microsoft: C# and .NET are covered under an ECMA standard, and there are now open source implementations of both (as I will explain shortly). I would like to mention two interesting releases of software projects related to C# and .NET this week: the Visual C# Express Beta, from Microsoft, and Mono 1.0.

Visual C# Express is a low-end Integrated Development Environment deisgned for those who are not professional developers. (Pricing has not been announced yet, but the beta is free.) It is too contstraining for real developers - including legally, there are restrictions on what you can do with code written on it, but it is smaller and cheaper than Microsoft's full-blown Visual Studio development product. Anyway, it is a good way to try C# for a Windows environment, though I would go with Mono, myself, but I think C# Express is worth trying too. Oh, and it includes all those promised C# and .NET Framework 2.0 features, so you can get those now (actually, you could also just use the .NET Framework SDK without C# Express).

Mono 1.0 is an open-source implementation of both the CLI and a C# compiler. It just hit 1.0, though it has been around for a while. It has its own class libraries to replace those of Microsoft's which are proprietary (only some are, but notably those related to windowing code). And it is designed to be cross-platform (.NET is supposed to be, but again, some of the windowing code is not; some Mono-related projects fix that). Anyway, it is completely free, and it already implements some of the C# and CLI 2.0 features (I keep running into minor problems related to generics, but they are usable).

So try them out! (Or read about Forth or LISP instead, if you are brave.)

08:21:40 - Technology - ben - No comments