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.
Here are some projects we are working on at Free Geek:
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.
If any of the above projects interest you, you may want to join the coders. To do so:
- Coding is done by editing text files, see Text Editing for Coders for more info.
- Sign up for the coders mailing list http://lists.freegeek.org/listinfo/coders (email lists for coders)
- Get an account on our development box. (SSH for coders)
- Get a CVS account. (CVS for coders)
- Get an RT account http://todo.freegeek.org/rt/ (RT for coders)
- Free Geek coders hang out on IRC at freenode.net ( http://freenode.net/ ) on the #freegeek channel. (IRC for coders)
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: http://cvs.freegeeks.org/
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: CVSROOT=YOUR_USER_NAME_GOES_HERE@cvs.freegeek.org:/var/lib/cvs/
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 (freegeeks.org -- note the 's'), for example: $ ssh foyer.freegeeks.org # from outside FREE GEEK $ ssh foyer # from inside FREE GEEK MAILING LIST FOR CODERS:
You should also be on the coders mailing list: http://lists.freegeek.org/listinfo/coders
This is where we discuss programming issues. FREE GEEK DATABASE HOME PAGE
The FREE GEEK Database home page can be found at: http://web.freegeeks.org/groups/sw/fgdb/ CLASS OUTLINES
The Intro to Web Based Applications Using PHP class outline is available at: http://web.freegeeks.org/groups/sw/fgdb/lessons/
The Intro to Relational Databases and SQL class outline is available at: http://web.freegeeks.org/groups/ed/sql-class/
If you need to understand how databases work in general, please study this as soon as possible.