MacHack West
Volume Number: 3
Issue Number: 12
Column Tag: Conference Reports
MacHack West, Paris Expo
By Joel West, Contributing Editor & Jörg Langowski, Editorial Board
MacHack West Report
Joel West
Palomar Software, Inc.
Contributing Editor
My focus is going to be a little different than David Feldt’s article (see “MacHack
’87”, MacTutor, August 1987), but then the conference was somewhat different than
the one David attended, which we’ll get to in a moment.
I didn’t hang around much with the parties or late-night hacking (if there was
any), but got to hang around with some neat people and came away with a pile of
interesting technical information.
What’s in a name?
A rose by any other name would still smell as sweet -- Romeo and Juliet
Despite commonly being quoted out of context, Wil Shakespeare wasn’t arguing
that names were unimportant, only that they sometimes have more importance than
they should.
In this case, the name “MacHack West” caused lots of people lots of problems and
nearly took the conference with it. I’ve talked to most of the principals and barely
think I know what’s going on.
When you hear “MacHack West”, you think of, “like the MacHack conference,
only held on the West Coast.” At least I did, and thought it was a great idea, even if the
middle of Oregon seemed a bit remote. It wasn’t that simple.
It seems that the sponsors of the conference -- Oregon State and Apple’s Portland
sales office -- had nothing to do with the MacHack conference that had been run twice
previously at the University of Michigan. And, as I gradually learned more about the
conference, it seemed that more people were upset.
When I saw Scott Boyd and Greg Marriott (aka the “MacHax™ Group”) at the
Boston MacWorld Expo, they were spittin’ bullets (and not just a nearby windows,
either). They said the way the Oregon folks had approached it was sneaky and
underhanded, as opposed to the folks organizing the Michigan conference, who’d asked
them permission.
Of course, much of this may be associated with the friendships and perhaps even
regionalism associated with the Mac community. Both the MacHax and their friends at
ICOM (aka the TMON gang) were major players in organizing the Ann Arbor conference
and didn’t know anyone at the Corvallis conference.
After it was all over, I talked to Aimee Moran, vice president of Expotech, Inc.
Expotech is the professional management company that’s running the Ann Arbor
conference, along with other shows. It’s her position that MacHack is a common-law
trademark of Expotech, and they had threatened to shut the Corvallis show down over
use of the name.
Some people I talked to in Cupertino (I’m not sure if they’d like to be named)
were putting pressure on all parties to reach a reasonable accommodation. Both George
Beekman and Mike Johnson of Oregon State told me they never had any attention of
stealing any name, and all they wanted to do was put on a successful show.
In the end, Moran said, Corvallis could use the name once -- as long as it
acknowledged the trademark -- in order to avoid disruption of the show’s planning.
But, she said, it would not be called “MacHack” next year.
Three Cheers for Tech Support
My biggest impression of the conference was what a difference the Apple people
made to the show. If you’d pulled the Apple speakers, it would have been a real dud,
certainly not worth the $218 flight to Portland and the 90-mile drive to Corvallis.
Instead, Cupertino sent a large contingent. The names include:
Jim Friedlander, tech support
Chris Derossi, tech support (MacTutor Contributing Editor)
Fred Huxham, tech support
Jordan Mattson, MacApp evangelist
Art Cabral, Mr. Pallette Manager
Steve Maller, course instructor
My understanding is that the Apple participation was arranged by Mark Regan of
the Portland sales office, who was somehow able to convince these guys to leave the
grimy traffic jams of Silicon Valley to spend two days in a tree-lined college town in
the middle of nowhere. None of them seemed to regret this decision.
This was the first time I’d met any of the tech support people face-to-face. Some
of them wasted no time in griping about the stupidity of some of my questions, but once
we agreed on that, it was all downhill from there. Chris Derossi and Fred Huxham are
both known to MacTutor readers from their past contributions and letters. Chris
Derossi is also famous for his “Chief Wizard” posts on the Mousehole BBS, being a
long time ‘hole participant, and one of the founding board members of MacTutor.
New Faces, New Attitudes
One of the big changes at tech support is an infusion of new blood. I knew two of
the most recent additions before they went to Cupertino, and, I must say, I’m
impressed.
One of the two is Mark Bennett, who, along with Charlie Jackson and Eric Zocher
(president and VP of Silicon Beach) and myself, was one of the early leaders in the San
Diego Mac User Group. Mark wrote MacTools for the Copy II Mac folks, but then
abandoned San Diego to join Ashton-Tate in L.A. Mark gave his notice after dBase Mac
shipped.
Mark is one of those guys who doesn’t seem to care if it’s never been done before
(or maybe that makes it even more interesting). It certainly can’t hurt for Tech
Support to have members who have worked for third-party software developers,
facing all the “Outside Apple” problems that the rest of us mere mortals face. Mark
joins Derossi, another Ashton-Tate veteran.
The latest new name is Darin Adler. Yes, Darin Adler, of TMON EUA fame. While
I only get to see him at the semi-annual Expo shows, Darin has impressed me as having
one of the quickest programming minds I’ve ever met. He also makes me feel like any
programmer is washed up at age 30 unless he accomplishes what Darin has in his
early 20’s.
Overall, I was very impressed with the down-to-earth nature and grasp of
reality shown by the tech support people I met. (For example, Jim said I’d done a
great job on one of my recent articles.) And, it turns out, they are more in tune with
the developer community than anyone else at Apple.
In one of the sessions, Jim noted that Apple has worked hard to turn things around
in the last 18 months. Actually, it seems to have been more recently than that. I can
recall when I began on my book [Joel has a new book on MPW programming, which we
highly recommend. -Ed] getting responses like “Buy this book from APDA [I had] and
this is how you join APDA [I had].”
I noticed the most dramatic change as the Mac II was rolled out, as tech support
sought to bring everyone up to speed on new products on which Apple corporate placed
a high priority. Everyone was learning, and it seemed as though tech support had a
more open attitude about providing information.
Compatibility isn’t important
(Thought that would get your attention; we’ll get to it in a moment).
Chris Derossi taught one session I sat in on, although, with both Jim and Fred
kibbitzing from the front, it’s not clear from my notes who said what. From now on,
Derossi noted, there are actually three levels of answers to a “How do I do this
which is undocumented?” They are:
1. “Don’t do that, don’t do this, you’re going to break.” Examples include tabs in
TextEdit, drawing in the menu bar, etc.
2. “You don’t want to do this because of this and that, but here’s how” They’ll be
sure to let you know how and why this will break later.
3. “We can’t help you.” For example, many low-memory globals are considered
Apple proprietary, and can’t be released outside the company.
Chris noted that you don’t always have to be compatible. Apple will be more
likely to show you how to do risky things if it’s a one-time hack for yourself, rather
than a commercial product.
This, in fact, came up in regards to making the Apple video card put out NTSC
output in interlace mode. I got my copy of a little program from Allan Foster of Apple
Specific, a consulting company with a funny name based somewhere in the Pacific
NorthWest. (His partner said they’d been using the name for more than a year without
any hassles.) The listing is shown below in example 1.
When asked about this specific instance, one of the tech support weenies said that
they had the code, and would give it out as a #2, unsupported solution. However, he
said they had nightmares that it would show up in a product on the shelf someday.
On the other hand, if you break the rules, you’re always on your own for future
compatibility. “We’re not to care if your program breaks,” Derossi said, and that
rule is even going to be enforced for the big guys, not just the little guys. For
example, Microsoft applications break under A/UX, presumably due to their
non-standard memory management.
The specifics of compatibility were primarily those of Tech Note #117. Tech
Support has not been idle when supplying compatibility information, and there’s a
whole slew of it now available.
All-in-all, however, I think this shows a marked improvement from the days of
“Everything that you have a need to know is in Inside Macintosh.”
Twenty-five Color QuickDraw tips
The most valuable talk I went to was offered by Art Cabral. Art, as someone who
criticized the IIgs was quick to learn, was part of the GS development team. He also put
together the Palette Manager in less than three months -- which, as I noted in a
previous article (“Sleuthing the New System File”, August 1987) was too late to
make the Mac II ROM.
Art gave an alpha-to-omega talk on Color QuickDraw, which I thought was going
to be pretty boring. However, I was soon scribbling away with all sorts of secrets that
I thought others might appreciate.
I collected a whole list of tips. (I might have even known some of this before, but
never realized the significance.) Some of these were also made by tech support types,
either during his talk, or later, but they all seem great to me. Note that at the time of
the talk, System 4.1 was shipping and System 4.2 was in late beta, so some of the
problems may have been (or will be) fixed.
Here they are:
1. CopyBits doesn’t work right unless you have
ForeColor(black)
BackColor(white)
2. On an update event, check the ctSeed to see if the color table for this window has
changed.
3. The ctFlags field (of a ColorTable record) is used to indicate a color table for an
off-screen port, i.e., not on any device.
4. If a pixel value larger than 65,535 is required, it is assumed that you are doing
direct RGB values, and so the color table only needs two-byte pixel indices.
5. The Palette Manager supports approximately 4,000 palette entries, not just the
256 colors normally in a color table. You can also use subranges of a palette at
different times in your program.
6. CopyBits will be much faster if the ctSeed is the same on both ports.
7. One way to speed a CopyBits is to force the seeds to be the same. For example, if
you’re copying to an offscreen port, make it the same as that of the source
window.
8. In 256-color mode, each CopyBits adds a 1K color table to the picture. The less
CopyBits calls, the better; 20K-40K worth of bits at a time is a reasonable size.
9. The Palette Manager looks for a color within the range of a tolerant color and, if it
finds none, creates a new color exactly the same as that requested.
10. The Palette Manager supports explicit colors, corresponding to the pixel value
that’s actually going to be stuffed in the screen PixMap. It ignores RGB value and
leaves the index to be interpreted by the video card as a color in the device’s
color table, so, for example, an index of 0 will draw white.
11. Colors drawn in the desktop are not reserved by the Palette Manager; but
12. The six colors of the Apple in the menu bar are automatically allocated by the
Palette Manager; colored menus (‘mctb’ resources) are not allocated.
13. Region calculations are used to keep track of which colors to keep; one of the
goals was to display the “Cheryl Tiegs” image well.
14. The standard 256-color clut contains every combination of six intensities of
red, green and blue, plus 16 different intensities of pure red, green, blue and
white. There’s some overlap, which is why it’s 256 and not 280.
15. If a window is animating colors in the back, it may lose its colors to the
frontmost window. Art showed his Spinnaker program, which kept putting up
windows of animating colors and was both an impressive demo program and test
suite. (He borrowed a monitor from a developer who brought a Mac II so he could
have two monitors with different color depths).
16. When the Palette Manager makes a change that affects a window, it generates an
update for that window. If the window had been saving the screen bits, it should
use CopyBits to put them back, because the actual indices may no longer be valid
(because the color table might have changed.)
17. The Palette Manager gives priority based on entry type, then on a first-come,
first-served basis. In 16-color mode, priority is given to:
• The first 16 animating colors; if none,
• The first 16 tolerant colors.
Other colors come later.
18. Apple is working on gray-scale support for the LaserWriter printer driver.
19. There’s a bug in HSL to RGB conversion, so do the math yourself.
20. A flashing marqueé-style effect is done by the selection rectangle in MacPaint in
b&w mode using XORing. To do it in color, save the pixels of the four lines of the
rectangle and then flash the border.
21. The TI color chip (TMS34010) does its additive colors in pixel space, by adding
the pixel values; color QuickDraw does it in RGB space, by adding the individual
red, green and blue values.
22. The Palette Manager allows for direct color, that is, display devices that are not
limited to the size of the indexed color table.
23. The manager was written from February to April 1987, and wasn’t integrated
with the rest of the Toolbox until three days before the freeze date. One person
worked on the Palette Manager and two on the Window Manager to complete the
integration.
24. To use the inversion operators in color, there are several conditions:
• The color table begins with white and ends with black;
• The foreground color is black and the background color is white.
25. The OpColor trap is used for additive (mixing) color modes.
A/UX
Unfortunately, I had to miss most of Fred Huxham’s talk on A/UX, because I had to
attend my own talk instead. (I talked about PICT and other graphics formats, which
may someday appear in an expanded form in Resource Roundup.)
When I arrived late, Fred did say that special dealers will be selling A/UX, and
they will be requiring special training.
He also said that AST’s $1,000 four-port serial port for the Mac II will be