13 Aug, 2009, JohnnyStarr wrote in the 21st comment:
Votes: 0
Runter said:
I think that's going to be a bad comparison by nature. RocketMUD is a Ruby port of socketmud. As such, it really will be a poor example for a properly made ruby mud.


Agreed, it has its purpose of course, but SocketMud is a light framework in C.
I do think it is a good example however of how to use non-blocking sockets. So perhaps you could nab some socket code here and
there, but seeings how Python is going to have it's own libraries, you might be better off creating a mimic base from TeensyMud.
13 Aug, 2009, Runter wrote in the 22nd comment:
Votes: 0
staryavsky said:
Runter said:
I think that's going to be a bad comparison by nature. RocketMUD is a Ruby port of socketmud. As such, it really will be a poor example for a properly made ruby mud.


Agreed, it has its purpose of course, but SocketMud is a light framework in C.
I do think it is a good example however of how to use non-blocking sockets. So perhaps you could nab some socket code here and
there, but seeings how Python is going to have it's own libraries, you might be better off creating a mimic base from TeensyMud.


Yeah, I don't mean it's trash. I just mean using it as a modern comparison of technology is flawed by nature. It was written to be a clone of socketmud and lacks most of the more interesting features of Ruby in its implementation. I think Tyche would agree.
13 Aug, 2009, quixadhal wrote in the 23rd comment:
Votes: 0
Sure, I agree that it won't be as good as a native implementation. However, there is something to be said for comparing the languages by comparing implementations of the same code. We know the code was written a certain way because it was done in C, and we have a ruby translation that shows how to do the SAME thing in ruby. I think a python version would be useful as one could compare it directly against both the ruby version, the original C version, and even the Java version I see is out there.

TeensyMUD is certainly a better example of ruby itself, but for folks who want to learn, solving the same problem the same way is a better rosetta stone, so to speak.

Of course, if someone wants to make something like TeensyMUD, but native to Python… that would also be cool. It would also be a slighly more ambitious project. For that matter, it would also be fun to see NakedMUD using ruby as its scripting engine.
13 Aug, 2009, Runter wrote in the 24th comment:
Votes: 0
quixadhal said:
Sure, I agree that it won't be as good as a native implementation. However, there is something to be said for comparing the languages by comparing implementations of the same code. We know the code was written a certain way because it was done in C, and we have a ruby translation that shows how to do the SAME thing in ruby. I think a python version would be useful as one could compare it directly against both the ruby version, the original C version, and even the Java version I see is out there.

TeensyMUD is certainly a better example of ruby itself, but for folks who want to learn, solving the same problem the same way is a better rosetta stone, so to speak.

Of course, if someone wants to make something like TeensyMUD, but native to Python… that would also be cool. It would also be a slighly more ambitious project. For that matter, it would also be fun to see NakedMUD using ruby as its scripting engine.


Well, I'll just respectfully disagree for the reasons I already mentioned. Making some type of silly competition to settle an even sillier "pepsi vs coke" thread by using a project already designed to mimic something in C (even with syntax) in one corner and in the other developing something designed for this competition doesn't actually settle anything. If a viewer actually wants to get some real information about both languages I suggest they actually work with both languages and then make their own judgment.
13 Aug, 2009, Idealiad wrote in the 25th comment:
Votes: 0
quixadhal said:
Of course, if someone wants to make something like TeensyMUD, but native to Python… that would also be cool.


As a matter of fact this exists in punymud, I believe. So you have your comparison already. Teensy/puny.
13 Aug, 2009, exeter wrote in the 26th comment:
Votes: 0
quixadhal said:
Lyanic said:
I just wanted to get the prolog interpreter to say Maybe.


It's possible to get ghc to say its "head just exploded," or some such. ;-)
13 Aug, 2009, Kelvin wrote in the 27th comment:
Votes: 0
Getting things back on track, check out wxPython for Python GUIs instead of using tk: http://www.wxpython.org/

I understand some people don't like the additional dependency, but I really can't stand tk for anything more than the most trivial of uses. If you're needing to do something more complex, try wxPython, pyGTK, or if you're not commercial, pyQt.
13 Aug, 2009, Lobotomy wrote in the 28th comment:
Votes: 0
Kelvin said:
Getting things back on track, check out wxPython for Python GUIs instead of using tk: http://www.wxpython.org/

I understand some people don't like the additional dependency, but I really can't stand tk for anything more than the most trivial of uses. If you're needing to do something more complex, try wxPython, pyGTK, or if you're not commercial, pyQt.

Are you speaking in terms of past versions of tk, or of the current version? I've been hearing so far, from various sources, that tk was improved significantly in their latest version as compared to previous versions, so I'm wondering if it still suffers from whatever problem(s) it may have that have you rating it below other GUI tools. Also, if there are particular differences between tk and other GUI tools (wxPython, etc) that you would care to describe, such as differences in capabilities, widgets, etc, then that would be useful information as well.
14 Aug, 2009, quixadhal wrote in the 29th comment:
Votes: 0
If you use the wx widget set, your GUI is supposed to work identically between various linux/unix-like platforms and windows. The other ones (GTK, Qt, etc) are available for windows, but stick out like a sore thumb when used on a windows platform.
15 Aug, 2009, exeter wrote in the 30th comment:
Votes: 0
Actually, the latest version of Tk (the one that ships with tcl 8.5) is quite powerful and reasonably good looking. For python apps, Tkinter is good enough these days that I think I'd only consider wx, Qt, or GTK if I wanted some of the non-GUI components those toolkits have to offer.

P.S. I plan to upload PocketMUD 0.1 later today.
23 Aug, 2009, Idealiad wrote in the 31st comment:
Votes: 0
So unless this is somewhere in the repository I haven't looked…any plans to still upload this exeter? I'm actually looking for something like a pocketmud right now, as I want a base without the concept of rooms in it to hack on.
24 Aug, 2009, Tyche wrote in the 32nd comment:
Votes: 0
quixadhal said:
Hmmmm, we have RocketMUD… is there a PocketMUD yet? Might be an interesting comparison.


PunyMud is Python version of TeensyMud (2.0).
24 Aug, 2009, Idealiad wrote in the 33rd comment:
Votes: 0
How fundamental are Rooms to Teensy though?
24 Aug, 2009, Tyche wrote in the 34th comment:
Votes: 0
Idealiad said:
How fundamental are Rooms to Teensy though?


Mmm… how fundamental is anything to 200 lines of code?

The code is quite comparable side by side: TeensyMud code + PunyMud code
24 Aug, 2009, Idealiad wrote in the 35th comment:
Votes: 0
Tyche said:
Mmm… how fundamental is anything to 200 lines of code?



Uhh…good point. :redface:

Looks pretty cool, thanks for the tip!
26 Aug, 2009, Idealiad wrote in the 36th comment:
Votes: 0
This isn't a big enough question to start a new thread, so I'm putting it here…

If I understand TeensyMUD correctly it's single-threaded. PunyMUD uses a Python module class ThreadingTCPServer and (from the readme) "uses threading to handle multiple concurrent connections". Sorry for the dumb question, but does this mean PunyMUD is multi-threaded (as is gone over in many single vs. multi threaded forum threads here and elsewhere), or is that a different beast altogether from what Puny is doing here?


eta: OK, I think I've figured this out…Puny is multi-threaded. Maybe a poor choice for a mud server that seems simple on the surface. There are other Python modules (such as asyncore, and maybe Twisted?) which would let you write a mud in the more standard (single-threaded) way.
26 Aug, 2009, Tyche wrote in the 37th comment:
Votes: 0
Idealiad said:
If I understand TeensyMUD correctly it's single-threaded. PunyMUD uses a Python module class ThreadingTCPServer and (from the readme) "uses threading to handle multiple concurrent connections". Sorry for the dumb question, but does this mean PunyMUD is multi-threaded (as is gone over in many single vs. multi threaded forum threads here and elsewhere), or is that a different beast altogether from what Puny is doing here?


They both use multi-threaded network code and spawn a new thread for each accepted connection.
Newer versions of TeensyMud use single-threaded network code.
20.0/37