9th
JUL

Setting up CVS pserver on OSX 10.4 and up (10.5, 10.6)

Posted by Keith under Development Tools

There’s no /etc/inetd.conf, or /etc/xinetd.conf.  New version of OSX uses something called “launchd.”

Read following pages for setting up pserver.

See:

Launchd: http://developer.apple.com/macosx/launchd.html

Copy & Paste from above site — just in case :
CVS pserver launchd item for OS X 10.4
Tuesday, August 02 2005 @ 08:14 pm MDT
Contributed by: ChrisRyland
Views: 6,637
TipsInspired by the recent excellent launchd overview on afp548, I needed to set up a CVS pserver on our new Tiger Xserve box, migrating from an old Linux server.

Here’s a recipe that seems to work.

You’ll need to create a launchd control file, call it cvspserver.plist, and put it in /Library/LaunchDaemons (where local launch control files are supposed to live):

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple Computer//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0″>
<dict>
<key>Label</key>
<string>com.apple.cvspserver</string>
<key>UserName</key>
<string>cvs</string>
<key>Program</key>
<string>/usr/bin/cvs</string>
<key>ProgramArguments</key>
<array>
<string>cvs</string>
<string>-f</string>
<string>–allow-root=/Users/cvs</string>
<string>pserver</string>
</array>
<key>Sockets</key>
<dict>
<key>Listeners</key>
<dict>
<key>SockPassive</key>
<true/>
<key>SockServiceName</key>
<string>cvspserver</string>
<key>SockType</key>
<string>SOCK_STREAM</string>
</dict>
</dict>
<key>inetdCompatibility</key>
<dict>
<key>Wait</key>
<false/>
</dict>
</dict>
</plist>

You’ll have to change the –allow-root=/Users/cvs CVS root specification above to match your actual root, but otherwise the above should work.

Next, it doesn’t appear that cvs under Tiger can access the standard user/password database, so you’ll have to create a password file in your $CVSHOME/CVSROOT directory:

$ cd ~cvs/CVSROOT
$ sudo htpasswd -c passwd user1
$ sudo htpasswd passwd user2 # etc.

Then, you’ll need a

# launchctl load /Library/LaunchDaemons/cvspserver.list

and you should be in business. (At the next reboot, cvspserver.plist should be picked up by launchd.)

6th
DEC

Erlang and Java (and Scala too)

Posted by Keith under Development Tools, Erlang, Java

People on the net did many performance testing on Erlang, and it shows that Erlang clearly wins over other environments.  And I see that more people are experimenting with it and there are real systems built on it, and performs incredibly.  The language is not easy to learn for someone (like myself) who worked in C++ and Java for many years and only touched Prolog (and Lisp) very lightly.  I concluded years ago that Prolog and Lisp are dead, but with this monstrous language/system, it intrigued me to learn the damn thing.  It’s very fun to play around with it, but it’ll take a while for me to be proficient enough to write a big application in Erlang.  I was a bit bored with Java and was looking for something new, so it’s alright.

I started wondering why this (Erlang way of concurrency) can’t be done in Java, and found something: Kilim. (and Scala’s concurrency.)  It is too early for me to say anything about them as I don’t know enough, but it’s worth reading a few pages.  This page shows Java+Kilim out performs Erlang: http://stephan.reposita.org/archives/2008/06/22/erlang-vs-java-benchmarking-update/

Kilim: http://www.malhar.net/sriram/kilim/index.html

Here is a posting about Erlang and Scala: http://yarivsblog.com/articles/2008/05/18/erlang-vs-scala/ I only read and played around basics with Scala and thought it’s just a way to add FP to Java.  After reading above posting, I looked at Scala site and found this article: http://www.scala-lang.org/node/242.  Take a look at the example code.  It’s very similar to Erlang how concurrency is done.

To Do: