<div>Kyle,</div>
<div>I know it's easy to always say "study more"; I'm sure your professors have plenty for you to do. However, if you want to program stuff yourself, I urge you accept (at least) two languages. C/C++ is the only way to go for such things as linux kernel hacking. LISP is a huge window of insight into AI and is a completely different way of thinking. But particularly, I don't think we start to understand prgramming at a higher level until we have learned two; it's like, we learn English from constant use, but we don't grok "past pluperfect" until someone tries to teach us French. Right now you are in a perfect environment to learn and use both. You don't need to become a Language Lawyer in either.
</div>
<div>The great fun of computing is that you can tinker with your own working models of anything. Write a compiler, a database, a network, a finite representation of  p-adics, whatever you want, for any of your classes. So coding, like reading and writing, is a basic useful skill :-)
</div>
<div>Similarly, in math, I urge you to take at least a little in each of Algebra, Geometry, and Analysis :-)</div>
<div>Peter<br><br> </div>
<div><span class="gmail_quote">On 3/13/07, <b class="gmail_sendername">Kyle Spaans</b> <<a href="mailto:3lucid@gmail.com">3lucid@gmail.com</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hello Beowulf list.<br>Some of you may remember me from earlier in the summer. Well, after<br>nearly a year of lurking, I'm back!
<br><br>As a background update: I'm at the University of Waterloo, studying<br>math in a program called Computational Math [solving problems<br>computationally, sound familiar? haw haw haw]. I'm taking a good<br>variety of courses [Maths, CS, Physics, and French]. I've gotten
<br>through my first semester OK, and currently I'm living near Toronto on<br>my 4-month Co-op work term.<br><br>I just read this article,<br><<a href="http://arstechnica.com/articles/paedia/hardware/physx-hpc.ars">
http://arstechnica.com/articles/paedia/hardware/physx-hpc.ars</a>>, and<br>it has rekindled my desire to get started in parallel and<br>multi-threaded programming. By now, I'm plenty comfortable with Linux<br>[had to compile a custom kernel to get Linux to work on my desktop
<br>because the hard drive controller didn't have drivers in the kernel],<br>and I've got access to lots of old and cheap computers. I've got even<br>more computers waiting for me, with remote access, at my dad's house
<br>[more specifically three dual 2GHz Xeon rigs with a gig of Rambus DRAM<br>each]. Before I fully entrench myself with getting the cluster setup,<br>I want to make sure I can at least write some trivial parallel code<br>
that I can USE on my cluster. Thanks to all your earlier emails, I've<br>got a good list of little problems I can start out with, not to<br>mention problems from my math classes. My question now is, how? Please<br>let me know if any of these are FAQs or Google'able, I'm a capable
<br>RTFM'er but I just haven't found answers to these questions yet.<br><br>Do I really need MPI/OpenMPI/OpenMP/PVM? If so, does that mean I<br>should suck it up and learn Fortran/C/C++? Or can I just devise my own
<br>message passing system to help me parallelize the workload? For<br>example, TCP sockets were mentioned. In my CS class I learned Scheme<br>[a dialect of LISP], and I know Scheme can work with TCP sockets. It<br>has also gotten me very interested in the Functional Programming
<br>paradigm [but is it ideal for parallel programming?]. If possible, I'd<br>like to stick with Scheme for now, as it'll make my CS class coming up<br>this summer all the more interesting.<br><br>Speed isn't what I'm worried about right now, I just want to get
<br>started thinking about and writing parallel code.<br>Thanks for your help!<br>_______________________________________________<br>Beowulf mailing list, <a href="mailto:Beowulf@beowulf.org">Beowulf@beowulf.org</a><br>To change your subscription (digest mode or unsubscribe) visit 
<a href="http://www.beowulf.org/mailman/listinfo/beowulf">http://www.beowulf.org/mailman/listinfo/beowulf</a><br></blockquote></div><br>