I've been primarily a Windows C++ developer for 12 years with a little
Java, Perl, Python, and lately Ruby along the way. I've never looked at line of Smalltalk until recently. But that all changed when I decided to get a Masters in CS and since a PhD isn't out of the question write a thesis. When asked by a co-worker what my thesis topic would be, I said "maybe something with peer-to-peer, gaming, collaborative environments, 3D, education, visual programming, interaction design, or languages" (big list I know but somewhat ordered). I started digging around and noticed a pattern... Smalltalk, Squeak, Croquet, and Seaside kept coming up (although it took a little while to notice the mouse icon and 3d bunny. So I've ordered the book "Object Land", downloaded all the free books and Squeak (ordered the DVD too), and joined the list. But I'm still having trouble narrowing down a thesis topic to present to my adviser (for adjustment I'm sure). Anyone have any suggestions for a thesis topic? Maybe there is some part of Squeak that the community would like documented/researched/implemented. P2P gaming/collaboration using Croquet sound interesting (Croquet has a great deal of potential), but I'm pretty open for suggestions. Thanks, Robert PS: As a working C++ developer it will take a while for me to finish the thesis and my masters. |
I fear CS focuses on more esoteric topics than my suggestion but here
goes anyway: kick-starting a virtual economy. There is plenty of talk about the potential boom in virtual communities but I see very little, if anything, about how to get one off the ground. Squeak/Croquet provides IMHO a perfect environment for experimenting this subject. Good luck with your studies! On 6/13/07, Robert Stehwien <[hidden email]> wrote: > I've been primarily a Windows C++ developer for 12 years with a little > Java, Perl, Python, and lately Ruby along the way. I've never looked > at line of Smalltalk until recently. But that all changed when I > decided to get a Masters in CS and since a PhD isn't out of the > question write a thesis. > > When asked by a co-worker what my thesis topic would be, I said "maybe > something with peer-to-peer, gaming, collaborative environments, 3D, > education, visual programming, interaction design, or languages" (big > list I know but somewhat ordered). I started digging around and > noticed a pattern... Smalltalk, Squeak, Croquet, and Seaside kept > coming up (although it took a little while to notice the mouse icon > and 3d bunny. > > So I've ordered the book "Object Land", downloaded all the free books > and Squeak (ordered the DVD too), and joined the list. But I'm still > having trouble narrowing down a thesis topic to present to my adviser > (for adjustment I'm sure). > > Anyone have any suggestions for a thesis topic? Maybe there is some > part of Squeak that the community would like > documented/researched/implemented. P2P gaming/collaboration using > Croquet sound interesting (Croquet has a great deal of potential), but > I'm pretty open for suggestions. > > Thanks, > Robert > > PS: As a working C++ developer it will take a while for me to finish > the thesis and my masters. > > |
In reply to this post by Robert Stehwien
How about "The Social Implications of Virtual Collaboration"? -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Robert Stehwien Sent: 13 June 2007 4:17 pm To: [hidden email] Subject: Fishing for a CS Masters Thesis Topic I've been primarily a Windows C++ developer for 12 years with a little Java, Perl, Python, and lately Ruby along the way. I've never looked at line of Smalltalk until recently. But that all changed when I decided to get a Masters in CS and since a PhD isn't out of the question write a thesis. When asked by a co-worker what my thesis topic would be, I said "maybe something with peer-to-peer, gaming, collaborative environments, 3D, education, visual programming, interaction design, or languages" (big list I know but somewhat ordered). I started digging around and noticed a pattern... Smalltalk, Squeak, Croquet, and Seaside kept coming up (although it took a little while to notice the mouse icon and 3d bunny. So I've ordered the book "Object Land", downloaded all the free books and Squeak (ordered the DVD too), and joined the list. But I'm still having trouble narrowing down a thesis topic to present to my adviser (for adjustment I'm sure). Anyone have any suggestions for a thesis topic? Maybe there is some part of Squeak that the community would like documented/researched/implemented. P2P gaming/collaboration using Croquet sound interesting (Croquet has a great deal of potential), but I'm pretty open for suggestions. Thanks, Robert PS: As a working C++ developer it will take a while for me to finish the thesis and my masters. |
In reply to this post by Robert Stehwien
Hi!
If you are interested in visual programming I have two suggestions! (1) Explore how behaviours represented as "contextual signs" can be used to program objects in Croquet. Contextual signs are graphical and/or textual signs that are directly attached to an object. This concept comes from comics, where for instance voice balloons, speed lines, and sounding symbols (onomatopoetic symbols) are examples of contextual signs. Here are two papers on this topic: http://www.ida.liu.se/~mikki/comics/IDC2007-Kindborg.pdf http://www.ida.liu.se/~mikki/comics/p121-fernaeus.pdf For full references go here: http://www.ida.liu.se/~mikki/comics/ The current system we are working is called "Magic Words" and is available here: http://www.comikit.se/index.en.html (2) Explore how "comic strip programming" could be used in Etoys and/or Croquet. Here is a recent paper that describes the idea: http://www.ida.liu.se/~mikki/comics/JVLC_Kindborg_McGee_Paper_October_2006.pdf Best regads, Micke 2007/6/13, Robert Stehwien <[hidden email]>: > I've been primarily a Windows C++ developer for 12 years with a little > Java, Perl, Python, and lately Ruby along the way. I've never looked > at line of Smalltalk until recently. But that all changed when I > decided to get a Masters in CS and since a PhD isn't out of the > question write a thesis. > > When asked by a co-worker what my thesis topic would be, I said "maybe > something with peer-to-peer, gaming, collaborative environments, 3D, > education, visual programming, interaction design, or languages" (big > list I know but somewhat ordered). I started digging around and > noticed a pattern... Smalltalk, Squeak, Croquet, and Seaside kept > coming up (although it took a little while to notice the mouse icon > and 3d bunny. > > So I've ordered the book "Object Land", downloaded all the free books > and Squeak (ordered the DVD too), and joined the list. But I'm still > having trouble narrowing down a thesis topic to present to my adviser > (for adjustment I'm sure). > > Anyone have any suggestions for a thesis topic? Maybe there is some > part of Squeak that the community would like > documented/researched/implemented. P2P gaming/collaboration using > Croquet sound interesting (Croquet has a great deal of potential), but > I'm pretty open for suggestions. > > Thanks, > Robert > > PS: As a working C++ developer it will take a while for me to finish > the thesis and my masters. > > |
In reply to this post by Robert Stehwien
Under languages:
A new kernel for Squeak, based only on Traits (no inheritance). Why? 1. Writing a kernel for Squeak should be challenging and a little mindbending. 2. I am quite sure that it is possible to create something easier to understand than the current kernel, which uses both inheritance and traits. 3. Seems quite likely to me that it would allow to simplify other parts of the system, because if done right it would allow to have a variety of things that are somewhat similar to classes without duplication of code. For example, a representation of a version of a class that is not currently loaded (useful for versioning systems) has some of the functionality of a class (same state), but lacks other functionality (cannot create instances). Daniel Robert Stehwien wrote: > I've been primarily a Windows C++ developer for 12 years with a little > Java, Perl, Python, and lately Ruby along the way. I've never looked > at line of Smalltalk until recently. But that all changed when I > decided to get a Masters in CS and since a PhD isn't out of the > question write a thesis. > > When asked by a co-worker what my thesis topic would be, I said "maybe > something with peer-to-peer, gaming, collaborative environments, 3D, > education, visual programming, interaction design, or languages" (big > list I know but somewhat ordered). I started digging around and > noticed a pattern... Smalltalk, Squeak, Croquet, and Seaside kept > coming up (although it took a little while to notice the mouse icon > and 3d bunny. > > So I've ordered the book "Object Land", downloaded all the free books > and Squeak (ordered the DVD too), and joined the list. But I'm still > having trouble narrowing down a thesis topic to present to my adviser > (for adjustment I'm sure). > > Anyone have any suggestions for a thesis topic? Maybe there is some > part of Squeak that the community would like > documented/researched/implemented. P2P gaming/collaboration using > Croquet sound interesting (Croquet has a great deal of potential), but > I'm pretty open for suggestions. > > Thanks, > Robert > > PS: As a working C++ developer it will take a while for me to finish > the thesis and my masters. > |
In reply to this post by Robert Stehwien
Robert,
We have a research project proposal titled "Steps Toward The Reinvention of Programming" (which is accepted by NSF). This research tries to cover everything about computing from the metal to the end-user experience. Because it tries to cover everything, what you described are all have some relevance^^; Take a look at the proposal: http://vpri.org/pdf/NSF_prop_RN-2006-002.pdf and other docs from: http://vpri.org/html/writings.htm . Hopefully, that would give you some perspective on the various topics. -- Yoshiki At Wed, 13 Jun 2007 09:17:17 -0600, Robert Stehwien wrote: > > I've been primarily a Windows C++ developer for 12 years with a little > Java, Perl, Python, and lately Ruby along the way. I've never looked > at line of Smalltalk until recently. But that all changed when I > decided to get a Masters in CS and since a PhD isn't out of the > question write a thesis. > > When asked by a co-worker what my thesis topic would be, I said "maybe > something with peer-to-peer, gaming, collaborative environments, 3D, > education, visual programming, interaction design, or languages" (big > list I know but somewhat ordered). I started digging around and > noticed a pattern... Smalltalk, Squeak, Croquet, and Seaside kept > coming up (although it took a little while to notice the mouse icon > and 3d bunny. > > So I've ordered the book "Object Land", downloaded all the free books > and Squeak (ordered the DVD too), and joined the list. But I'm still > having trouble narrowing down a thesis topic to present to my adviser > (for adjustment I'm sure). > > Anyone have any suggestions for a thesis topic? Maybe there is some > part of Squeak that the community would like > documented/researched/implemented. P2P gaming/collaboration using > Croquet sound interesting (Croquet has a great deal of potential), but > I'm pretty open for suggestions. > > Thanks, > Robert > > PS: As a working C++ developer it will take a while for me to finish > the thesis and my masters. > |
2007/6/14, Yoshiki Ohshima <[hidden email]>:
> Robert, > > We have a research project proposal titled "Steps Toward The > Reinvention of Programming" (which is accepted by NSF). This > research tries to cover everything about computing from the metal to > the end-user experience. Because it tries to cover everything, what > you described are all have some relevance^^; > > Take a look at the proposal: > > http://vpri.org/pdf/NSF_prop_RN-2006-002.pdf > > and other docs from: > > http://vpri.org/html/writings.htm > Great to see this collection of documents, very inspiring! Best, Micke > . Hopefully, that would give you some perspective on the various > topics. > > -- Yoshiki > > At Wed, 13 Jun 2007 09:17:17 -0600, > Robert Stehwien wrote: > > > > I've been primarily a Windows C++ developer for 12 years with a little > > Java, Perl, Python, and lately Ruby along the way. I've never looked > > at line of Smalltalk until recently. But that all changed when I > > decided to get a Masters in CS and since a PhD isn't out of the > > question write a thesis. > > > > When asked by a co-worker what my thesis topic would be, I said "maybe > > something with peer-to-peer, gaming, collaborative environments, 3D, > > education, visual programming, interaction design, or languages" (big > > list I know but somewhat ordered). I started digging around and > > noticed a pattern... Smalltalk, Squeak, Croquet, and Seaside kept > > coming up (although it took a little while to notice the mouse icon > > and 3d bunny. > > > > So I've ordered the book "Object Land", downloaded all the free books > > and Squeak (ordered the DVD too), and joined the list. But I'm still > > having trouble narrowing down a thesis topic to present to my adviser > > (for adjustment I'm sure). > > > > Anyone have any suggestions for a thesis topic? Maybe there is some > > part of Squeak that the community would like > > documented/researched/implemented. P2P gaming/collaboration using > > Croquet sound interesting (Croquet has a great deal of potential), but > > I'm pretty open for suggestions. > > > > Thanks, > > Robert > > > > PS: As a working C++ developer it will take a while for me to finish > > the thesis and my masters. > > > > |
In reply to this post by Daniel Vainsencher-3
sounds cool!
Some other topics Secure and open Squeak. (erights but better) Looking Erlang, emerald and getting a new distributed langage New ways to browsing code implementing a squeak vm on top of pepsi if you want more on language ask.... Stef It seems to me that you have fun.... keep doing that. > Under languages: > > > A new kernel for Squeak, based only on Traits (no inheritance). > > > Why? > > > 1. Writing a kernel for Squeak should be challenging and a little > mindbending. > > 2. I am quite sure that it is possible to create something easier > to understand than the current kernel, which uses both inheritance > and traits. > > 3. Seems quite likely to me that it would allow to simplify other > parts of the system, because if done right it would allow to have a > variety of things that are somewhat similar to classes without > duplication of code. For example, a representation of a version of > a class that is not currently loaded (useful for versioning > systems) has some of the functionality of a class (same state), but > lacks other functionality (cannot create instances). > > > Daniel > > > Robert Stehwien wrote: > >> I've been primarily a Windows C++ developer for 12 years with a >> little >> Java, Perl, Python, and lately Ruby along the way. I've never looked >> at line of Smalltalk until recently. But that all changed when I >> decided to get a Masters in CS and since a PhD isn't out of the >> question write a thesis. >> >> When asked by a co-worker what my thesis topic would be, I said >> "maybe >> something with peer-to-peer, gaming, collaborative environments, 3D, >> education, visual programming, interaction design, or languages" (big >> list I know but somewhat ordered). I started digging around and >> noticed a pattern... Smalltalk, Squeak, Croquet, and Seaside kept >> coming up (although it took a little while to notice the mouse icon >> and 3d bunny. >> >> So I've ordered the book "Object Land", downloaded all the free books >> and Squeak (ordered the DVD too), and joined the list. But I'm still >> having trouble narrowing down a thesis topic to present to my adviser >> (for adjustment I'm sure). >> >> Anyone have any suggestions for a thesis topic? Maybe there is some >> part of Squeak that the community would like >> documented/researched/implemented. P2P gaming/collaboration using >> Croquet sound interesting (Croquet has a great deal of potential), >> but >> I'm pretty open for suggestions. >> >> Thanks, >> Robert >> >> PS: As a working C++ developer it will take a while for me to finish >> the thesis and my masters. >> > > > |
In reply to this post by Robert Stehwien
> Anyone have any suggestions for a thesis topic? Maybe there is some
> part of Squeak that the community would like > documented/researched/implemented. P2P gaming/collaboration using > Croquet sound interesting (Croquet has a great deal of potential), but > I'm pretty open for suggestions. > My thanks for the flood of topics. I've had a chance to do some reading on each, but I'll need to take some time this weekend to read more in depth and respond to more of the suggestions. There are certainly some good topics available, more than I can possibly do in one masters but that is promising in itself. --Robert |
In reply to this post by Robert Stehwien
> Date: Wed, 13 Jun 2007 22:40:44 +0300
> From: [hidden email] > To: [hidden email] > Subject: Re: Fishing for a CS Masters Thesis Topic > > Under languages: Also under languages: What I would personally like to see worked on is having a better language to fill the systems programming roll. Right now everything converges on C/C++. There are higher level languages that are used to systems programming (e.g. Slang), but as far as I know they *all* convert to C. The GCC project has the ability to take an AST directly to convert to machine code, but this is also constrained by what C is capable of. What I would like to see is some other language used for this "portable assembler", but without the assumptions and limitations of C [1]. Instead of deciding that added complexity is the solution (e.g. C++) I would like to see a language that looked to simplicity. Personally, I was thinking of a Lisp language for this roll because Lisp is the only language I am aware of (a useful one anyway) that is actually *simpler* then Smalltalk. I think powerful Lisp macros would also make it possible to build abstractions on top of the very low level primitives so that you don't have to do thinks like do a function call setup unless you didn't like any of the available options. [1] Some of the limitations I was thinking of are things like the stack-based method of doing function calls and the inability to catch overflow, but I'm sure there are even more. Thanks, Jason Live Earth is coming. Learn more about the hottest summer event - only on MSN. Check it out! |
>> of.What I would like to see is some other language used for this
>> "portable assembler", but without the assumptions and limitations of C Hey, I'd settle for a language that didn't encourage buffer overruns.... |
In reply to this post by J J-6
another great limitation of C, like in other strictly typed languages,
is inability to construct a calls to a dynamically prototyped function at runtime and lack of of type info. Even templates in C++ doesn't solve this problem - you still need to know all the types of function parameters at compile time, and there's no ways to construct and call them at runtime. On 20/06/07, J J <[hidden email]> wrote: > > > Date: Wed, 13 Jun 2007 22:40:44 +0300 > > From: [hidden email] > > To: [hidden email] > > Subject: Re: Fishing for a CS Masters Thesis Topic > > > > Under languages: > > Also under languages: > > What I would personally like to see worked on is having a better language to > fill the systems programming roll. Right now everything converges on C/C++. > There are higher level languages that are used to systems programming (e.g. > Slang), but as far as I know they *all* convert to C. The GCC project has > the ability to take an AST directly to convert to machine code, but this is > also constrained by what C is capable of. > > What I would like to see is some other language used for this "portable > assembler", but without the assumptions and limitations of C [1]. Instead > of deciding that added complexity is the solution (e.g. C++) I would like to > see a language that looked to simplicity. Personally, I was thinking of a > Lisp language for this roll because Lisp is the only language I am aware of > (a useful one anyway) that is actually *simpler* then Smalltalk. I think > powerful Lisp macros would also make it possible to build abstractions on > top of the very low level primitives so that you don't have to do thinks > like do a function call setup unless you didn't like any of the available > options. > > [1] Some of the limitations I was thinking of are things like the > stack-based method of doing function calls and the inability to catch > overflow, but I'm sure there are even more. > > Thanks, > Jason > > ________________________________ > Live Earth is coming. Learn more about the hottest summer event - only on > MSN. Check it out! > > > |
For specifics, you might look at other academic papers presented at C5.
http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/proceedings/&toc=comp/proceedings/c5/2007/2806/00/2806toc.xml http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/proceedings/&toc=comp/proceedings/c5/2006/2563/00/2563toc.xml Many papers have a section for suggested further research. If you select one of those, you'd have some clearly done prior work to build on top of as well as an academically sound direction of where to take it. Next year's C5 is in France if that's close to you. http://www.cm.is.ritsumei.ac.jp/c5-08/index.php?Home http://www.cm.is.ritsumei.ac.jp/c5-07/ http://www.db.soc.i.kyoto-u.ac.jp/c5-06/ |
In reply to this post by Igor Stasenko
Hi!
> another great limitation of C, like in other strictly typed languages, > is inability to construct a calls to a dynamically prototyped function > at runtime and lack of of type info. > Even templates in C++ doesn't solve this problem - you still need to > know all the types of function parameters at compile time, and there's > no ways to construct and call them at runtime. Would you mind to elaborate on this? Do you mean having a kind of perform: in a statically typed language ? Alexandre > > > On 20/06/07, J J <[hidden email]> wrote: >> >> > Date: Wed, 13 Jun 2007 22:40:44 +0300 >> > From: [hidden email] >> > To: [hidden email] >> > Subject: Re: Fishing for a CS Masters Thesis Topic >> > >> > Under languages: >> >> Also under languages: >> >> What I would personally like to see worked on is having a better >> language to >> fill the systems programming roll. Right now everything converges >> on C/C++. >> There are higher level languages that are used to systems >> programming (e.g. >> Slang), but as far as I know they *all* convert to C. The GCC >> project has >> the ability to take an AST directly to convert to machine code, >> but this is >> also constrained by what C is capable of. >> >> What I would like to see is some other language used for this >> "portable >> assembler", but without the assumptions and limitations of C [1]. >> Instead >> of deciding that added complexity is the solution (e.g. C++) I >> would like to >> see a language that looked to simplicity. Personally, I was >> thinking of a >> Lisp language for this roll because Lisp is the only language I am >> aware of >> (a useful one anyway) that is actually *simpler* then Smalltalk. >> I think >> powerful Lisp macros would also make it possible to build >> abstractions on >> top of the very low level primitives so that you don't have to do >> thinks >> like do a function call setup unless you didn't like any of the >> available >> options. >> >> [1] Some of the limitations I was thinking of are things like the >> stack-based method of doing function calls and the inability to catch >> overflow, but I'm sure there are even more. >> >> Thanks, >> Jason >> >> ________________________________ >> Live Earth is coming. Learn more about the hottest summer event - >> only on >> MSN. Check it out! >> >> >> > -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. |
On 22/06/07, Bergel, Alexandre <[hidden email]> wrote:
> Hi! > > > another great limitation of C, like in other strictly typed languages, > > is inability to construct a calls to a dynamically prototyped function > > at runtime and lack of of type info. > > Even templates in C++ doesn't solve this problem - you still need to > > know all the types of function parameters at compile time, and there's > > no ways to construct and call them at runtime. > > Would you mind to elaborate on this? > Do you mean having a kind of perform: in a statically typed language ? > implemented in C++ boost library.. this is overkill for such simple task. |
Free forum by Nabble | Edit this page |