cl-sockets, Google, Lisp-NYC, and The Savages of c.l.l
- From: Kenny Tilton <ktilton@xxxxxxxxxx>
- Date: Wed, 21 Sep 2005 15:57:08 GMT
We have a drama unfolding.
Lisp-NYC has provided to Google positive evaluations for seven of the nine Summer of Code projects Google sponsored through Lisp NYC. One project retired in the face of unexpected difficulties, and another -- cl-sockets -- was given a negative evaluation. The student has now done additional work (after the deadline) and is hoping for a favorable re-evaluation.
The mentors (moi included) do not see enough to justify spending more of our time on this, but if anyone wants to eyeball the latest cl-sockets and sing its praises I for one will reconsider.
Here it is: http://common-lisp.net/project/cl-sockets/
I will see your feedback if you post it here, or you can send me an email, in confidence or otherwise.
The remainder of this post is the original proposal (or at least a late revision -- I might have missed the last actually submitted to Google).
kenny
Project Title Lisp Sockets
Synopsis
One of the Great Complaints about Lisp is it's lack of standard sockets. As Lisp was born before the Internet became a big deal sockets did not make it into the CL standard. The current status of Lisp sockets is every Lisp has it's own implementation and various "universal" socket libraries go through each implementation's socket library. The Lisp Sockets project exists to make open source projects more shareable, by eliminating an implementation dependency by erasing this black mark from the history of Lisp. The proposal is to create single socket library with a standard interface for all Lisp implementations in all environments. This will be accomplished by using a portable OS FFI (Foreign Function Interface) to gain access to native C socket libraries. The particular FFI used will be Hello-C. [1] Hello-C is a Lisp project which allows Lisp code to include C headers and link seamlessly with C libraries. Here it will be used to write an interface directly to BSD sockets on Unix, Winsock on win32, and either BSD sockets or native OSX sockets on OSX.
Deliverables
At the completion of this project Lisp will have a truly universal socket library with an interface similar to that of BSD sockets. This is critical to Lisp so that programmers do not have to worry about system specific features. Programmers will be able to write network driven applications in Lisp easily and deploy them across all platforms without modification.
Project Details
This project will involve defining a standard socket interface, independent of operating system and Lisp implementation. This interface will in turn integrate with the various system's socket interface with the help of Hello-C. Interfacing with the various API's will also require this project to transparently handle any/all implementation specific idiosyncrasies in order to provide a truly universal socket library. Because of differences between various current socket interfaces (and theoretical future socket implementations), Lisp sockets will offer a lowest common denominator socket interface for true system transparency. Lisp Sockets will also offer an interface to possible platform specific features/bugs for easier system specific integration with legacy code.
Project Schedule
In many ways this project has already begun. I have gotten the go ahead for this project from NYCLisp [2] mentor Kenny Tilton [3] and we have begun to flesh out the details. The following areas roughly corresponds to two week periods of work that will be completed in order to achieve truly system transparent sockets.
- API - Regression Test - CLisp + NetBSD - Expansion and testing to other Unix-like systems - AllegroCL + win32
Bio
I am a senior at Polytechnic University [4] majoring in Computer Science [5] and a graduate of Stuyvesant High School. [6] I am the president of Poly's chapter of the ACM. [7] I am also one of the founders and a regular programmer at Poly's programming team meetings [8] where we solve ACM contest type problems weekly. Algorithms is generally the field I am most interested in. I have worked on many socket related project in various languages. [9] Last summer and through the year I was working on an NSF funded project, ForNet [10], for the majority of my time at Poly. ForNet is a distributed forensics network. It provides a scalable network logging mechanism to aid forensics over wide area networks. Fornet had me working on many network and algorithmic issues. Issues addressed by myself for the project included:
- Fast packet scheduling within a widely deployed forensics network
- Long term data storage solutions for huge amounts of forensics related network data (think gigabits per second)
- Fast decoding of network protocols for packet analysis of relevant data including TCP/IP, DNS, HTTP, etc
- 3D Visualization of a massive amount of network related events in real-time across large networks
- Research into algorithms of packet analysis for significant payloads (polymorphic code, hyper-slow portscans, sensitive data distribution, spam)
- Privacy issues
Numerous recommendations available from Polytechnic University upon request.
[1] http://www.alphageeksinc.com/cgi-bin/lispnyc.cgi?HelloC
[2] http://www.lispnyc.org/
[3] http://tilton-technology.com/
[4] http://www.poly.edu/
[5] http://cis.poly.edu/
[6] http://www.stuy.edu/
[7] http://acm.poly.edu/
[8] http://cis.poly.edu/jsterling/PolyProgrammingTeam/
[9] http://www.zoo-crew.org/gallery/view_photo.php?set_albumName=halloween2004&id=PA300014
[10] http://isis.poly.edu/projects/fornet/
.
- Follow-Ups:
- Re: cl-sockets, Google, Lisp-NYC, and The Savages of c.l.l
- From: Simon Leinen
- Re: cl-sockets, Google, Lisp-NYC, and The Savages of c.l.l
- Prev by Date: Re: specific remove
- Next by Date: Re: The Lisp board game?
- Previous by thread: Duplicate case warning of symbol in CLISP
- Next by thread: Re: cl-sockets, Google, Lisp-NYC, and The Savages of c.l.l
- Index(es):
Relevant Pages
|