[comp.sys.mac] Crunched Shell KICKOFF

crunch@well.UUCP (John Draper) (12/02/87)

		A Programmers Network Project KICK_OFF
		--------------------------------------
		
   For those who expressed their interest,  and in response to many people
who initially queried my last response,   This is the Official notice of
the Crunched Shell project kick-off being organized by the Programmers
Network.    To participate in these projects or work groups,  you should 
have the following hardware and software:

   ** MPW C, Pascal, or Lightspeed C
   
   ** A Mac with enough memory to support the above systems.
   
   ** TMON or MacsBug.

   If you are a beginning programmer and want to start learning how to
use your Mac to the fullest,   this is your chance to learn.   You should
have at least READ the K&R Book on C,  or have a very limited knowledge
of the language.    Even if you've never programmed in C,   this might
be your chance to learn it,  by having experts around to answer your
questions.   Now's your chanve to have your name in the ABOUT BOX :-)

   I'm posting this for anyone who wants to learn how to write CODE 
resources, and has the time to spend to learn.   You don't have to 
have an account on the WELL to participate,   just Email contact  
will work just fine.   I'll work very close with you,  communicating 
with you on a daily basis if necessary.    It will work something like a 
student-teacher relationship.

  This particular project will require that you have either MPW C or 
LightSpeed C.   If you don't have these systems,   then MPW Pascal 
would be acceptable,  unless LightSpeed Pascal objects are compatable 
with LSC.  Please indicate which project you will want to participate in.

  Upon recieving your response,   I'll collect them and pick out the
Team members,  based on your initial response.   Once the team is picked,
I'll post who is working on what,   and encourage each person to communicate
with each other in the project to test out the mail Paths.   Participants
will also be on BIX,  WELL,  and Portal.    For those not having BIX
WELL,  or Portal accounts,   all communication will go thru the 
Coordinator on the Apropriate systems.

  Once the job assignments have been posted and known,   I'll then send
you information on how to write the program,  and what toolbox functions
you might want to consider.   Please don't take this as a cookbook guide
to solve the problem,   certain research work like reading Inside Mac
will be necessary,  as this enhances the learning process,  which is
necessary to turn you into a Mac expert.   I'll try and provide some 
appropriate sample code,  but it MIGHT NOT be the correct solution,  
but you will be given a good solid start.   You will know the basic 
procedures of building, testing,  and debugging the code.    MacsBug 
or TMON is a MUST,  and if you like MacNosey,  thats also ok.

What we need:

  MDEF  - example code,  showing a menu with a selection area that BOX'es
the selection instead of highlighting it in INVERSE Video.   This code
should be BOTH in MPW and LightSpeed C.   A makefile should be included,
as well as the lightspeed C "project" document.   The menu def should
also activate the menu from the Title bar of a window.    Perhaps this
isn't possible,  but SOME goals should be set  :-).

 WDEF -  That adds a few controls and makes a Mac window look Different.
For instance,  I want to title bar of the window to act like a MENU bar.
(Pssst!!  If thats too hard,  we can make it easier).

 CDEF -  make a CONTROL that looks like a GAS GUAGE.   It should have a
"needle" that moves like a GUAGE.

  Gee!!  Aren't you just SICK and TIRED of looking at those ugly scroll
bars??,   once you pass THIS class,  you can make your OWN.

  These are the FIRST of a set of example code that we need, in order to
pull together a GREAT Programmers Tool that benefits everyone.  As other 
PORTIONS of the job become known,   other postings like this one will 
be made.

  You should have at least LightSpeed C  OR MPW.   If one volumteer comes
up and does it,   I'll ask another to build one in the OTHER system,  so
we can have examples of BOTH.   

  You can be on UseNet, BIX, WELL,  or Portal to participate.   When you
fill out the questionair following this message,  PLEEZE indicate the
Days, Evenings, or How often,  and how much time you want to spend.

  We should also exchange information on when we log in,   and how often,
so that efficient communication can happen.    For instance,  if I know
that Fred gets on the Net at 7:30 EST,   then I'll make sure to post
information to you before you log in.    If I know you're on,   we can
get in many communication exchanges in one evening.   The organization
happens like this:
  

  ** Once you decide to do it,  you mail your intention to Me,   and
     I'll mail you back more specifics you need to know to participate.
     
  ** I'll mail back the exact specifications of the job,  with illustrations
     if necessary,  and test out our ability to pass files back and forth
     using BinHex,  or any other Comm program agreed upon.   I'll also
     mail back a recommended implementation plan on how to get started
     in doing it.    It will look like this:
     
     1) Make up a LightSpeed C Project and pull the "Projects" menu
        and change the type to MDEF.
	
     2) make sure you use NO global variables.   If you don't know how
        to do it using globals,  then send me your code (with globals),
	and I'll show you a way to eliminate them.
	
     3) Add the "MacTraps, etc" to the Project,  and edit a source
        file that looks like this (I'll send a starting file with the
	includes,  and psuedo code of what it's to do.
	
  ** Once you get the specification,  you start the work,   asking any
     questions you need through the Coordinator.   After the CODE is
     partially done,  you should mail it to the Coordinator for initial
     examination.   This helps the Coordinator get an idea of your Coding
     style (which is NOT important),  and allows him to suggest alternate
     approaches,  and nail most of the "Gotchas".
     
  ** Once the Coordinator recieves the code,   he looks it over,  looking
     for obvious errors,   commenting in the actual source file,  and
     sending it back.   This may sound like a BEGINNING PROGRAMMING class,
     but it really helps the learning process no matter how good you think
     you are.    The Coordinator may NOT KNOW coding style,   it's not his
     job,   the Coordinator most only know the Overall Task of the project
     as a whole,  and most likely will have written many Mac applications.
     The coordinator mails the code back to the volunteer programmer.
     
  ** Once the volunteer programmer gets this back,   he/she should take
     the comments as constructive leaning material,  and try and follow
     the advice of the Coordinator.    By the time the code gets mailed back,
     the volunteer programmer may have changed it considerably.    If this
     happens,  try and follow the suggestions as much as possible,  and
     mail the new code back to the coordinator.
     
  ** This exchange takes place as frequent as possible.   Normally,  the
     times of the coordinators mail pick-ups will be announced,  and 
     volunteer programmers will know when to be getting replys,  and can
     coordinate communication efficiently.
     
   Usually,  a coordinator can process mail and messages from as many as
20 users and coordinate the work with little time.   If anyone wants to 
know how to do this,   just Email me.    I basically CAPTURE everything
in BinHex text,  snip out,  and catagorize and date the mail and files.
I can do this on ONE 1/2 hour DOWNLOAD "session",  process the information,
and upload 2 hours later to the appropriate reciprecants.

		Application form for Projects
		-----------------------------
		
Name___________________________________
Address________________________________
Net Address____________________________
Hours/week_____________________________ (Also indicate days you can work)
					(IE: Weekends, Every Wed, Etc)

Interests:

   Some interests are listed below,   Check one or more
that interests you,  or add additional tasks or expertice
you have.    For instance,  under programming,   you might
want to enter the languages you like using.   If you like
using MacPaint, MacDraw,  or doing other art,  then list
the names of the programs you use.   

Programming____________________________ (List Languages and/or OS)
Artist_________________________________ (List programs you use)
Tester_________________________________ (List programs you tested)
Designer_______________________________ (List type of program(s) )
Other__________________________________ (List any other tasks)


Equipment:

Type___________________________________ (Mac, IBM,  UNIX etc )
Memory capacity________________________ ( 1 meg,  640k,  etc )
Hard Disk capacity_____________________ ( 20m,  NONE,    etc )
Operating System_______________________ ( UNIX,  MSDOS,  etc )
Printers_______________________________ ( LazerWriter, Dot Matrix, etc )
Other__________________________________ (Special Hardware )


The Kinds of things you like doing:

Graphics_______________________________ ( 3D Modeling, CAD, Painting, etc)
Math___________________________________ ( High Speed floating Pt,  etc)
Assembly Language______________________ ( Which assembler? )
Operating Systems______________________ ( Which one? )
User Interfaces________________________ ( Mac style, Other, etc )
Languages______________________________ ( C, Pascal, Forth, Lisp, Etc )
Compilers______________________________ ( Like to write them? )
Interpretors___________________________ ( Basic, APL, Logo )
Device Drivers_________________________ ( Disk, MIDI, Printer, Plotter Etc )
Multi Tasking__________________________ ( UNIX,  Amiga, etc )
Object oriented programming____________ ( SmallTalk, C++, Others )

  Take this file,  and sort of fill it in,  if you aren't interested in
any of the above items,   just skip it.   Feel free to enter as much
information as you like,   just enter the rest on lines below the
appropriate topic.  Then Email it to any of the addresses listed below.

  If you can only work on it ONE day a week,   please try and check your
mail as often as you can.   This helps the Coordinator to make up schedule
for communications and Email.

John Draper
310 WestLine Dr. B210
Alameda, Ca.  94501
(415) 769-1268

< In future announcements,  the above address might change >

Net Address:
WELL:  crunch
BIX:   crunch
UUCP:  ihnp4!ptsfa!well!crunch
Portal: John Draper