Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Mar 2001 20:20:22 +0100
From:      Brad Knowles <brad.knowles@skynet.be>
To:        Dag-Erling Smorgrav <des@ofug.org>, "Tyler K McGeorge" <treznor@sunflower.com>
Cc:        "Damien Tougas" <damien@carroll.com>, <freebsd-chat@FreeBSD.ORG>
Subject:   Re: Looking for Yoda
Message-ID:  <v04220805b6d1796cec93@[194.78.241.123]>
In-Reply-To: <xzp1ys4v3iv.fsf@flood.ping.uio.no>
References:  <20010310230724.A292@sprig.tougas.net> <000601c0a9f9$31b88120$103b7c18@palisor.yi.org> <xzp1ys4v3iv.fsf@flood.ping.uio.no>

next in thread | previous in thread | raw e-mail | index | archive | help
At 2:28 PM +0100 3/11/01, Dag-Erling Smorgrav wrote:

>  Lucky for you, we have a whole batch of projects just waiting for
>  someone to work on them:
>
>  http://www.FreeBSD.org/cgi/query-pr-summary.cgi
>
>  They're not all really that hard. Many of them can probably be closed
>  without any more action than verifying the bug they report no longer
>  exists, or never existed in the first place.

	The problem with these PRs is that they assume you're already an 
experienced programmer, and that you understand the context in which 
the patch is being made.  Unfortunately, those two things are 
precisely what programmers new to C almost certainly don't have. 
Even if they're otherwise experienced programmers, simply dumping 
them in the deep end of the ocean and telling them to "sink or swim" 
is likely to end up with most of them sinking fairly rapidly.

>                                               If you're looking for
>  something more long-term, try this page:
>
>  http://www.freebsd.org/projects/

	Moof!  I looked at this page.  There's all sorts of stuff here, 
but it's things like the Ganger & Platt "softupdates" papers, the 
page describing the vinum logical volume manager, a link to the page 
for the Coda distributed filesystem, the pages describing the efforts 
to port FreeBSD to Alpha, PowerPC, SPARC, and other hardware 
platforms, etc....

	Unfortunately, I didn't see a single thing here that would be 
appropriate for an experienced programmer to use as their reason for 
introducing themselves to C, or as a project that a a new programmer 
could jump into and start programming for the first time.


	Much better would be a page that had links to descriptions of 
projects that have been envisaged by members of the FreeBSD project 
as being necessary or desirable, but which have not yet been taken on 
by someone, or where new programmers (or experienced programmers that 
are new to C) would be able to jump in and start doing work.

	In other words, a page with links to descriptions, 
specifications, and maybe even some designs for programs (with some 
data flow diagrams, etc...), but where there hasn't yet been any code 
produced.



	Myself, I took a Numerical Methods class when I was a Junior in 
college, and many programming languages were allowed for this class 
but C was not on the list.  With the instructors permission (and 
cooperation from the guy who was grading the programs), I was allowed 
to use C, while everyone else was using Pascal, FORTRAN, or Basic.

	This was an interesting enough topic and use for my skills that I 
was always the first person to turn in the homework, I always got a 
perfect score on my homework, and I always turned in the most 
accurate answers (because I used extended precision features within C 
to push the hardware to the limits of its capabilities).  My programs 
probably ran faster and were more efficient than anyone else's, too.

	I followed this up by writing a terminal locking program my 
senior year, and by the time I was done the program had five or six 
different ways to specify the password to be used, had an automatic 
count-down timer to log you out if you didn't come back soon enough, 
could automatically run programs and collect their output on a 
periodicity you specified (so that you could run fortune and have it 
updated every minute), and could even display a graphics-mode page 
for those terminals capable of it (think Zenith z39a).

	At the time I left, there were only two people on that system 
that weren't using it, and both of them were senior staff systems 
administrators that knew of bugs in the system calls I was using to 
actually perform the lock.  They also knew that the other person was 
such a prankster that if they used this program to lock their 
terminal and then went away, they would return to find a joke had 
been played on them.

	I believe I contributed that program to comp.sources.lang.c 
before I left, but I'd be damned if I could find it again.  Of 
course, a terminal-locking program in these days of ssh and X 
terminals is not a particularly useful thing to have, so it's not 
like it really matters.  But it was a fascinating tool to write at 
the time, and it was an interesting way to get into a little systems 
programming.

--
Brad Knowles, <brad.knowles@skynet.be>

#!/usr/bin/perl -w
# 531-byte qrpff-fast, Keith Winstein and Marc Horowitz <sipb-iap-dvd@mit.edu>
# MPEG 2 PS VOB file on stdin -> descrambled output on stdout
# arguments: title key bytes in least to most-significant order
# Usage:
# qrpff 153 2 8 105 225 /mnt/dvd/VOB_FILE_NAME | extract_mpeg2 | mpeg2_dec -
$_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map{$_%16or$t^=$c^=(
$m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t^=(72,@z=(64,72,$a^=12*($_%16
-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h
=5;$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$
d=unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d>>12^$d>>4^
$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9,$_=$t[$_]^
(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-chat" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?v04220805b6d1796cec93>