MacBook, defective by design banner

title:
Put the knife down and take a green herb, dude.


descrip:

One feller's views on the state of everyday computer science & its application (and now, OTHER STUFF) who isn't rich enough to shell out for www.myfreakinfirst-andlast-name.com

Using 89% of the same design the blog had in 2001.

FOR ENTERTAINMENT PURPOSES ONLY!!!
Back-up your data and, when you bike, always wear white.

As an Amazon Associate, I earn from qualifying purchases. Affiliate links in green.

x

MarkUpDown is the best Markdown editor for professionals on Windows 10.

It includes two-pane live preview, in-app uploads to imgur for image hosting, and MultiMarkdown table support.

Features you won't find anywhere else include...

You've wasted more than $15 of your time looking for a great Markdown editor.

Stop looking. MarkUpDown is the app you're looking for.

Learn more or head over to the 'Store now!

Wednesday, June 30, 2004

[vault-list] Forgotten Password

posted by ruffin at 6/30/2004 09:36:00 AM
Tuesday, June 29, 2004

VSExpress's WebLog

posted by ruffin at 6/29/2004 10:28:00 AM
Monday, June 28, 2004

Lookit there,the race is on. After reading About Face, I got the picture of what Gates is trying to do with Longhorn -- finally abstract the file system from a user's experience. MS is using the SQL server engine to store files and essentially get rid of the old-style file system, allowing for quick searches and less of, "Now where the heck did I store that .doc?"

I'd wondered if Apple would try to do the same or if this "fileless" OS from MS would be alone in the desktop OS field. Looks like Apple's following suit.

Most revolutionary feature [in OS X 10.4/Tiger]: searching. too many folders now on our hard disk. How to solve it? We already have solved it. in iTunes, you can find a song by title artist, album etc... in a second, just by typing into the search field. Apply to the entire system. 'Spotlight' search tech. You can ask it stuff like find my keynote presentation by phil which I opened last week.

Well, as long as they realize iTunes is losing a lot from not being normalized then I'm happy. Just wonder how they're doing it -- dbms in the OS finally?

posted by ruffin at 6/28/2004 02:03:00 PM

From MacRumors.com - June 2004 Live WWDC Expo Coverage:

Now, onto Mac OS X. 12 million people on OS X. About 1/2 of our installed base. 12 thousand native apps.

So we've got 24 million Mac users and 12 million are still using OS 9 -- more than that! That's just "installed" user base. I've got OS X on my iBook 500 but don't use it much anymore. Everything in OS 9 land is so much faster (okay, yes, I use OS X daily on my iMac, but the point's the same; OS X has issues on low-end machine, enough that many likely use "super-speedy" OS 9). So even some lower-end Macs that shipped with OS X probably still have users booting into OS 9. Not exactly a super adoption, but I suppose only in Apple-land could you expect more people to upgrade. Heck, Win98 is still pretty popular...

posted by ruffin at 6/28/2004 01:58:00 PM

I haven't been following iTunes' indie issues in the EU that closely but their complaint, as worded below, seems fair:

The Association of Independent Music, which represents 820 U.K. labels, does not want its members to commit to the three-year, fixed-income deal it said is on the table.

'The independent sector is keen to license to as many new services as possible, but never in a million years will we sign up to an online deal that isn't as good as the deals we already have offline,' AIM's Sam Shentob said. 'In a year or so, they may decide to increase their prices -- but all that extra markup would go to Apple (and not to the labels). We are not going to throw our music away. The terms are simply unviable.'


Now anyone expecting businessmen to always act rationally, much less fair, esp. when the business holds the "real power" in the equation, are very often going to be disappointed, but it's a fair request here, I think.

posted by ruffin at 6/28/2004 09:15:00 AM
Friday, June 25, 2004

BBC NEWS | Technology | Web browser flaw prompts warning:

In its round-up of the threat the Internet Storm Center bluntly stated that users should if possible 'use a browser other then MS Internet Explorer until the current vulnerabilities in MSIE are patched.'

... and then you might want to continue using it after that.

posted by ruffin at 6/25/2004 01:51:00 PM



If there's one thing Microsoft can (but certainly doesn't always) do, it's build rock-solid software. Here I'm talking about Office and the VB6 IDE (and even VS.NET). Compare to your alternatives, and it's not just the monopoly that's making these things successful.

This article called "21 Rules of Thumb โ€“ How Microsoft develops its Software" is pretty good stuff. After a quick skim of the first few points, this jumped out at me:

There are many pathologies at play here as well as certain healthy patterns of creative behavior. One pathology is a type of savior complex that cannot be satisfied without blowing every single deadline but the last, and then emerging victoriously with a brilliant piece of work five minutes late.

Boy have I ever seen that. Beware companies whose entire culture falls under this description. ;^) It's fun to do the above, and I've certainly turned in a paper or two like that in my college years, but it's not worth the stress to me. An ounce of prevention is worth about four hundred pounds of "pathological savior".

posted by ruffin at 6/25/2004 11:23:00 AM
Thursday, June 24, 2004



Super exciting sequence and trigger example from Oracle, straight from SQL+:
SQL> create sequence seqProperty
  2   start with 1
  3   increment by 1
  4   nomaxvalue;

Sequence created.

SQL> create or replace trigger trigProperty
  2   before insert on Property
  3   for each row
  4   begin
  5       select seqProperty.nextval into :new.propertyId from dual;
  6   End;
  7  .
SQL> run
  1  create or replace trigger trigProperty
  2   before insert on Property
  3   for each row
  4   begin
  5       select seqProperty.nextval into :new.propertyId from dual;
  6*  End;

Trigger created.

SQL> show errors trigger trigProperty;
No errors.

posted by ruffin at 6/24/2004 12:49:00 PM
Wednesday, June 23, 2004

Though I generally agree with what what this guy means, I can't say I like his presentation.

If you ever find yourself starting your full application just to test a component that's part of it, you're wasting precious development time. You have to wait for the application to initialize each time you make a change. Even though it may seem like a small amount of time, this can really add up. There can also be development problems trying to integrate a component before it's ready to go live.

Too many stories have very simple code like what's in the above-linked article and saying, "If you ever find yourself starting your full application just to test a component that's part of it," is so idealistic it's painful. Should you make modular units first? Absolutely. If they can't do what they need to do in a controlled environment, they likely won't work in the live app. And this is a much easier way to update functionality -- pull out the component into a separate project and hack away. But always, always, test a component rigorously in the live environment.

But overall, he's exactly right. The stub server idea is a great one, and one I wish more people grasped without someone a-lahrnin' 'em about it first.

posted by ruffin at 6/23/2004 10:40:00 AM
Tuesday, June 22, 2004



How to trip through a .NET Hashtable o' Guids in VB.NET:

Dim myEnumerator As IDictionaryEnumerator = _
    Me.hashInsertRequests.GetEnumerator()
While myEnumerator.MoveNext()
    If TypeOf myEnumerator.Value Is Guid Then
    guidTemp = CType(myEnumerator.Value, Guid)
    Console.WriteLine(guidTemp.ToString & " || " & _
        guidRequestId.ToString)
    End If
End While

posted by ruffin at 6/22/2004 03:37:00 PM

Now this is an interesting problem:

Another problem is the fact that Microsoft wonโ€™t be offering this service patch to those who hold pirated copies of Windows XP, which is reasonable enough, but there are a lot of illegal copies out there, especially in the Far East where a lot of worms get a quick foothold in the Internet. SP2 will apparently check Product IDs looking for known pirated copies and will not install on systems with bad Product IDs. This is understandable, but will reduce the overall effectiveness of the security upgrade.

posted by ruffin at 6/22/2004 12:40:00 PM

3 Leaf: .NET Regular Expression Repository

Has lots of nice RegExps waiting to be stolen and an expression tester, all geared for .NET hacking.

posted by ruffin at 6/22/2004 10:49:00 AM
Monday, June 21, 2004

Now this project looks kinda neat, apparently an "ASCII Swing".

CHARVA is a Java framework for presenting a 'graphical' user interface, composed of elements such as windows, dialogs, menus, textfields and buttons, on a traditional character-cell ASCII terminal. It has an API based on that of 'Swing' (a.k.a. the Java Foundation Classes).

Screengrabs here

It says it's LGPL which means two things to me...
1.) The project doesn't mind people using it as part of a commercial project.
2.) I'm still not in the know enough to know if the LGPL really works the way we all believe it does with Java. *sigh*

Anyhow, neat. I'll have to mess with that a bit.

posted by ruffin at 6/21/2004 11:00:00 AM
Friday, June 18, 2004

The behavior of the whole autosize and -1 and -2 jive in ListView Column constructors is a bit confusing. This is the what I've found when it comes to sizing ListView columns in VB.NET:

Public Class Form1
    Inherits System.Windows.Forms.Form

    Friend WithEvents ListView1 As _
        New System.Windows.Forms.ListView

    Private Sub Form1_Load(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles MyBase.Load

        With Me.ListView1
            .CheckBoxes = True
            .Name = "ListView1"
            .TabIndex = 2
            .Dock = DockStyle.Fill
            .View = View.Details
            .CheckBoxes = True

            Select Case 4
                Case 0
                    ' 0 width columns
                    Me.addTestItems()

                    .Columns.Add("col1", -2, HorizontalAlignment.Left)
                    .Columns.Add("col2", -2, HorizontalAlignment.Left)
                    .Columns.Add("col3", -2, HorizontalAlignment.Left)


                Case 1
                    ' 0 width columns
                    .Columns.Add("col1", -2, HorizontalAlignment.Left)
                    .Columns.Add("col2", -2, HorizontalAlignment.Left)
                    .Columns.Add("col3", -2, HorizontalAlignment.Left)

                    Me.addTestItems()

                Case 2
                    ' sized 100 cols
                    .Columns.Add("col1", 100, HorizontalAlignment.Left)
                    .Columns.Add("col2", 100, HorizontalAlignment.Left)
                    .Columns.Add("col3", 100, HorizontalAlignment.Left)

                    Me.addTestItems()

                Case 3
                    ' "colX-sized" cols
                    .Columns.Add("col1", 100, HorizontalAlignment.Left)
                    .Columns.Add("col2", 100, HorizontalAlignment.Left)
                    .Columns.Add("col3", 100, HorizontalAlignment.Left)

                    .Columns(0).Width = -2
                    .Columns(1).Width = -2
                    .Columns(2).Width = -2

                    Me.addTestItems()


                Case 4
                    ' largest sized col entry sized columns
                    .Columns.Add("col1", 100, HorizontalAlignment.Left)
                    .Columns.Add("col2", 100, HorizontalAlignment.Left)
                    .Columns.Add("col3", 100, HorizontalAlignment.Left)

                    Me.addTestItems()

                    .Columns(0).Width = -2
                    .Columns(1).Width = -2
                    .Columns(2).Width = -2
            End Select

        End With

        Me.Controls.Add(Me.ListView1)
        Me.Width = 400
        Me.Height = 400
    End Sub

    Public Sub addTestItems()

        Dim i As Integer
        Dim strTemp As String = ""

        Dim item1 As New ListViewItem("Steve Martin")
        Dim item2 As New ListViewItem("Irene Suzuki")
        Dim item3 As New ListViewItem("Ricky Ericsson")


        '// Create items
        item1.SubItems.Add("Programming .NET")
        item1.SubItems.Add("39.95")

        item2.SubItems.Add("VB.NET Core Studies")
        item2.SubItems.Add("69.95")

        item3.SubItems.Add("Passing Your .NET Exams")
        item3.SubItems.Add("19.95")

        '// Add the items to the ListView.
        Me.ListView1.Items.AddRange(New ListViewItem() {item1, item2, item3})

        For i = 1 To 20
            strTemp = strTemp & i
            Me.ListView1.Items.Add(strTemp)
        Next
    End Sub

End Class 

posted by ruffin at 6/18/2004 05:27:00 PM

After watching deprecation warnings for years in Java code that still worked -- and still worked with those deprecated methods years later -- I'd finally convinced myself that deprecation warnings were worthless. There was no real reason to be worried about them. I suppose on some level I knew that might not be the case, eventually. But Java seemed to be pretty backwards-compatible friendly.

Deniel Steinberg, editor-in-chief over on java.net, has an interesting recommendation:

Make 1.6 the Deprecation - we mean it this time release. Then don't put out any more 1. releases. It is too confusing to move to 2.x releases as we already call this Java 2. Draw the line in the sand and announce that the next release after 1.6 will be Java 3.0. Work for the next few years on performance and reliability so that we can remove all of those warnings that Java shouldn't be used in a critical situation.

Not a bad idea, and I don't think anyone can argue with going straight to 3.0.

My only concern is that many Java coders expect deprecated methods to work forever, just like I eventually had convinced myself that they would. Even James Gosling's recent hack, JNN, uses deprecated methods right alongside Java features that require 1.4+!! Now that's lazy programming, but might also reflect just what Sun faces if they decided to gut -- or even "Carbonize" -- Java.

posted by ruffin at 6/18/2004 01:23:00 PM
Thursday, June 17, 2004

Excellent overview of Swing-based Java HTML browsers:

I hope this article has shown that there is quite a variety of HTML rendering options beyond what's built into Swing. If you can use a commercial license, then there are several excellent options available. I would choose a package based on your own price point and customization needs. On the open source side, JRex has the potential to be a great native wrapper solution, and I would say that MultiValent is the best 100-percent-Java project. My biggest disappointment is the lack of advanced CSS support. Some of the commercial browsers do pretty well, but none has the full CSS2 compliance of Mozilla.

Good stuff. The bad part about Java from my pov is how difficult it is to get something up and running quickly -- case in point here is that the open source efforts don't quite measure up -- but there's enough demand for commercial developers (who likely started development for an internal project, I'm guessing) to sell something that's pretty high-quality. Java as a platform is very headless/server-centric, obviously, and it'll be a while before Swing challenges Windows.Forms (or your native widget toolset of choice), if at all.

posted by ruffin at 6/17/2004 04:47:00 PM
Wednesday, June 16, 2004

Thank heavens. Been having trouble with the fabled .NET DataGrid "last edit not saved" issue that's usually solved by doing something like this:

It is caused by the DataGrid cell still held the focus when the menu is clicked. You may try the following two ways to workaround it:

1. Call the DataGrid.EndEdit method in the menu handler.
2. Set the focus to other control before saving data.


Unfortunately this wasn't working for me in one case... My GUI was in a UserControl on a Form, and the Form had buttons that would call a "saveDataset" like function that was a method of my UserControl. Clicking the buttons on the form would fire off the UserControl's save event and the "change focus" bit worked, no problem. But using a shortcut key to the button (when the .Text property = something like "&Click Me") wasn't working.

Anyhow, the trick is to toss in an Application.DoEvents (I kept trying to force HandleEvents to work from my VB6 days, I guess) after changing the focus. Voila.

posted by ruffin at 6/16/2004 12:53:00 PM

You can argue Java is faster than C, but this comment did a good job summarizing the results:

A langauge in and of itself does not determine the speed. It's how that language is implemented/compiled. There's no reason why Java SHOULD be slower as long as it is compiled to the machine's architecture, and not to byte code. ... but then that destroys the purpose of Java.

What's important to note is that the differences introduced by the VM and the rest of Java's overhead are small enough now that, for headless applications, poor coding can easily bridge the difference. There's no huge, glaring reason to use C++ over Java for headless apps, and when you want your server code to be portable crossplatform you'll find a huge, glaring reason to use Java.

Now what this study obviously doesn't deal at all with GUI'd applications, and Sun's Swing in particular does nothing to help Java's reputation as a slow technology. There's a relatively interesting discussion at java.net called Swing Usability that points out some of these shortcomings. What the Swing team doesn't seem to understand is that slower than native means slow to most users. And just like the comments in the slashdot thread, as long as you put a compatibility layer between code and execution, you're going to be slower by definition. With Swing, simple to overlook unoptimized coding practices do not cannot spell the difference between implementations.

posted by ruffin at 6/16/2004 09:36:00 AM
Monday, June 14, 2004



'========================================================
' Overrides of DataGridTextBoxColumn Jive
'========================================================
' next two functions borrow liberally from:
' http://support.microsoft.com/default.aspx?scid=kb;en-us;Q318581
'
' This is why we need the DataSet -- we'll run through, try to find the
' four number fields, and return the correct one (with label) in preferrence
' order.
Protected Overrides Function GetColumnValueAtRow(ByVal cm As CurrencyManager, _
    ByVal RowNum As Integer) As Object
' Get data from the underlying record and format for display.
Dim dvTemp As DataView
Dim dtTemp As DataTable


Dim objReturn As Object = New Object

Try

    Select Case MyBase.DataGridTableStyle.DataGrid.DataSource.GetType.ToString
Case "DataView", "System.Data.DataView"
    dvTemp = CType(MyBase.DataGridTableStyle.DataGrid.DataSource, DataView)
    objReturn = Me.findValueInTable(dvTemp(RowNum).Row)

Case "DataTable", "System.Data.DataTable"
    dtTemp = CType(MyBase.DataGridTableStyle.DataGrid.DataSource, DataTable)
    objReturn = Me.findValueInTable(dtTemp.Rows(RowNum))

Case Else
    Console.WriteLine("!!!! Unexpected DataSource " & _
        "Type in DgtxtcolAddyNumDisplay: " & _
MyBase.DataGridTableStyle.DataGrid.DataSource.GetType.ToString)
    objReturn = MyBase.GetColumnValueAtRow(cm, RowNum)
    End Select


Catch ex As Exception
    mdlErr.errp(Me.cstrObjectName & ".GetColumnValueAtRow", ex, _
        mdlErr.ERR_TYPES.THROW_EXCEPTION)
    objReturn = ""
End Try

Return objReturn

End Function

posted by ruffin at 6/14/2004 03:58:00 PM
Friday, June 11, 2004



select trigger_name, description from all_triggers
where 1=1
and trigger_name like 'TRIG%'
order by trigger_name

show errors trigger trigger_name;



posted by ruffin at 6/11/2004 04:39:00 PM

Man, even Java's Border layout is worried about being PC:

Version note: Before 1.4, the preferred names for the various areas were different, ranging from points of the compass (for example, BorderLayout.NORTH for the top area) to wordier versions of the constants we use in our examples. The constants our examples use are preferred because they are standard and enable programs to adjust to languages that have different orientations.

So NORTH at the top was a bad idea, apparently, possibly throwing off all sorts of Australian (and South American and sub-Eqatourial -- er, south-of-the-equator African programmers) programmers whose apps suddenly look flop-flipped (which is how I assume they use the term down there where the water drains differently). Now they have "LINE_START" and "LINE_END" instead of EAST and WEST.

Don't tell them Hebrew (iirc, among others) reads right to left. What's wrong with top, bottom, left, and right anyhow?

posted by ruffin at 6/11/2004 02:16:00 PM
Thursday, June 10, 2004

SQL Function Reference: SQL Server vs. Oracle

posted by ruffin at 6/10/2004 11:25:00 AM

You might recall when I spoke about JDIC ("JDesktop Integration Compoenents") a while back. It appeared to be Sun's shot back at SWT, and a way to finally include a robust browser component in your Java desktop apps via native methods. Of course, there are some pretty major weaknesses, as written in the JDIC FAQ:

Q. Will there be a port to Mac?
A. JDIC currently doesn't support Mac. That's a gap waiting to be closed. We'd very much welcome any volunteers or effort to port JDIC to Mac.


This echos two statements of mine you've seen here with some regularity. One, the Mac is a second-tier Java platform. Sun leaves it up to Apple to port the JVM, and things lag. Examples include everythying from Java 2 to Java 3D to JDIC. Second, patches like this are ugly return fires at SWT. Sun might be better off dumping Swing development (it's failed, folks, at least as originally conceived. Rather, it's succeeded in the goal, but there's very little market as implemented) and throwing some of those resources into SWT and SWT/Swing/AWT integration.

posted by ruffin at 6/10/2004 08:42:00 AM
Tuesday, June 08, 2004

Enforcing foreign key constraints in Oracle/PLSQL:

    CREATE TABLE supplier
    (  supplier_id  numeric(10)  not null,
     supplier_name  varchar2(50)  not null,
     contact_name  varchar2(50), 
     CONSTRAINT supplier_pk PRIMARY KEY (supplier_id)
    );

 

    CREATE TABLE products
    (  product_id  numeric(10)  not null,
     supplier_id  numeric(10)  not null,
     CONSTRAINT fk_supplier 
       FOREIGN KEY (supplier_id)
       REFERENCES supplier(supplier_id)
    );

posted by ruffin at 6/08/2004 03:11:00 PM
Monday, June 07, 2004

Note to self: Low powered radio jive:

Prometheus Radio Project!: Senator John McCain (R) of Arizona, with cosponsor Patrick Leahy (D) of Vermont, has just proposed legislation that will expand the Low Power FM service to reach thousands more communities across the United States!

posted by ruffin at 6/07/2004 04:23:00 PM
Thursday, June 03, 2004

here:

Windows Media Player 10 introduces the first 'Digital Media Mall' enabling you to discover, download, rent or stream music and video from within the Player from a choice of online stores.

... just long enough for us to capture market from Apple before we move from embrace to extinguish.

posted by ruffin at 6/03/2004 08:52:00 AM
Wednesday, June 02, 2004

When you think Linux (here specifically Red Hat), you think free. But I was surprised to see just how little of that was "free as in no strings attached". Check out this page (emphasis mine, of course):

The predominant software license is the GNU GPL. Slightly over half of the software is simply licensed using the GPL, and the software packages using the copylefting licenses (the GPL and LGPL), at least in part or as an alternative, accounted for 63% of the code. In all ways, the copylefting licenses (GPL and LGPL) are the dominant licenses in this Linux distribution. In contrast, only 0.2% of the software is public domain.

That's bizarre. I wonder if he considers BSD public domain -- I suppose almost obviously not, though the "strings attached" there are really only "cover the programmers' arses" strings, which aren't strings at all when you've got all the source and you're hacking. Just ask Apple.

Anyhow, an interesting statistic to me.

posted by ruffin at 6/02/2004 05:26:00 PM

It's messages like this one that let me know errors like this:

at System.Windows.Forms.UnsafeNativeMethods.PeekMessage(MSG& msg, IntPtr hwnd, Int32 msgMm, Int32 msgMax, Int32 remove)

... likely aren't just me. Even if I'm causing it somehow, .NET isn't letting me catch the error and handle it. It simply crashes. That makes me think .NET, specifically Windows.Forms, could stand more work.

The worst part is that, so far, this seems to be a pretty random error that only happens after a datagrid has a ton of information in it and the containing controls get resized a ton. At any rate, lots of fun work ahead.

posted by ruffin at 6/02/2004 04:44:00 PM



Nothing's more fun than stepping through a VB.NET app line by line with multiple threads running. Talk about dizzy.

posted by ruffin at 6/02/2004 04:21:00 PM

Now this, where this is "JDIC - JDesktop Integration Components", is some interesting news. Makes me wonder if this is part of the upshoot of the MS deal. If it is, this actually could spark a little boost to Java on the desktop.

JDIC provides Java applications with access to facilities provided by the native desktop such as the mailer, the browser, and registered document viewing applications. Additionally it provides the mechanisms by which Java applications can integrate into the native desktop such as registering Java applications as document viewers on the desktop and creating installer packages.

One thing I worry about is how this could lock out third party widgets -- say if you wanted to use the Mozilla COM control instead of the MS Internet Control, which is almost certainly what this is using.

But the big deal is that JDIC is doing what SWT does. Interesting, indeed.

posted by ruffin at 6/02/2004 01:51:00 PM
Tuesday, June 01, 2004



There comes a time in nearly any relatively large application I make where the idealistic logic placement scheme I've been trying to maintain comes tumbling down. Reminds me of when I used to dam up streams as a hoodlum -- you'd have rocks piled just so, piled over with mud to stop whatever what headed down, and you'd think you had everything in just the right order and placement to move on to the next section. But then something about the way the water moved after putting up the middle would take out the side, and instead of careful planning and building, you'd throw it all to heck to start fixing that spot in the dam before it all came crashing down.

That's not to say the codebases don't have some parts that keep damming right nicely -- you can use interfaces and inheritence and namespaces/packages to keep some processes shielded from the rest. But the "roundhouse" classes -- the ones that do the marshalling of the compartmentalized portions -- always seem, in my experience, to eventually hit critical mass and start flowing away from your ideal just like those childhood dams. After patching, you can often, with a ton of work, get everything ship-shape again (boy, talk about metaphor--arifficness), but it's usually a bigger task than you've got time to accomplish.

Yes, that goes against much of what I write here. I'll reconcile later.

posted by ruffin at 6/01/2004 02:49:00 PM



One non-impressive bit of Apple new is that the Virginia Tech supercomputer built of G5 towers is now offline waiting to be replaced by G5 Xserve rackmount computers.

That's horrible press, and I'm impressed that Apple's been able to bury that fairly well. What good's making a supercomputer if you have to turn it off to upgrade? Couldn't they've done it piecemeal? Make another in another room? At any rate, that's hardly a very smooth transition, and not very Mac like at all in that sense.

posted by ruffin at 6/01/2004 02:14:00 PM

A vertible treasure trove of more mature Swing widgets, though the standard link death has occurred, and at least one sourceforge hosted project got out 0.1 two years ago and hasn't peeped since. Not unexpected, but still disappointing nevertheless, I'm afraid.

posted by ruffin at 6/01/2004 11:37:00 AM

Some interesting quotes from someone who at least claims to have worked on Mac Office 2004 from a Silicon post from here:

I love open source software, but frankly, the OSS community is going down a dead-end road with the OpenOffice clones. Let's say that we could wave a wand and complete all the work on all the Office clones today. What would we have?

About a dozen clones of Office 97 for Windows, with all the same features and the ability to emit XML. Do I really need to say that this is a less-than-attractive alternative to Mac Office? What good is an alternative to Office if it's not *better* than Office?

In my not-at-all-humble opinion, the OSS community needs to do is to IMMEDIATELY stop work on the code derived from the StarOffice project, and start work on a *modern* business software suite. Salvage only the code that involves file format compatibility with Microsoft Office and throw the rest away. If you want an alternative to Gates and Ballmer, BE an alternative to Gates and Ballmer.

As Steve Jobs once said, "You can't just ask customers what they want and then try to give that to them. By the time you get it built, they'll want something new."


More interesting jive in there. An interesting read. Search for "Disclaimer" in the page to find this post.

Personally I haven't seen a need to upgrade Office since I got the "iMac/iBook edition of Word 98", which still runs reasonably well in Classic. The only place I need more is where someone with Office 2000+ sends me a file in an "updated format". Seriously, to take that guy's spin and spin it onto its head, what does Word 2004 (I've admittedly never been an Office fan past Word and possibly Excel (unless you count Visio)) give me that I wasn't getting in Word 98 -- and that I absolutely need?

Well, heck, guess I'll post that to this page and see if someone has a good answer....

posted by ruffin at 6/01/2004 09:42:00 AM

<< Older | Newer >>


Support freedom
All posts can be accessed here:


Just the last year o' posts:

URLs I want to remember:
* Atari 2600 programming on your Mac
* joel on software (tip pt)
* Professional links: resume, github, paltry StackOverflow * Regular Expression Introduction (copy)
* The hex editor whose name I forget
* JSONLint to pretty-ify JSON
* Using CommonDialog in VB 6 * Free zip utils
* git repo mapped drive setup * Regex Tester
* Read the bits about the zone * Find column in sql server db by name
* Giant ASCII Textifier in Stick Figures (in Ivrit) * Quick intro to Javascript
* Don't [over-]sweat "micro-optimization" * Parsing str's in VB6
* .ToString("yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture); (src) * Break on a Lenovo T430: Fn+Alt+B
email if ya gotta, RSS if ya wanna RSS, (?_?), ยข, & ? if you're keypadless


Powered by Blogger etree.org Curmudgeon Gamer badge
The postings on this site are [usually] my own and do not necessarily reflect the views of any employer, past or present, or other entity.