When we were making the rounds of venture capital firms in the 1990s, several told us that software companies didn't win by writing great software, but through brand, and dominating channels, and doing the right deals.
They really seemed to believe this, and I think I know why. I think what a lot of VCs are looking for, at least unconsciously, is the next Microsoft. And of course if Microsoft is your model, you shouldn't be looking for companies that hope to win by writing great software. But VCs are mistaken to look for the next Microsoft, because no startup can be the next Microsoft unless some other company is prepared to bend over at just the right moment and be the next IBM.
It's a mistake to use Microsoft as a model, because their whole culture derives from that one lucky break. Microsoft is a bad data point. If you throw them out, you find that good products do tend to win in the market. What VCs should be looking for is the next Apple, or the next Google.
Read the rest in Great Hackers
Apple has posted the Java 1.4.2 Update 2 Final Candidate on the Apple Developer Connection (registration and Mac OS X 10.3 required). Apple warns, "Please note that this is a prerelease build which will overwrite the existing Java 1.4.x installation on Panther. Please install this build on non-critical systems if you are concerned with changes that may affect your work or Java applications. The only way to revert to the standard Panther 1.4.1 will be to archive or erase reinstallation of Panther." No word yet on what's been fixed in this version.
I'm in the process of combining three different computers onto a single Mac OS X desktop. So far it's mostly going well, though the Mac has had some troubles talking to my SGI monitor. But the SGI 1600SW monitors I use are very funny beasts that predate the introduction of DVI, and Linux and Windows both have had trouble supoorting them. Software wise, almost everything seems to work, with the notable exception of Java 1.5, which is a pretty serious omissions, and means I'll have to keep the Linux box going for awhile longer. The latest scuttlebutt out of Apple is that Java 1.5 won't ship until Tiger does (Apple's Tiger, Mac OS X 10.4; not Sun's Tiger, JDK 1.5) and likely won't ever run on Mac OS 10.3 and earlier. Unnecessary obsolescense to force paid upgrades is a bad thing, and something Apple didn't use to do. Microsoft is much better in this respect.
Other notes from the transition:
Expose didn't impress me when it was announced, but it's actually quite useful.
The Scripts menu is a very nice touch.
Why won't any browser except Mozilla (not even Firefox) let me type my Google searches in the location bar? More importantly, why won't any browser (not even Mozilla) default to a Google search when what I type in the location bar contains spaces and is obviously not a URL or host name?
I just used Mozilla Mail for a little while until I could get Eudora installed on this new machine, but I like it and I think I may stick with it. That's one less payware program to upgrade every year. The decent Unicode support is probably the killer feature for Mozilla. I'd only put it off this long, because I hadn't noticed you could configure Mozilla to open messages in new Windows like Eudora does. On the other hand, neither Mozilla nor Eudora for Mac OS X comes with any screen font as nice as the old Mishawaka from classic Eudora. I'll have to find where it's hiding on my old machine and copy it over. I do wish Mozilla had an option to queue all messages instead of just sending them immediately.
The wireless keyboard and mouse are a nice touch. However, the keyboard is too low for me and doesn't have legs like previous flat boards. These would have been a lot easier to set up if the Bluetooth antenna were built into the case, rather than being an extra two centimeter long part I had to plug in (and which was not mentioned in the wireless mouse and keyboard installation instructions, on top of getting lost in a huge box.)
Permalink to Today's News
Today's XML News on Cafe con Leche
Selected articles which might have some tangential relevance or interest for this site's visitors:
You can also see previous recommended reading if you like.
To recommend something for inclusion in this section, please e-mail the URL and title of the article.
The Apache Jakarta Commons Project has posted the first release candidate of Commons Math 1.0, an open source library providing many mathematical functions for statistics, random data generation,
linear algebra, root finding,
erf, gamma and beta functions,
complex numbers, distributions, matrices, and solving linear systems.
It looks like it covers most prctical math you might encounter at roughly the level of a typical undergraduate course in
mathematical methods for physics. Based on spot checks of the
Complex class and the factorial function, this looks like pretty solid work. I don't see any of the usual mistakes I'm used to seeing in such classes. For instance, the
MathUtils.factorial() method throws an
ArithMeticException if the result overflows the bounds of a
Commons Math is published under the Apache 2.0 license.
The Gnu Project has released version 3.4.2 of GCC,
the GNU Compiler Collection.
GCC contains frontends for C, C++, Objective C, Chill, Fortran, Ada, and Java as well as libraries for these languages.
GCC is a clean room implementation of Java that doesn't use any Sun code,
so it doesn't always exactly match Sun release versions, but this is roughly at the Java 1.4 level with some omissions. 3.4.2 is a bug fix release. It isn't immediately obvious if any of the bug fixes apply to
the Java parts of the compiler but it looks like a few of them might.
The Apache Jakarta Commons Project has released JEXL 1.0. "Java Expression Language (JEXL) is an expression language engine which can be embedded in applications and frameworks. JEXL is inspired by Jakarta Velocity and the Expression Language defined in the JavaServer Pages Standard Tag Library version 1.1 (JSTL) and JavaServer Pages version 2.0 (JSP)." However, JEXL is not a compatible implementation of EL as defined in JSTL 1.1 and JSP 2.0.
ej-technologies has released Install4j 3.0.2, a $698 payware cross platform tool for building native installers and application launchers for Java applications. New features in 3.0.2 adds a couple of methods to the API.
YourKit, LLC has posted the seventh early access release of the YourKit Java Profiler 3.0, a 295€ payware tool for detecting memory leaks and memory consumption bottlenecks. It features Automation of memory leak detection, an object heap browser, JUnit integration, IntelliJ IDEA Borland JBuilder integration. Version 3.0 features a redesigned user interface including a new "Allocations HotSpots" view. It also allows you to see the merged call tree and back-traces for a method. The tool runs on Windows or Linux.
Slava Pestov has released
an open source programmer's editor written in Java with extensive plug-in
my preferred text editor on Windows and Unix.
New features in 4.2 include:
In my initial testing, it appears to have somewhat improved dialog focus. In previous versions, the failure to correctly focus dialogs like Find was responsible for a lot of mistyped text that ended up in windows other than the one it was intended for. However, there are still some dialogs like "No Matches Found" that don't properly get the focus when shown.
jEdit is published under the GPL. Java 1.3 or later is required.
Linus Tolke has posted ArgoUML 0.16.1, an open source UML modelling tool written in Java. This is a bug fix release. ArgoUML is published under a BSD license.
Jonas Bonér and Alexandre Vasseur have posted the first release candidate of AspectWerkz 1.0, an open source aspect oriented programming framework for Java, has been released. According to the web page, "AspectWerkz utilizes runtime bytecode modification to weave your classes at runtime. It hooks in and weaves classes loaded by any class loader except the bootstrap class loader. It has a rich join point model. Aspects, advices and introductions are written in plain Java and your target classes can be regular POJOs. You have the possibility to add, remove and re-structure advices as well as swapping the implementation of your introductions at runtime. Your aspects can be defined using either an XML definition file or using Runtime Attributes." AspectWerkz is published under an "LGPL-style license".
Michael B. Allen has posted jCIFS 0.9.8,
a free (LGPL) SMB client library written in pure Java. It
supports Unicode, named pipes, batching, multiplexing I/O of threaded callers, encrypted authentication, full transactions, domain/workgroup/host/share/file enumeration, NetBIOS sockets and name services, the smb:// URL protocol handler, RAP calls, and more. The API is similar to
java.io.File. Version 0.9.8 fixes a few bugs including one security bug.