Wednesday, April 30, 2003

I'm such an ass

Names preserved to expose the guilty.

What started it all
From: John Kuhns
Date: Wed, 30 Apr 2003 10:17:06 -0400
Subject: Abbreviating symmetry

In the interest of consistency, when abbreviating symmetry,
the right place to chop it is between the two m's. That is,
shorten it to "sym" not "symm". You can find this stuff out
by looking a word up in the dictionary. They put dots between
the syllables (e.g. sym·me·try).


>The following API methods have been added to neogeo:
> setNetSymmStatus(netID, state)
> getNetSymmStatus(netID)
> getNetSymmStatus(netName)

And then...
From: Donald B. Reaves
Date: Wed, 30 Apr 2003 10:20:54 -0400
Subject: Re: Abbreviating symmetry

Another engineer's opinion:

Seems like sym is a good abbreviation for symbol. That would imply
that symm would be a better abbreviation for symmetry.


Start the flames...
From: John Kuhns
Date: Wed, 30 Apr 2003 10:29:31 -0400
Subject: Re: Abbreviating symmetry

I agree sym is a good abbreviation for both symbol and symmetry.
And in fact, whenever you abbreviate you run into this kind of
aliasing. So that's why we depend on CONTEXT to determine what
the abbreviation stands for. (Almost anywhere in NeoCell where
you see sym you can safely assume symmetry.) I think this dependence
on context is a better solution than resorting to unnatural
abbreviations. If you work in a context where both are equally
valid then maybe you can't abbreviate or clearly define which
abbreviations go with which terms.


Adding fuel to the fire...
From: Lynwood E. Hines
Date: Wed, 30 Apr 2003 10:42:50 -0400
Subject: Re: Abbreviating symmetry

I agree that we should be consistent with how we abbreviate.
I also agree that sym is not a good choice because it is ambiguous.
There is no "right" way to abbreviate this, dictionary or no,
because it's up to us to decide which letters we want to include or
exclude based on factors more significant than phonetic breaks. I
personally prefer symm because it clearly is not short for symbol.
Reliance on context is dangerous as it assumes an unambiguous
context, which is not guaranteed.

I vote for using "symm" throughout the tool as the abbreviation for


Into the fryer...
From: Phil K. Yoon
Date: Wed, 30 Apr 2003 10:51:24 -0400
Subject: Re: Abbreviating symmetry

I want to discuss following words.

str -> is it for string or for structure?
const -> is it for constraint or for constant?

the list can go on and on...

Happy wording everyone :)

It's roaring now...
From: John Kuhns
Date: Wed, 30 Apr 2003 11:05:58 -0400
Subject: Re: Abbreviating symmetry

"Lynwood E. Hines" wrote:
> I also agree that sym is not a good choice because it is ambiguous.

I disagree. In NeoCell (atleast in the backend), it is not ambiguous.

> There is no "right" way to abbreviate this, dictionary or no,
because it's up to us to decide which letters we want to include or
exclude based on factors more significant than phonetic breaks.

I also disagree with this statement. There is a "right" way to
abbreviate just as there is a right way to spell. Wrong
abbreviations "look wrong" (atleast to me).

We could agree to not abbreviate symbol if anyone ever uses it.
The fact is, symmetry is used everywhere in our tool and symbol
almost nowhere. So why clutter the widely used abbreviation in the
off chance of someone somewhere getting the context wrong?

As Phil points out, context is already commonly used. Anytime you
overload a function you are depending on context. Context is a very
common way of delineating things. (PERL, for one, has many actions
dependent on context).


I figured that BugZilla was the only way to resolve this dispute.
From: David Cuthbert
Date: Wed, 30 Apr 2003 11:21:06 -0400
Subject: [Bug 1801] New: Incorrect abbreviations on machines


Summary: Incorrect abbreviations on machines
Product: Neolinear IT
Version: NeoIT-v1.0
Platform: Other
OS/Version: All
Status: NEW
Severity: B1_Blocker
Priority: P3
Component: Other

As per the discussion on neocelldevel this morning, I've discovered that
a number of directories on our machines are misnamed.

All abbreviations must be context-sensitive and split on syllables. Thus,
the following directories are invalid and must be fixed:

/bin (from bi-nar-y) Change to /bi
/dev (from de-vice) Change to /de
/etc (from et cet-era) Change to /etcet
/lib (from li-brar-y) Change to /li
/misc (from mis-cel-la-ne-ous) Change to /mis
/mnt (from mount points) Change to /mount\ points
/sbin (from su-per bi-nar-ies) Change to /su
/tmp (from tem-po-rar-y) Change to /tem
/usr (from co-caine) Change to /co
/var (from lam-ba-da) Change to /lam

NeoCell's future install scripts will automatically correct these misnamings at customer sites.

Hm. Cleaning people came at 8:30 today. I was not prepared for that.

Can't complain, though. I mean, how much of a luxury is it to have a cleaning service? The very fact that we pay for such a thing banishes us to the Fifth Circle of Yuppiedom. And they do do a good job...

Friday, April 25, 2003

Grah. Hating anything to do with work right now for a number of reasons, most of which I cannot discuss here.

Closed captioning sponsored by Viagara

"We strive for perfection but when you're typing that fast, there are occasional mistakes. We regret the error."

-- ABC's Cathie Levine after a closed caption for an ABC News' Tuesday broadcast said Federal Reserve Chairman Alan Greenspan was hospitalized for "an enlarged prostitute" instead of an enlarged prostate, quoted in The Washington Post.

"He should be so lucky."

--Greenspan's wife, NBC correspondent Andrea Mitchell, reacting to the "enlarged prostitute" in the Post.

Wednesday, April 23, 2003

With thanks to Terry Lambert

A coworker at Novell coined a term called "AI"; it didn't stand for
what you think it stands for normally, instead it stood for the
term "Artificial Importance", which applies to people who put
themselves between a goal and the people attempting to accomplish
it, in order to make themselves important by becoming bottlenecks.
Some good ways to get on my bad side:

  1. Don't bother to enter the meeting you scheduled on my project into my calendar.

  2. Be annoyed with me for not being prepared for a meeting I didn't know about.

  3. Send an AE to our top three Japanese customers to do a half-hearted implementation of my project so they can get a "head start." Definitely don't tell me about the trip.

  4. Make engineering decisions at the marketing level.

  5. Insist on having me give a 1-2 hour presentation every week about my supposed progress.

Please, someone, cure me of my XEmacs addiction. And, no, Emacs is not a valid substitute. Neither is vi/vim/elvis/....

XEmacs is rather quirky, takes forever to start, and a huge memory pig. It doesn't work right when writing international documents. Depending on the system I'm on, it leaves pixel dust in random places.

But I can't break my addicition to font-lock-mode and indent-region. Other editors have font-lock equivalents (where it highlights various elements of my code in different colors). But I have yet to find a halfway decent substitute for indent-region.

Other editors have autoindent, where it inserts spaces at the beginning of a new line as you type. But that's a far cry from XE's indent-region, which analyzes the structure of my code (mostly looking for braces, but also has some intelligence as to some of the quirks of C/C++). If I tell it to do an indent-region on my code and it doesn't look right, 99.9% of the time it's due to a "fence mismatch" (e.g., too many '(' or ')', or trying to close '(' with ']', etc.). Compilers are horrible at picking out those kinds of errors and usually spew error messages to infinity and beyond. XEmacs is quite a time saver here.

I've tried to switch. gedit, kate, eclipse... even got an eval of SlickEdit. But like a crack addict, I keep coming back for my next XEmacs hit.

And, yes, I've even learned emacs lisp and have written extensions to make it behave as I like. For example, this causes F6 to insert the usual legal boilerplate that goes at the top of every file:

(defun insert-c-boilerplate ()
(let ( (filename (buffer-file-name)) )
(insert (concat
"/** @file " (if filename (car (last (split-string filename "/"))) "") "\n"
" * @brief \n"
" */\n"
"// Copyright (c) 2003 Neolinear, Inc. All rights reserved.\n"
"// $Id$\n"))))

(global-set-key 'f6 'insert-c-boilerplate)

Sickening, no? And yet I understand it. There truly is no hope...

Tuesday, April 22, 2003

Guaranteed instant headache.

Unless you're Ian, apparently.

Saturday, April 19, 2003

Your next LJ entry


I haven't gotten anything done lately. I've pretty much been doing nothing. Today was a loss.

Current Mood: [Face] neutral

No Comments

Tuesday, April 15, 2003

Starting NFS statd:                                        [  OK  ]
Starting keytable:                                         [  OK  ]
Initializing random number generator:                      [  OK  ]
Starting pcmcia:                                           [  OK  ]
Mounting SMB filesystems:  _


Wednesday, April 9, 2003

Oooh... VMWare 4 released today, and I qualify for a free upgrade. This pleases me greatly. :-)

Um... not much to report. Going to Chicago this weekend for my grandma's 80th birthday. Work is very busy. And we're celebrating Tam's birthday today.

Wednesday, April 2, 2003

Hm. Seems that another direct report to our CFO has been fired (our applications engineering manager, in this case).

In the last year, of the six people who worked for him, four have been fired (with cause -- not laid off). Not exactly a ratio to brag about...

Tuesday, April 1, 2003

Earlier, I sent out this:
As everyone recalls from the last employee meeting, one
of our goals this year is to announce ISO 9001 certification
status by DAC '03. I'm pleased to announce that we're now in
the final stages of implementing our ISO 9001 procedures.

Since the ISO 9001 team has been getting a number of questions
on how this will affect our work, I've put together a brief FAQ:

1. Why are we attempting this?

A number of customers have been asking for ISO 9001 certified
software; traceability (the effects of a change) is greatly
enhanced when software development follows the ISO 9001 flow.

The EDA industry has been horribly lax at achieving this level
of certification. Neolinear plans on being the first significant
EDA company to announce that it has achieved ISO 9001
certification, thus removing a significant roadblock to customer

2. How will this affect developers?

As stated, ISO 9001 is all about traceability. We have automated
tools (currently in beta testing before rollout) which will allow
us to monitor the effects of each commit made to our code bases.

This will require some cooperation on the part of the developers.
Starting next month, all commit comments must be formatted in the
Traceability XML format. It takes some getting used to, but
eventually becomes quite readable even without the traceability
tools. An example is:


This is a sample commit comment.

In recent years, security has also become a significant issue. All
such commits must be PGP signed (we have installed the Gnu PGP tools
in /opt/tools/gnupg-1.2.1 for your convenicence).

3. Does this only affect developers?

Of course not! ISO 9001 is a company-wide initiative. As you may
recall, the last few years have seen a rise in forging of company
press releases to manipulate stock prices. We will be implementing
the PGP signing of all communications outside the company. IT has
configured the SpamAssassin software to drop all incoming messages
that are not PGP-signed.

Software evaluations will also follow a rigorous ISO 9001 process.
During the evaluation process, we usually see a number of NeoCell
technology files and/or NeoCircuit device files undergo a number of
tweaks. These changes will all be documented according to the above
format; AEs and Sales will be trained during the week before DAC.

ISO 9001 recommends (but doesn't require) that all file formats be
stored in the easily-parsed XML format. The DAC timeframe is too
short for us to migrate; however, we will be migrating our file
formats to XML for NeoCell 4.0 and NeoCircuit 3.0.

4. I have a comment/suggestion about the process.

Great! The Neolinear ISO 9001 team is eager to hear how the process
can be improved. Drop us an e-mail at

I just now got this:

This message bounced when I tried

[Name withheld]
Neolinear, Inc.
4801 South Lakeshore Drive, Suite 201
Tempe AZ 85283
[Phone number withheld]

How much of a guarantee is a pgp signature on a software change, considering
that our internal network is hardly secure, with passwords being sent cleartext
all the time?

[Name withheld]
Neolinear, Inc.
4801 South Lakeshore Drive, Suite 201
Tempe AZ 85283
[Phone number withheld]

To which I sent:


The security algorithm employed is very time-sensitive. Thus, spoofing
such a commit message wouldn't work if, say, I signed it on *April 1st*
and used a one-time pad with an MD-5 digest tachyon.