From FreekiWiki
Revision as of 12:14, 30 November 2004 by Rfs (talk | contribs)
Jump to navigation Jump to search

Coders Workshops meet weekly on Tuesdays at 7:15. Coders Workshops are open to all, experienced and new coders alike. The only requirement is that you want to help and learn or teach in the process. We try to team up experienced folks with newbies. We only work on stuff we actually use, so your work is always needed.

Coding Projects

Here are some projects we are working on at Free Geek:

FGdb -- This is PHP code ( ) that talks to a PostgreSQL database ( ).

FGDiag -- Python code ( ) used for testing gizmos.

Distro Implementation -- Figure out how to get the software onto the boxes we build, and how to make it work like we want it to.

Other Coding Projects -- There are usually a variety of smaller tasks that need doing, often using shell scripting.

Getting Started

If any of the above projects interest you, you may want to join the coders. To do so:

Old Page Text

FREE GEEK Information for Coders

(This is oriented to ne coders working on the database project, but may be of use to other coders at FREE GEEK.) CVS INFORMATION:

To Browse our CVS repository:

We connect to CVS, using ssh. In Linux this means we set this environmental variable: CVS_RSH=ssh

You also need to know where the cvs root direcotory is on the server:

The above lines could be put into .bash_profile for convenience. CVS Basics:

To check out a CVS project (foobar), use this command: $ cvs co foobar

That would create a directory underneath where you are called 'foobar'.

To add a file, be in the foobar directory, create the file, and then: $ cvs add mynewfile

To change a file, just edit it.

To delete a file, be in the foobar directory, delete the file, and then: $ cvs rm mynewfile

To get your changes back to the server, be in the foobar directory and: $ cvs commit

To put a new project into cvs, be in the project's new directory (bazbot) and do this: $ cvs import bazbot vendor release

One thing that confuses people about cvs is that it is difficult to move or rename a file. There is actually no real way to do this directly, so you need to to the following:

$ mv oldfilename newfilename $ cvs rm oldfilename $ cvs add newfilename $ cvs commit

That's kind of annoying, but it works.

There are GUI interfaces to CVS if the command line scares you, but we haven't tried them out sufficiently to recommend any of them. We will update this section when we do. COMPUTERS AT FREE GEEK YOU MAY NEED AN ACCOUNT ON:

Coders working on database related projects and/or taking classes will need access to certain machines:

   * obsidian* -- "classroom" server (so you can log in from FREE GEEK's terminals in the classroom)
   * llama -- the "homework" box, for people taking classes (some development can happen here)
   * cvs -- (also known as haibane) so you can check stuff in and out of cvs. This account doesn't typically allow shell access -- only cvs access.
   * foyer -- this is the gateway for getting into FREE GEEK machines from the outside (ssh into foyer, and then from foyer ssh to the machine you need to get to). You do not need an account on this machine if you will be doing all your work from inside FREE GEEK.

Coders with higher access privileges may also get accounts on these machines:

   * flowers* -- the development box for coders volunteering longer term at FREE GEEK
   * turing* -- the production box for coders that need to actually deploy tested code
  • Servers with asterisks are unavailable for connection from outside FREE GEEK. Servers without the asterisks are in the DMZ and are typically locked down pretty tight. You can ssh into them and do work, but they are usually unable to connect to other servers.

All computers can be connected to from inside FREE GEEK by their simple hostname (above). From outside of FREE GEEK, you need to add the domain name ( -- note the 's'), for example: $ ssh # from outside FREE GEEK $ ssh foyer # from inside FREE GEEK MAILING LIST FOR CODERS:

You should also be on the coders mailing list:

This is where we discuss programming issues. FREE GEEK DATABASE HOME PAGE

The FREE GEEK Database home page can be found at: CLASS OUTLINES

The Intro to Web Based Applications Using PHP class outline is available at:

The Intro to Relational Databases and SQL class outline is available at:

If you need to understand how databases work in general, please study this as soon as possible.