Were anyone to contribute some articles on JGO, what would you like them to be about?

Let's get a list of dissertation titles together, and then we can vote on them to figure out which ones to get done first.

...which had a pretty positive response. An article (or two) was even written.

GergisKhan eventually even setup a wiki...but then JavaONE was coming, and SG begged us to wait...

I've just finished a chapter for a games-programming book on "Tens of Thousands of Clients per Server (using java)". All the references, anecdotes, knowledge, etc are fresh in my mind, and this would be a great time for me to write a useful article on java game-servers. There were lots of things I couldn't cover in the chapter for reasons of space and having to keep a tight focus . I could happily do a series of articles covering each of these sub-topics in detail.

So, I'd like to keep the ball rolling w.r.t. articles, and for starters I'm summarising the topics people suggested in Cas's thread (I've left some out because they were before people quite understood the question being asked - or else this list would be 100% longer with LWJGL articles...if I ought to include them all too, I'll edit this later):

I'm very pleased with what I have seen from Sun lately, even though there is much that needs to be fixed and updated and made simpler and a whole host of other things.

I already posted "Adam's guide to NIO" in the Wiki; is it ok? Does it need updating?

That said though, we now have some tools. Please, people, USE THEM. If you have articles or information, USE THE WIKI. A number of us fought hard to get that kind of stuff in place, and though we might not like the implementations, it IS better than nothing.

For myself, I will be documenting the odyssey of game creation on my end, with special emphasis on design, 2D graphics using (gulp) Swing and the standard Java libraries (because I am a lamer who hasn't yet learned OpenGL ), and other topics.... but it will take me some time to get to it.

One big thing we do need though: an alternative to the Shared Code forum, such that we can post code examples which might be large, to a CVS repo or some such. For example: I need to get the semi-cleaned up version of Jeff's Scroller Example up for others to see, but I have nowhere to put it.

I'd like to make some commentary here.I already posted "Adam's guide to NIO" in the Wiki; is it ok? Does it need updating?

Um, whilst in theory that's fine, actually could you please remove it? I understand you were only trying to help by posting it, but I'd rather it wasn't there: the formatting is screwed (most of the formatting has vanished), and it's a complete pain in the a*se to edit in the Wiki (so *I* won't be updating the Wiki copy), and at the moment it's not a complete document (so there are many changes pending).

If/when I produce a reasonably complete version, that would be a good candidate to go in the wiki.

Could you at least put a link to the original URL? ( http://grexengine.com/sections/people/adam/adamsguidetonio.html ) Trying to maintain it in the Wiki would defeat the original purpose. At the moment, I edit in a decent HTML editor (Find me a wiki with the power of Dreamweaver, and I'll be interested...), and save the file directly to the webserver (integrated filing system) from my desktop - I can open and edit files directly to/from that server.

This is not possible with the Wiki, and a Wiki makes life hard enough that the document wouldn't get updated much. The amount of time wasted by using a Wiki in this scenario means I wouldn't have any time to actually update the doc, since it's a doc I can only update in small bits of free time.

There's also the extra hassle that it's yet another login/password combo to remember. I wouldn't mind if it did something intelligent, like auto log you in as "guest" for the thousands of people who really don't care what "username" they have. Unfortunately Sun are obsessed with this stuff. Personally I'm so fed up with yet another completely pointless extra login that I can't be bothered to ask sun to mail my password - whatever I was going to do (e.g. this evening: edit the Wiki TCP/UDP page to contain a link to the big thread on the forums) I just give up and do something more useful with my life.

Quote

That said though, we now have some tools. Please, people, USE THEM. If you have articles or information, USE THE WIKI.

I'm not disagreeing, but I do have some questions on whether the Wiki is the best place for articles (my issues above do not apply to normal articles - they are specific only to the one doc mentioned, which is a special case):

What's the visibility of articles in a wiki? IME if a wiki gets any significant usage, a large percentage of content gets buried deeper and deeper and becomes harder and harder to find. This is inevitable as the volume of data increases. The only workaround is if there are one or more administrators keeping the structure up to date - and who maintain the structure as a cohesive whole (much like the roles of librarians: keep the data easy-to-find)

Also, I'm not sure what the point is of JGO Wiki for some things when existing Wiki's already do that. E.g. agora.cubik.org (which covers/should cover all networking for multiplayer games).

Articles typically benefit from having an author - editor - publisher cycle; if someone sets themself up as "the wiki-article editor/publisher" then I can see it all working. Otherwise, I fear it's just going to be chaos (with bad formatting and difficulty finding what you're looking for; we're already seeing 50% of this).

For example, the TCP vs UDP topic is currently really bad IMHO (enough so that it would be better if it weren't there). It headlines with the Xwing-vs-Tie-Fighter article which is not the right thing for people to read unless they already know well what they are doing - it's got inaccuraccies and misleading statements which are at best unhelpful

That said though, we now have some tools. Please, people, USE THEM. If you have articles or information, USE THE WIKI. A number of us fought hard to get that kind of stuff in place, and though we might not like the implementations, it IS better than nothing.

Of course, people won't write articles just because the wiki's there...they need to be prodded, and someone needs to create a consistent formatting / style etc. Realistically, this means a custom CSS stylesheet, plus guidelines on section headings etc.

...or else plain HTML formatting, but still with the content guidelines.

If you had a tool to convert the marked up html from DreamWeaver to the exact format to be pasted into the Wiki text area, would that be good enough for you? I think it could be done with a tiny amount of XSLT. That would only work of course if you were the only one editing the doc.. which is not really the way Wikis work. I direct link in the Wiki for that doc is probably more appropriate.

I do think the Wiki is the right place for this stuff.. but I also agree that over time information gets buried in a Wiki. We need more direct links to the good stuff. Then users can follow links from these main articles and get lost in the maze as they see fit.

And yes sun needs to consolidate all those darn logins... I "lost" my java.sun.com dev ID because of their recent changes and the inability to edit the ID I had.. during the conversion process I entered my email address with a typo and so it is lost forever because I can't change it without receiving email !:( Of course when I signed up for yet another ID all the reasonable IDs were taken and it was like making a AIM ID.. you might as well choose a random number between 0 and 8726349876987 that you will never remember... The multi-login thing is a complete mess as is the need to register on java.net to get anywhere... it only turns people away.

Great. I might edit something in the next X months, if I ever can be bothered to re-register yet another account. I tried registering "guest" and giving it a password of "guest" - but either someone has already done that and given it a hard to guess password, or the system is disallowing it.

Shrug. The harder it is to edit stuff in the Wiki, the less stuff will get edited.

PS I understand wikis - I have used a few before, when they were the appropriate tool for the job. I'm afraid that many wiki-advocates (I'm not saying this includes you!) don't understand that "organic evolution of a database" is NOT automatically a good thing - and in fact, it's usually a bad thing. This is OT, but relational databases were deliberately invented to prevent wiki-style growth, because the value of the database decreases exponentially over time if you allow this to happen.

The problem with RDBMS's is that they came to take over the world, and for the small number of situations where the loss in value would NOT occur, there wasn't any viable alternative. So, WIki's have their place; in the right situation, they are a great tool. However, the "Wiki way" is not perfect, and in the general case it is inferior to something more organized.

I'm not convinced it's right for hosting articles.

I DO believe there ought to be a wiki on JGO, because many of the problems with the forums would be solved if certain conversations took place in a wiki instead.

e.g. when the same topics come up again and again, and you have to read ALL versions of the same thread in order to get all the information out, because most posters only participate in one of the threads. A classic example is questions to do with hardware-accelerated images in Java2D.

If you had a tool to convert the marked up html from DreamWeaver to the exact format to be pasted into the Wiki text area, would that be good enough for you? I think it could be done with a tiny amount of XSLT.

I was thinking along similar lines myself...the only uncertain aspect I could see is whether twiki supports style-sheets? It's going to work but might look ugly if the wiki doesn't allow a style-sheet for the content of the page?

...or perhaps an XSL could convert "class = " attributes into wiki-specific styling commands? But this sounds like it would be far too much effort.

This is one of the unfortunate problems with wiki's - they partially attempt to replace XML (with their proprietary markup language), but XML has a lot more influence for document-exchange and markup. Personally, I hate using XML without an XML-editor, because too much typing is required - in this respect wiki-markup is much superior because of the reduced amount of typing. However, "Save as ... Wiki" is not going to be an option in text-editors any time soon .

I'd be surprised if there isn't a wiki somewhere that accepts XML as a submission format for updates?

The Java.net wiki supports entering of raw html. If you prefer those format codes go for it. I don't know if you can link an external style sheet but you can include style attributes in your html elements.

Comparing the importance of the structure of a DB vs structure in a wiki is comparing apples and oranges. Structure in human to human communication is less important than structure when processed by business logic. First, as one participant in a length conservation about this said to me: "people do not vomit structured thought". There is a basic level of structure at the language level, like the meaning of words and word types like nouns or verbs. But after that people are very good at inferring structure from largely unstructured communication. Thats all I'm gonna say about this topic because having spent 6 days in a rather intense conversation on this topic I'm tired of talking about it and rather confident in my position.

I used to think is was lame that Java.net required a login but that is how the Java.net community will defend itself so the minor inconvenience doesn't bother me.

For example, the TCP vs UDP topic is currently really bad IMHO (enough so that it would be better if it weren't there). It headlines with the Xwing-vs-Tie-Fighter article which is not the right thing for people to read unless they already know well what they are doing - it's got inaccuraccies and misleading statements which are at best unhelpful

I have started this page, so I would like to know what is exactly wrong with posting links to articles which talk about this subject ? TRIBES link give overview of working network model used in AAA game. Xwing-vs-Tie-Fighter tells a story about people who got burned because of not testing their network in real environment. If you think it has some innacuracies, please add few sentences to wiki page, warning about it. For me it has a basic benefit - it tells about experience of somebody who has actually made working game. But this is my opinion - power of wiki is that you can write next to it "This article is stupid because A, author is mislead because of B, better look here".

Anyway, I have done this page hoping that people would add some links, so we can later categorize and comment them. Some cases of successful UDP use, some cases where TCP is easier and better, etc.

Comparing the importance of the structure of a DB vs structure in a wiki is comparing apples and oranges. Structure in human to human communication is less important than structure when processed by business logic. First, as one participant in a length conservation about this said to me: "people do not vomit structured thought". ... Thats all I'm gonna say about this topic because having spent 6 days in a rather intense conversation on this topic I'm tired of talking about it and rather confident in my position.

OK. you don't want to talk about it. Rather than respond, I'll attempt merely to clarify. What do you think is the driver of structure in a DB? What do you think is the cause of it breaking down? If your DB is merely a list of sales-orders, entered by a computer program, without humans, then the structure never wavers.

It is only the DB's that record human-generated data - usually for the humans to retrieve - which have these problems. If you wish to understand further, investigate knowledge management. Some areas of data-mining (DM) encounter this same problem, but again only the human-sourced parts; much of DM is wading through computer-generated data instead.

You could also look into organizational databases (personnel-mgmt, which can be surprisingly complex given how simple it looks; the history of how LDAP came about is interesting), and "corporate knowledge" programs, where corporations try to discover what they "know" but unaware they know (because they have no over-arching structure across the organization that lets you find "all research papers on Asian internet usage" or equally random searches).

In summary, your confidence in your position is a wonderful thing; it is unfortunate that you are highly ignorant about much of the topic you are discussing. Rest assured that you are not alone - this stuff is only really well understood by the kinds of people who work with it; I myself only have a passing knowledge, exposed to me accidentally by some of the career moves I've made.

Sadly, similar ignorance combined (in some people) with evangelistic love of a Wiki often makes it extemely hard to explain to them that "yes, it's a nice technology but it isn't the solution to all data-management"...many people point out that when you have a sufficiently large hammer, everything in the world starts looking like a nail, and don't bother explaining any further, because explanations beyond that point are generally ignored, or countered with philosophic arguments like the one you outlined above.

I admit it irritates me that you could actually go and learn about the topic, and see for yourself why entire industries are devoted to the issues I highlited - but instead you're happy to come up with an irrelevant philsophical argument, on the grounds that it in some way trumps the need to do actual research, or be vaguely scientific in your approach. I'm afraid that I've failed to "merely" clarify what I was saying, probably because the ridiculousness of your statement proved too much not to respond to.

In summary, your confidence in your position is a wonderful thing; it is unfortunate that you are highly ignorant about much of the topic you are discussing. Rest assured that you are not alone - this stuff is only really well understood by the kinds of people who work with it; I myself only have a passing knowledge, exposed to me accidentally by some of the career moves I've made.

Please do not assert that you know about my technical background. You know as much about me as I know about you, which is pretty close to nothing.

If you want to disagree with my argument and state your position, then by all means do so. Attacking me based on unsubstantiated assumptions that your training and experience is better than mine or anyone else's doesn't contribute anything meaningful to this forum or just about any other discussion.

<chest thumping>As for some of my experience, I'm directly responsible for the three largest computing departments standardizing on DocBook for official technical writing. Other departments have since followed suit but that was without my involvement. Also, I'm the #3 and #4 man for LDAP and DB2 respectively for the University of Florida. Finally, when I worked at a reasonably sized bank one of the many tasks I had was to improve existing processes. The most significant improvement I can claim as solely my own was an internal change to the account data structures which made the computing part of the loan application process faster by an average of 1min 16sec in the week after that change was made. Yes that is an exact number, banks track all sorts of performance numbers in an effort to know how to make more money.

None of the above makes me an expert, but it is more than enough to demonstrate I'm not "highly ignorant" about the importance of structured data. I think it makes me knowledgeable enough to be considered above average in the set of people who might join a discussion such as this.</chest thumping>

I've replied privately to this. I don't think it's on-topic to continue this part of the conversation in the forum...suffice it to say that I didn't intend to be so provocative, and hopefully I can sort it out with leknor.

Quote

I have started this page, so I would like to know what is exactly wrong with posting links to articles which talk about this subject ? TRIBES link give overview of working network model used in AAA game. Xwing-vs-Tie-Fighter tells a story about people who got burned because of not testing their network in real environment.

It's only the Xwing article that I have issues with. The process that is related in an attempt to develop the network part of the game needs to be prefaced with "This is not only an example of how not to write a game, but also how not to even try to write a game. We made lots of mistakes, but fundamentally we were using a really bad development process whereby we didn't have the basic research before we started development - we were ignorant of some of the basics of the internet. Don't follow any part of our example. Learn to read RFC's and understand the typical parameters of network programming before you start".

It also contains advice and conclusions that are at best misleading and probably just wrong - some of these are due to the age of the article, but I suspect others are because of misconfigured networking systems (TCP is much much better than the author describes in the article; some problems he attributes to TCP are actually impossible with TCP, but he avoids going into detail so I can only guess at what they were doing wrong...).

I don't make any judgement on whether THEY had any other alternatives with their dev process; I like to imagine they knew better but were forced by necessity into doing things so badly.

I agree that the article does have value; but you need to be reasonably comfortable with what you're doing first - newbies are looking for methodologies as much as they're looking for answers and gotchas; the article is terrible on methodologies, OK on answers, and good on gotchas.

Quote

Anyway, I have done this page hoping that people would add some links, so we can later categorize and comment them. Some cases of successful UDP use, some cases where TCP is easier and better, etc.

As long as someone knowledgeable is overseeing it. I recall one of the things that used to (I don't read it any more) happen on slashdot: people saying that java was slow, and many others giving examples of real-life programs where it was really slow. All it needed was one competent developer to glance at each program and say "that's because you're an incompetent programmer, nothing to do with java"...

Networking is a specialist area of mine, and I have no problems not getting misled. But I see so much that would mislead me if I didn't know better that I worry that I can't trust the things I see from other areas I don't know so well. I'm inclined not to trust any article - especially nothing in a wiki (where there is usually no review prior to comments being published) - unless there's a guarantee of someone who knows that area reviewing it and making sure it's not just made-up rubbish.

OTOH (just to make sure this doesn't sound like a wiki-bash), if I'm looking for someone who is exploring ideas in a research/academic way, I'll trust a Wiki much more than anything else (assuming it's getting a lot of activity) because it is easier to update in an explorative fashion (and tends to produce research results more honestly than other formats which usually get "sanitized" before publication ).

Actually they do. Google (I believe) will spider any site with up to two variables on the URL (ruling out many forums and indeed "normal" sites). As long as the Wiki is publically accessible and follows the previous rule, it gets spidered. Here's a totally contrived search for you:

http://www.google.com/search?q=site%3Awww.wikipedia.org+Rabbits

And your articles - when you've got them finished chuck them up and link them in, then write protect the page if you don't want any further editing. To be really nice put in a link to a coments page so people can add additional content away from the original article.

Yeah, DB drivers don't work the same as humans. What of it? A Wiki isn't supposed to be a machine-readable archive, it's a *discussion evolution* platform. If you like, once an conversation has been fully explored, it can be turned into a traditional article and put on a site somewhere. If used in this way it's the step that leads to the article, not the article itself. The real beauty of it is to allow anyone to add a sentence here and there where appropiate, without requiring them to write a full article on a subject.

Yeah, DB drivers don't work the same as humans. What of it? A Wiki isn't supposed to be a machine-readable archive, it's a *discussion evolution* platform. If you like, once an conversation has been fully explored, it can be turned into a traditional article and put on a site somewhere. If used in this way it's the step that leads to the article, not the article itself. The real beauty of it is to allow anyone to add a sentence here and there where appropriate, without requiring them to write a full article on a subject.

(the bold is my addition)And that is the group consensus of the discussion spread over 6 days I perviously mentioned. Our department's internal wiki will be the staging ground while ideas and procedures are cooked. Then documentation will be migrated to more "official" places.

Quote

Leknor, that article you linked to completely shafts my browser. And, in fact, takes out WinME too! Good job!

Hrm, maybe it's time to give Mozilla a try. A Group is its Own Worst Enemy is pretty simple html, no JavaScript, no tables and no images. Just some basic p/div/h1 tags and some CSS. If the author could be consistent with his tag case, it would be valid XHTML.

..but they seem to get very low priority. I know of specialist wikis that are spiderable but don't tend to show up on searches that really ought to hit them. I recall hearing that Google has a variety of weightings (I can't remember if this was to prevent abuse of google's ranking system, or merely to make it more effective). Could it be that wikis are weighted lightly?

Quote

*discussion evolution* platform. If you like, once an conversation has been fully explored, it can be turned into a traditional article and put on a site somewhere. If used in this way it's the step that leads to the article, not the article itself.

Yeah. But I'm interested in the articles - until all the things that the JGO forums have done to death have been turned into articles, I don't frankly care about the stage beforehand (which is what JGO forums have been doing for a while). Articles are wanted and needed now, and the knowledge to write them is available.

This topic was about getting the articles together . As I said earlier, I totally agree that a wiki is a desirable part of JGO, for instance for the example you cite. But articles are a separate and additional need that currently is poorly supported, or so it seems to me right now.

Soon, but not yet! Mozilla Mail still has a few issues in areas I care about, and I don't want any silly conflicts or takeovers with my Netscape setup right now.

Quote

Could it be that wikis are weighted lightly?

Well, I believe Google's ranking system is there to prevent abuse but recognise popularity. Maybe they intentionally limit them, maybe they just happen to rank lower, maybe there's no difference - I can't speculate. I could mutter things like "many Wikis' information is gleaned from elsewhere, and Google eliminates similar results" or "the ratio of Wikis to traditional sites is very, very small" or something, but I wont! I really can't comment without knowing a lot more.

Quote

I don't frankly care about the stage beforehand (which is what JGO forums have been doing for a while).

Well, while the information is there it's a horrific data-processing task to collate it all. If people each picked a topic and just started chucking data onto appropiate pages in the Wiki, a large number of articles should evolve from them (in time). But if you've got a number of articles all ready to be published, kudos! I agree, let's get them up somewhere, and fast.

I have started this page...For me it has a basic benefit - it tells about experience of somebody who has actually made working game. But this is my opinion - power of wiki is that you can write next to it "This article is stupid because A, author is mislead because of B, better look here".

Anyway, I have done this page hoping that people would add some links, so we can later categorize and comment them. Some cases of successful UDP use, some cases where TCP is easier and better, etc.

You might want to add this article I just linked to in the UDP vs TCP topic:

P.S. I'll do some more on this topic (articles) once I've solved the NIO problem I'm having. I'll write it up into an article that is also a more detailed expansion of the things I just barely touch on in the quick-n-inaccurate NIO guide.

I'm also quite interested in adapting Sun's Governance Guidelines for using java.net to create guidelines for creating articles:

Quote

We have finished the proposed Governance Guidelines. These are a rough set of guidelines we would like to use to manage the games.dev.java.net site. We are hoping these guidelines will help projects evovle smoothly. Please look them over:http://games.dev.java.net/govern.html

Quote

As far as guidelines for JGO articles, feel free to start with our as a base

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org