Domain: sourceforge.net
Stories and comments across the archive that link to sourceforge.net.
Comments · 31,462
-
Re:Gaim?
OK, I thought I wasn't going to get into this, but I can't resist.
First, let me say that I'm a mostly-happy GAIM user. I use it primarily on Linux, but I use the Windoze port as well. Most of my friends are on Yahoo Messenger, so let's take some examples from there. Others will be more generic complaints.
1. The official Yahoo client lets me log in invisibly. This is incredibly useful when you want to check your IM's, check the status of others, or hold a one-on-one chat and don't want a bunch of people pestering you all at once. GAIM forces you to log in, then change your status to invisible. That's a dead giveaway to anyone watching that you're actually online, but "hiding." This is a perfect example of developers who write reasonably good code but don't actually put any thought into how people use the application. Trust me, when you have a bunch of people on your contact list, some of whom you want to talk to much more than others, you want to be able to log in invisibly.
2. Every official IM client I've ever used allows me to send an IM with <tab><space>. <tab> shifts the focus from the text entry field to the "Send" button, and presses the Send button. And that's how I'd been doing it for years. This doesn't work in GAIM, though! Oh, heavens no! GAIM, in its infinite wisdom, inserts a tab into my text when I hit the tab key. Have you ever wanted to insert a tab into an IM? Do you know anyone who has? Me either. So where's the harm in making <tab> shift focus like it does in every other application??? None, that's what! But as it stands now I was forced to retrain myself when a few lines of code could have solved this problem. Again, programmers writing code without thinking about how people use the program.
3. No Yahoo video or voice support, even though the code exists for it. I hang out on a message board with a chat room where lots of people there use YM to send video to each other. Some of these people are women who will show me their boobs (for free, even!) You can see why this matters so much to me.
4. Status/"Away" messages: With official IM clients, I can set my "away" status to just about anything I like, quickly and easily. In GAIM, I'm forced to create a a new custom away message through a long series of menu clicks. Then if I want to use it, it forces me to keep a stupid dialog box on the screen, or minimized to the task bar, with a stupid "I'm back!" button. This might work if "Away" messages were exclusively used for telling people that you're not at your keyboard, but nobody actually uses it that way! Hell, when I lived with my ex-girlfriend and her teenage kids, they'd use their status messages to tell their friends every time they did anything, or just to put up stupid messages to amuse people. I used to do the same sort of stuff when I had the official Yahoo client. But most of all, sometimes you just want to appear to be away when you're really not (a variation on the logging-on-invisible theme above). I don't want a stupid dialog box hanging around just because I changed my status to something other than "I'm here!" Once again, programmers write good code, but they don't put any thought into how people actually use the software. Are you starting to see a theme here?
5. While we're on the topic of status/away messages, why doesn't GAIM reflect my away status visually? The system tray icon should change, at minimum, as should the icons in my buddy list for the various IM networks (YM, ICQ, etc.) depending on my status in those individual networks. I realize that the question of which status to display in the system tray comes up when you set a different status for different IM networks, but how the hell often does anyone do that? I'm going to guess that most people want their status to be consistent across the board 99.8% of the time, so whatever hack you implement to deal with the 0.2% will just have to do.
I could go on, but those are my major complaints. -
Re:Linux Instant Messengers
whilst not the solution,
it is possible to have extra nows when interfacing Yahoo via Gaim-vv
You can see Video - but not send yet.
Apparently you can send and receive voice and video - pyChat.
But I couldnt get it to work on Fedora, yet - might have another go soon.
Hence, it is not impossible for one day, to have as much stuff as you have with the Windows counterpart.
Some ports like Skype are not wildly different from the Windows version; most stuff are still there.
So, I am sure Yahoo (and others) could if they really wanted produce an almost identical client in Linux.
But even offering a limited port and letting the protocol be open - its already a blessing
in a pretty much Microsoft-led, Anti-Linux environment which is the computer entertainment industry. -
16 years old schoolgirls ?
Most of them don't understand the needs of users, especially not when these users are 16 year old highschool girls.
16 years old highschool grils ? Now, with *THAT* you're sure to bring a lot of developpers in the OSS IM world !!!What's worrying is not that gaim is such a primitive tool but that its developers are pretty pleased with it. Where's the ambition to implement some cool stuff? Where's the ambition to go beyond what microsoft is doing?
There, maybe ? (Summer of love with 16 years-old ?... No, wait. It's summer of code. Damn !)
(Ok, I must admit : as gaim mostly connects to either proprietary or standarised protocols, there's less room for improvement involving "c00l n3w flashy options")But at the end of the day Microsoft looks at apple and not at linux to see what features to clone.
You mean like firefox's pop-up blocking or tab browsing features ? (to be featured in IE7)
Or OpenOffice.org's integrated PDF export ? (to be featured in MS-Office Vista)
(ok, i must admit, firefox and openoffice aren't the only one to implement this before microsoft. Opera was among the first with tabbed browsing ...) -
gaim has it's ups and downs
Actually, I became rather enamoured with gaim after I was running Knoppix for a month (long story), and it was one of my bigger incentives to actually get around to installing a distro of Linux. Unfortunately, I seem to have mucked up something and I keep getting problems with su and sudo, the kinds that make it pretty hard to actually install the gtk+ libraries that one needs to get gaim to actually compile . . . I suppose it wouldn't have been a problem if I hadn't gone with Kubuntu 5.10 preview, indeed just going with pure Ubuntu probably would have been far smoother (there were various other problems), but I feel reluctant to give up KDE! Maybe I should just repent and embrace gnome.
Whatever, point is that I can certainly nod my head to problems with gaim, though mine were with installing instead of upgrading, but just consider that an addition to the same body of objections. On the other hand, though yeah there are some things that gaim can't do, I would firstly second parent's example of how gaim can actually be much simpler for the common user (the example of the parents--hmm, conflict of terms here), and honestly, don't anyone try to argue that simplicity doesn't affect the average young user as well. One of the reasons so many younger people use MSN is 'cause, hell, they don't even have to install it at first for the most part, and then it beats them over the head with links to download updates and everything. The "tech-savvy" generation isn't actually that tech-savvy, they're just really used to memorizing instructions without understanding them, so they figure out how these IM clients work in very linear fashions.
And TFA. Sheesh. In my experience gaim worked great with pictures, and surprisingly flawlessly with file transfers (which trumps Trillian, which seems to be off-and-on depending on the update and the specific protocol). And why complain about this lack of "modern tools" keeping gaim in "1999-2000", when things like gaim-vv being merged with the main gaim codebase are happening? TFA sounds like whining to me, and parent is the only one that seems to have good objections to linux IM clients that I've seen today. -
Re:The article misses the point
Ya mean UPnP NAT traversal like this? http://gaim.sourceforge.net/summerofcode/adam/
-
Re:Custom emoticons
aMSN has the custom emoticons feature. You can download it at http://www.amsn.sourceforge.net/. You'll need Tcl/Tk to run it.
-
Re:Overlooked something
And if it doesn't support skinning, why hasn't anyone written skinning support into Gaim yet?
No, Gaim does not support skins. If you really want to know the good reasons for this design decision, you could check out the developers words on the topic.
-
Re:What about voice ?File transferes to MSN and Yahoo! used to be painfully slow
... to the point where people would cancel on the other end because they lost patience. This seems to have improved a LOT in the recent versions, so if you still don't get good file transfer ... upgrade.The two biggest things I've noticed lacking are Nudges and voice/webcam stuff.
Nudges and can more than happily live without.
Voice/webcam support was attemted with an offshoot called gaim-vv (vv == voice and video). But that project has officially been laid to rest with a final note implying that some of the developers will try to merge the work into a later release of gaim.
There are also a lot of pluggins for gaim to support everything from rss to encryption. If you really desperately want a feature, leave a not on the "feature requests" thread of the sourceforge project page on sourceforge. Or if you're desperate and skilled, try to write it up yourself
... this is open source. -
Re:What about voice ?File transferes to MSN and Yahoo! used to be painfully slow
... to the point where people would cancel on the other end because they lost patience. This seems to have improved a LOT in the recent versions, so if you still don't get good file transfer ... upgrade.The two biggest things I've noticed lacking are Nudges and voice/webcam stuff.
Nudges and can more than happily live without.
Voice/webcam support was attemted with an offshoot called gaim-vv (vv == voice and video). But that project has officially been laid to rest with a final note implying that some of the developers will try to merge the work into a later release of gaim.
There are also a lot of pluggins for gaim to support everything from rss to encryption. If you really desperately want a feature, leave a not on the "feature requests" thread of the sourceforge project page on sourceforge. Or if you're desperate and skilled, try to write it up yourself
... this is open source. -
Re:How about AMSN?
Grab it from CVS for now, aMSN is good eats. http://amsn.sourceforge.net/
Note: You will need to compile something to make it work from CVS, even after you have the deps. (Which should be expected from CVS) -
Re:gaim works for me, but loses ground from here
Uh, yes.
From the website:
Gaim users can log in to multiple accounts on multiple IM networks simultaneously. This means that you can be chatting with friends on AOL Instant Messenger, talking to a friend on Yahoo Messenger, and sitting in an IRC channel all at the same time.
It's really not that hard to, you know, go to the web site and READ about the product. /. is not your personal research assistant. -
Gaim Summer of Code
I think its ironic that this article made Slashdot at the particular time. Gaim's summer of code had projects ranging from Yahoo Whiteboard support, to better file transfers, to group editing of text files/images/music. Also support for audio VoIP. There is also a webcam plugin in the works for gaim as well [though I'm uncertain for which protocol(s) they are aiming at. It is for exactly these features that gaim hasn't released a new version in much longer than their normal development cycle. In perhaps a few weeks most of these complaints [as well as many other advantages like dbus and fixed perl interfaces] will be irrelevant.
-
Gaim Summer of Code
I think its ironic that this article made Slashdot at the particular time. Gaim's summer of code had projects ranging from Yahoo Whiteboard support, to better file transfers, to group editing of text files/images/music. Also support for audio VoIP. There is also a webcam plugin in the works for gaim as well [though I'm uncertain for which protocol(s) they are aiming at. It is for exactly these features that gaim hasn't released a new version in much longer than their normal development cycle. In perhaps a few weeks most of these complaints [as well as many other advantages like dbus and fixed perl interfaces] will be irrelevant.
-
Gaim Summer of Code
I think its ironic that this article made Slashdot at the particular time. Gaim's summer of code had projects ranging from Yahoo Whiteboard support, to better file transfers, to group editing of text files/images/music. Also support for audio VoIP. There is also a webcam plugin in the works for gaim as well [though I'm uncertain for which protocol(s) they are aiming at. It is for exactly these features that gaim hasn't released a new version in much longer than their normal development cycle. In perhaps a few weeks most of these complaints [as well as many other advantages like dbus and fixed perl interfaces] will be irrelevant.
-
Gaim Summer of Code
I think its ironic that this article made Slashdot at the particular time. Gaim's summer of code had projects ranging from Yahoo Whiteboard support, to better file transfers, to group editing of text files/images/music. Also support for audio VoIP. There is also a webcam plugin in the works for gaim as well [though I'm uncertain for which protocol(s) they are aiming at. It is for exactly these features that gaim hasn't released a new version in much longer than their normal development cycle. In perhaps a few weeks most of these complaints [as well as many other advantages like dbus and fixed perl interfaces] will be irrelevant.
-
Gaim Summer of Code
I think its ironic that this article made Slashdot at the particular time. Gaim's summer of code had projects ranging from Yahoo Whiteboard support, to better file transfers, to group editing of text files/images/music. Also support for audio VoIP. There is also a webcam plugin in the works for gaim as well [though I'm uncertain for which protocol(s) they are aiming at. It is for exactly these features that gaim hasn't released a new version in much longer than their normal development cycle. In perhaps a few weeks most of these complaints [as well as many other advantages like dbus and fixed perl interfaces] will be irrelevant.
-
Gaim Summer of Code
I think its ironic that this article made Slashdot at the particular time. Gaim's summer of code had projects ranging from Yahoo Whiteboard support, to better file transfers, to group editing of text files/images/music. Also support for audio VoIP. There is also a webcam plugin in the works for gaim as well [though I'm uncertain for which protocol(s) they are aiming at. It is for exactly these features that gaim hasn't released a new version in much longer than their normal development cycle. In perhaps a few weeks most of these complaints [as well as many other advantages like dbus and fixed perl interfaces] will be irrelevant.
-
Re:gaim works for me, but loses ground from here
Yes. Download it and try it out. There's a windows version as well...http://gaim.sourceforge.net/
-
A Lame Gaim Claim"Their interfaces are terrible. Moreover, all you can do with them is write basic IMs."
From http://en.wikipedia.org/wiki/Gaim
Features:
- Tabbed message windows for easy switching of conversations Accounts option allows user to log on as many different accounts at once as desired
- Transparency support via a plugin for conversation and buddy list windows (only under Microsoft Windows)
- Aliasing nicknames by real name of user
- Grouping different buddies that are really the same person into a "contact" [2]
- Logging conversations and messages supported [3]
- Buddy Pounce feature pops up notifications or plays a sound when a user changes status [4]
Plugins:
Gaim supports plugins for RSA and GPG encryption, as well as Off-the-record messaging.
See GAIM plugins: http://gaim.sourceforge.net/plugins.php/
More info about GAIM: http://www.everything2.com/index.pl?node=GAIM -
Gaim?Apparently they've never heard of gaim. http://gaim.sourceforge.net/ It supports all the major protocols, file transfers, emotes, icons. I've been using it for years and it works great.
What *hip* thing doesn't have?
-
Don't miss the FAQ
Read the FAQ.
They are explaining why they open the code and why they choose the GNU GPL.
I think that using the GPL is the only way for them to reuse features of Inkscape and other free projects that are missing from their product. We can ask ourself if they are not wanting to divert the Inkscape community.
However if the performance of their engine is as good as they claim, there maybe some interesting bits. Too bad cairo will not be to use some of them (Cairo is distributed under LGPL).
We can also expect them to contribute to the wxWidgets project at it is the library they choose for GUI components. -
Verizon is horrible about this
Verizon has consistantly pissed me off since I got their service, they've killed Kannel on their network, upgraded to prevent hacking the GetItNow service, and the only way to add custom anything is to locate an impossible to find cable & hack it using BitPim
Sure, you CAN add custom photos and ringtones, which I might do if I had to pay ONCE for, but Verizon charges a monthly fee just for having them on your phone. It's a blatent ripoff and I got tired of being fucked by Verizon.
I don't have any input on them crippling bluetooth, but frankly it doesn't suprise me. This company is a shit providor and I don't understand why anyone has their service. I'm sure they will offer better Bluetooth enabled devices, with many new features, as long as you pay X amount per month to have them enabled, and a fee for using them, and the fee for airtime, and the activation fee, and ... -
Re:Finally..
"I've always wanted to install Yahoo Messenger because I don't want to limit my contact list to MSN Messenger only."
Have you tried GAIM ?
http://gaim.sourceforge.net/
Not only does it support MSN and Yahoo, its also supports others like irc and icq transparently from within the same application. That makes it even better in my book! -
Re:Could some IM maker finally allow roaming..I wrote Organizator with this in mind. Unfortunately I did not have enough time to make the modules to connect to the other IM services.
Any help in coding those would be appreciated. The project license is GPL, programming language Java.
-
At least gaim will be able to keep accessing MSN..
..through yahoo.
So even if gaim can't access msn directly it will work through yahoo. -
Coming soon to Gaim
http://gaim-vv.sourceforge.net/
LATEST NEWS:
Oct 07, 2005 - Forward potr of gaim-vv 1.2.0 to gaim cvs head is working. I would like to clarify that gaim-vv isn't completely dead, we're working on merging with gaim. There will be no further gaim-vv releases, as code will be added to the main gaim program.
For those who don't know gaim-vv was a friendly fork to get stuff like webcams working - last release allowed users to view webcams from MSN, yahoo -
KDE/Baghira is Free alternative to MAC OSX
-
Re:If they do it under the GPL
I was having the same opinion until I read mailing list on Inkscape about this. Talk about one sided canibailzing without prejudice (would take theirs, but hell no, they won't resell mine).
http://sourceforge.net/mailarchive/forum.php?threa d_id=8520852&forum_id=36054
p.s. Last comment (or it was last at the time I read was probably the only inteligent comment, about shared LGPL libraries) -
Re:Missing...
I wasn't aware it was 2004. =)
Instead of selling your laptop, however, you might want to pick up a $15 PCMCIA (RTL 8180 chipset) card.
ndiswrapper works quite well with it, and http://rtl8180-sa2400.sourceforge.net/ worked perfectly on Slackware 10.2 (don't have to recompile your kernel or anything. comes with a script that'll load the drivers for both 2.4.x and 2.6.x) -
Re:ATI MMC, alternatives, my 2 cents, etc.
grolschie: Have you ever used MediaPortal? I am currently researching it. You can read my forum post.
-
Re:MCE for me, unfortunately(Links fixed.)
Another great option is the Hauppage MediaMVP. The guys over at MVP Media Center (MVPMC) have ported a mythtv client to it, as well as a replay client, nfs, and other useful transports. It's as thin a set top box as you could ask for (about the size of DSL modem) and costs $80 US (I've heard rumors as low as $40).
Radio Shack has them (or had them, at least) on clearance for ~$40. This link will tell you if any stores near you still have them available.
I picked one up last week. It was fairly easy to get it talking to my MythTV box (just needed to tweak the DHCP server settings a bit and set up a TFTP server to push the mvpmc image out to it), but it crashes my backend when it stops playing video. I don't know if I have a version mismatch somewhere or if I'm doing things the wrong way on the MediaMVP end. Playback quality was fairly decent while it was running, though, and it'd be more convenient than running the MythTV frontend on a computer because it already has a remote control.
-
Media portal is MythTV for windows but ... BETTER!
http://mediaportal.sourceforge.net/
it is open source and :
General
Flexible XML based skinning engine - Create your own skins, or choose one of the available skins !
Extendable via plugins. Media Portal can easily extended with extra plugins. Plugins can be overlay windows, modules, tag readers, players,...
Time, Date
Dynamic keymapping. You decide which keys you want to use for which actions
Remote Controller support (using an external program like girder)
Switch between graphics & LiveTV as background when browsing the menus
Internal support for several remotes (streamzap, MCE, redeye, winlirc, hauppauge, FireDTV)
Mediaportal comes with opensource MPEG2 audio/video codecs, written by Media Player Classic
Topbar support for basic remote functions
Windowed and fullscreen support
My TV
and so on... ;) (Your comment has too few characters per line (currently 33.9)) -
Get the 4.x upgrade for your DirecTivo Series 2
Upgrade your Series 2 DirecTivo to the 4.x OS and you'll get most of what you'd want or need on your $99 Tivo box without having to shell out for a new system.
There's excellent documentation on how to do this over at Weethet Tivo 4.x for DirecTivo. It'll cost you about $25 for the OS and toolkit.
This hack will open up the Home Media Option functionality which allows you to serve up music, images, movie listings, webcam images, podcasts and more through your Tivo from other servers on your network. Why dedicate a much more expensive server to be a media center when you can just stream it through your Tivo box? To get output to your TV you have to buy pricy tuner cards / video cards to replicate the basic Tivo functionality. Then you have to muck around configuring it all to make that Tivo equivalent functionality family friendly. Your time is better spent adding functionality to the open source JavaHMO app you'll run on other boxes on your network to serve up all those extra goodies. A side benefit of the hack is that now you can put on TivoWeb(plus) and other apps on the box to allow you to control it over the web; and you can even stream out recorded shows to PCs.
The only drawbacks I've found so far are that 1) the channel locking functionality appears to be broken so I can't lock the kids out of Nickelodeon, and 2) JavaHMO is a little buggy so it intermittently isn't able to retrieve some images and web pages.
But the menuing system into my 1000+ songs works great and we've been using that a lot since the hack. Plus the USB 2 driver update allows me to pull down shows 4-5x faster than before. -
Re:MCE for me, unfortunately
Another great option is the Hauppage MediaMVP. http://www.newegg.com/Product/Product.asp?Item=N8
2 E16815116617 The guys over at MVP Media Center (MVPMC) http://mvpmc.sourceforge.net/idx.php?pg=main have ported a mythtv client to it, as well as a replay client, nfs, and other useful transports. It's as thin a set top box as you could ask for (about the size of DSL modem) and costs $80 US (I've heard rumors as low as $40). The forums are active and help is easy to come by and friendly (unlike the MythTV forums at times). Heck of a lot easier, cleaner, smaller, quieter, and cheaper than a DIY box. I almost prefer it to my normal mythfrontend at this point. -
TiVo Too
Galleon and other projects provide many of these functions (such as weather) to your off-the-shelf network-connected TiVo
-
Re:Shhh! They might wise up...
Admittedly it needs a plugin, but it does work quite well. If you're curious there's more info at http://sourceforge.net/projects/httpmail-plugin.
-
What about MediaPortal?
I see they wanted Windows only, why didn't they include http://mediaportal.sourceforge.net/MediaPortal? It is open source, has the features they want, and runs on XP. Now, if someone (anyone) could include QAM support, I would be all set.
-
Great timing on the topic
I'm shopping for DirecTV now, and was amazed that their 'free' PVRs come with a monthly fee! While the software PVRs get better and easier to install, I'm going to go that route to be free of fees and restrictions. So, the million dollar question, which is the best bet right now:
http://freevo.sourceforge.net/
or
http://www.mythtv.org/
or is there another option I'm missing? -
Understand for C++ and Source-Navigator
We are evaluating some tools along these lines. The ones we liked most are RedHat's Source-Navigator (GPL) and Scitool's Understand for C++ ($$$).
Sorce-Navigator seems to be slow compared to Understand C++, I'm sure this has to do with the way they index the DB. On the other hand, the Linux version of Understand C++ needs some polishing IMHO (too many crashes on Debian/serge).
As for report-generating tools that just index and cross-reference the whole project, Gonzui is a pretty good one.
-
Understand for C++ and Source-Navigator
We are evaluating some tools along these lines. The ones we liked most are RedHat's Source-Navigator (GPL) and Scitool's Understand for C++ ($$$).
Sorce-Navigator seems to be slow compared to Understand C++, I'm sure this has to do with the way they index the DB. On the other hand, the Linux version of Understand C++ needs some polishing IMHO (too many crashes on Debian/serge).
As for report-generating tools that just index and cross-reference the whole project, Gonzui is a pretty good one.
-
Re:Flowcharting might help
C-Scope is a cool, free, class browsing tool that can make vi feel like a full-featured IDE. If you're an OS kind of person, take a look at this before you jump into the commercial tools.
-
I'm assuming that you have the source as a guideMy assumption is that you're to reverse engineer the software, but have been given fragments of the source as a guide, yet still have to show your methodologies so as to prove that you didn't just re-write the source.
I'd start buy actually reading the source - building it if you can. Run profilers on it and try to get some kind of visual representation of the underlying code tree. If you have source, try using something like DOXYGEN to autogen some documentation (and structure) out of it. Someone mentioned Rational - you can get a trial license. Try to understand what the code does. For the most part games are straight forward, in that you have objects that have specific behaviours. You can try to establish the object hierarchies and see if you can redefine these to make more sense - or just be different.
For the fragments of source you don't have - try using tools such as truss to track flow of what is going on. GDB is your friend and you probably want to try running it through the debugger - especially if the extracts you were given were compiled without stripping the symbols. nm is also another useful one at trying to get an idea of the symbols in your binary and establishing 'from meaningful names' what on earth goes on inside.
Push your binaries through a disassembler like ldasm or datarescue - win. NASM also has a disassembler. Try and get a feel for what is going on.
Now comes the hardpart - it's not called reverse 'engineering' for nothing. You've done the reverse bit. It's now time to engineer a solution which shows that you've gone through the 'reverse' bit. It can be y our view on how the code should work. Don't be affraid to reuse resource files/bitmaps, etc. That's allowed. It's the code which counts. You'll probably find that the assignment gave you something which was sub-optimal, in either design or processing - or both. It's your turn to write it the way which it should have been written. I'll leave the 'team dynamic' to you. Don't let one person have all the fun. Probably you - it's good to give others a chance. See what people are intersted in and allocate the work load. Just be prepared to fix everyone's bugs the night before submission - it's not so bad - it's 'fun.'
-
If the robot needs a brain
http://www.scn.org/~mentifex/mind4th.html is a free artificial intelligence for your robothttp://mind.sourceforge.net/m4thuser.html is the User Mainual of the free AI Brain for robots.
http://en.wikipedia.org/wiki/Connectionism#Spread
i ng_activation is the principle of operation of the free AI Mind for robots.http://doi.acm.org/10.1145/307824.307853 is an ACM paper on the AI Brain from 1998.
http://doi.acm.org/10.1145/1052883.1052885 is an ACM follow-up paper from 2004.
http://www.914pcbots.com is where robot-builders discuss the AI Brain in the A.I. Zone forum. See you there.
-
Reverse engineering
>We have most of the source, but no clue of how to approach a task of this magnitude.
Reverse engineering is generally thought of as a "cleanroom" technique that involves having the binary and/or specification but not the source. If you have the source, then you're just reading/rewriting it (or perhaps just copying it and doing s/Old Name/Our Cool New Game That's Nothing Like Old Name/).
>Anyone have suggestions of programs, or techniques we could use to understand the structure of the game?
If it's mostly C, then you definitely need to get cscope, but that won't tell you where to start reading because it cannot resolve calls to function pointers. To get that information, you might also try running gprof.
Another neat trick is to compile the program and use nm to help map out object file dependencies. You'll want to use perl or something to create a database of where the symbols are defined and where they're imported. This can help you establish which files are the meat and which ones are the potatoes. -
Re:Reverse Engineer or Refactor/Port?
Yeah, the "most of the source code" part is a bit scary. If they really are talking about reverse engineering from executables they are in for a hell of a time. The state of the art is a project I work on now and then, Boomerang, and it isn't for the faint of heart. I've been hearing for years about people who are working on decompilation tools that are integrated into IDA Pro but I've yet to see it. The time where you can enter a binary, press a button and get back compilable, maintainable source code is still a long long way off. But that's good, friends of mine do commercial decompilation work.
-
Source navigator
http://sourcenav.sourceforge.net/
I like to use it when browsing through code, you can search and browse as much as you like. It will still take an effort though. -
For old games
I think DOSBox is more useful. It really does a good job on the old DOS stuff. The Windows stuff, well generally I find it'll run natively on XP with maybe a bit of tweaking.
Between DOSBox and what's built in, I rarely find an old game I can't run. DOSBox runs on Linux too.
http://dosbox.sourceforge.net/ -
Re:Virus Maker Ware?
DOSBox: http://dosbox.sourceforge.net/
Put one of those in a worm and run a few hundred copies of it on a Linux machine, then send MS the money... ;-) -
How to deal with flamebaitersWell, customer relations should be handled by the Customer Relations Department, whether open source or proprietary software. So that's a whole different course, in a different school, say the Public Relations course in the School of Business. For example, the "flamebait" reference below might tick off a Microsoft Word developer, would it not? So when you chat with Microsoft folks, they are paid and trained to deal with certain difficult customers. This avoids all sorts of possible harm, for example Steve Ballmer throwing chairs & whatnot.
"Why even bother with word processors these days when LaTeX is more than capable of the vast majority of document typesetting needs? It does take a bit longer to learn that Word, but everyone I know who has learned it has become far more efficient and can produce documents that are far more professional."
Then there was a question about when KOffice would run on Windows, with the "troller" seeming to know more than the developers, especially considering KDE itself already runs on Windows. Imagine going in front of Bill and questioning when Longhorn will be delivered?
-
Include Windows OSS, Cygwin, Knoppix & Eclipse
If your students are not running Linux, and their backgrounds are in the Windows and mainframe worlds, then it might be best to approach OSS from the Windows side. This is especially true if your student's are not willing to install Linux on their own boxen or on whatever they may use at their place of employment.
So, be sure to include Windows based OSS programs such as found on the Open CD and check out the the source forge osswin site at http://osswin.sourceforge.net/.
You need to give them a flavor of what Linux is like to be sure, so include Knoppix in the mix somewhere.
It sounds like your course will be for programmers. If so, then introducing them to Cygwin would be a good idea. You may even wish to run KDE under cygwin on Windows (see http://kde-cygwin.sourceforge.net/
For development tools you should cover the creating programs from the command line using make, etc., but also cover OSS IDE's -- Eclipse in particular would be a good one. And of course use g++ for C++ and Sun's java (I am not a purist so I think Java's Sun will suffice but Sun's Java is not regarded as true OSS, so you may need to find something else for Java.)
If you use g++ with cygwin on windows, then also consider introducing them to minGW so they can make their programs run natively on windows.
I run both windows and Linux at home, and prefer Linux. But at work I have to use a window box. I have cygwin with X installed and use both firefox and OpenOffice as replacements with no problems. I am posting to let you know about the windows possibilities because I beleive that you may encounter some resistance if you require your student's to run Linux. OSS on windows is a good way to introduce those who are new to OSS and Unix like file systems and tools to newbies.