topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Tuesday December 30, 2025, 10:39 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Recent Posts

Pages: prev1 ... 59 60 61 62 63 [64] 65 66 67 68 69 ... 75next
1576
Living Room / Re: Best choice for server-side game programming
« Last post by tinjaw on February 20, 2007, 01:04 PM »
What technology is used.
The ultimate answer to "What technology should I use?" is "It depends." The traditional metaphor of a tradesman and his toolbox full of tools applies here. Many technologies overlap and many factors need to be considered. If the application in question is a full-featured multiplayer online game, then you will most likely decide on a beefy server-side application that talks to a database server and passes on various types of data to a client application that will both render the data and do some local computation/execution of code. The results will then be sent back to the server and the cycle will be repeated. So, what flavors are available?

On the server side your options are vast. Nearly all (contemporary mainstream) computer languages can interact with HTTP servers and database servers. In close to 100% of the cases the web server hands a chunk of data off to a computer program that gets more data from a database server. It then massages the data and sends a new or modified chunk of data back to the web server, and possibly to the database server as well. These computer programs can be written in Perl, Python, PHP, ASP, C/C++, Java, C#, or a variety of other languages.

On the client side you will need to execute code. Your first choice is to decide between three technology types: 1) (X)HTML + CSS + client-side scripting via Javascript/Actionscript/ECMAscript rendered by a web browser and its plug-ins/extensions, 2) web pages similar to #1, but also containing binary data that is executed by a player, like Flash, also in a web browser, or 3) a custom built stand-alone application that may, or may not, employ some, or none, of the technologies of #1 and #2 and is written by any of the same computer programming languages used on the server side (albeit unlikely PHP, ASP, or Perl will be used client-side, it is technically possible).

Weaved ever so tightly into these two choices are a myriad of other technologies: What operating system will be used on the server? What operating system will be required of the client? What web browsers should be targeted? Will the web server be Microsoft's IIS, Apache, or some other HTTP server? What database will be used? Will it be a RDMS or an OO database? What intermediate means will be used to communicate between your applications and the database? A proprietary means or something like ODBC, JDBC or the dozens of other common database libraries and standards? These decisions will determine whether you have Sun hardware running Linux with Apache, JBoss, MySQL, using Java for JSPs, EJBs, and other code, or, just as likely, AMD hardware running Microsoft Windows with IIS, Tomcat, Oracle, using C#, .NET, and ASP.

In either of these two scenarios you will need a computer you can fully control and upon which you may execute any code you choose. This may be a physical computer, or computers, you own and collocate at an local facility, a leased dedicated server, or Virtual Private Server (VPS) you rent monthly. However, you may choose to go with an architecture that is more lightweight and use IIS/Apache + PHP/Python/Perl + MySQL/Postgress/SQL Server on a traditional web hosting account. Both would allow you to host files that can be downloaded and executed on the client. These include multimedia files (avi, mpg, jpg, etc.), Flash/Shockwave files (.swf), Javascript/Actionscript/ECMAscript (.js, etc), or even stand-alone applications, that are possibly installed and configured, and run by the client (.exe, or other binary executables for Linux, MacOS, etc.)

Some groups of technologies are a more natural fit together than others. For example, if you are already familiar with Java you might choose to match Java, JSP, Java Faces, EJBs, Java applets, JDBC, and Apache + Tomcat. Or, equally likely, Microsoft shops will use Microsoft servers with Visual Studio development tools and .NET and ActiveX technologies. Either is perfectly viable and more a choice between left and right or up and down than right or wrong.

The key point to get from this is that you need to spend some time surveying all of the various tools available to you, determining where they are tuned to be used, and deciding if you have a personal affinity for any of them over others.

Next: Roll your own or just make a movie?
1577
Living Room / Re: Best choice for server-side game programming
« Last post by tinjaw on February 20, 2007, 12:22 PM »
Where the data is stored.
This includes not only on which physical computer the data is stored, but in what format it is stored.
  • "Flat files" on the server: In the example given above of the telephone directory, the information may be stored in a text/ASCII - possibly in Comma Separated Values (CSV) format. These "flat files" are more likely than not in some human-readable format. In this case the files are processed on the server and the resulting web page is delivered to the client. Other examples of the use of flat files are Javascript and CSS files. In both cases these files are delivered to the client alongside the web page requested by the client. The client then uses these text-based files to determine how to render the HTML and what code to execute.
  • Binary files on the server: The classic examples of this type are Macromedia Flash files and video/audio files. The data is stored on the server and each time it is sent to the client and the client "plays" the file(s).
  • Databases: When large amounts of data needs to be accessed and/or updated a database (server) is often employed. Databases are just large bundles of data. However, the term is overloaded and often refers to, not only the data itself, but the software applications that are used to create, update, retrieve and delete (CRUD) that data. Of the software applications that are fine-tuned to handle that data, the most widely used type of databases are relational database management systems (RDMS) that use Structured Query Language (SQL) as the computer language, the means to interact between humans and the databases. In almost all cases there is code on the web (HTTP) server that executes when requested by a client that connects to the database and CRUDs the data as necessary and, ultimately, dynamically creates the web page that will be returned to the client.
    Databases are invaluable when creating applications larger than a simple telephone directory. They are also required when doing any kind of online game. The data needs to be maintained, securely, by the application provider - be that a hobbyist run MUD or the likes of World of Warcraft. The data will surely be accessed countless times and heavily CRUDed as the application runs.
  • Data on Clients: Although this is unlikely to be used by an application developer, it is reasonable and has some advantages. The most common form of this type of use are cookies - those files stored by your web browser when you visit most websites. Another viable use might be data files for online office applications. You would not want to store data files on the client computer for an online game. Even though you could take measures to conceal and encrypt the data, it is just too risky. Imagine if you will, storing the information about your World of Warcraft characters on your local hard drive. How long do you think it would take for the Lazy Web to come up with a crack to modify those files and turn freshly minted characters into maxed-out super characters?

Coming Soon: What technology is used. Build from scratch or use an existing game engine.
1578
Living Room / Re: Best choice for server-side game programming
« Last post by tinjaw on February 20, 2007, 11:44 AM »
There are a couple of main issues bundled in there. Let me attempt to separate them out.
  • Where the code is executed.
  • Where the data is stored.
  • What technology is used.
  • Build from scratch or use an existing game engine.

Where the code is executed.
In order for Stuff & Things (TM) to happen, code needs to be executed. Code can run on the server, the client, or both.
  • On the server: This is the traditional manner. This includes Server Side Includes (SSI) and Common Gateway Interface (CGI). This is commonly used when you want to use dynamically generated web pages instead of static web pages. The classic example is a phone directory. A web browser (client) contacts the web server (HTTP server) and requests a web page identified by a Uniform Resource Locator (URL). (Actually a URI, if you want to be technically correct.) With a static page, the names and telephone numbers are "hard coded" into the page and only change when the file is edited by the author. If SSI or CGI is used, the HTML file is processed by the HTTP server and the names and telephone numbers are dynamically added to the web page before it is sent to the browser. In this manner, the web (D/X/HTML) page does not need to be edited every time the list of names and telephone numbers is changed. In these cases all the web browser (client) does is use the HTML rendering engine to display the web (D/X/HTML) page. No code is executed on client computer. This also includes standard X/HTML forms. The client doesn't execute any code outside of the HTML engine. It just take the data entered into the form by the user and sends it back to the HTTP server.
  • On the client: The classic example is a static web page that contains Javascript/Actionscript/ECMAscript. The HTML file on the server is static - it does not change, every time the page is requested by a client the same exact page is sent. (This make it a good candidate for a highly requested web page as it can be cached by the HTTP server in memory instead of it constantly accessing the slower hard drive and/or requiring processing.) With a static web page containing script, the HTML engine of the web browser hands of the scripting parts of the page to a separate engine.
    Script should not be confused with (embedded) binary attachments like images, video, audio, or, more feature rich items like Flash. The former is (ascii/text, i.e. human-readable) computer code that is interpreted and executed in a manner similar to a standard computer application, while the later is the equivalent of a DVD, VHS or audio cassette tape being played by a player. This later form, the binary attachment, also include Java applets. Java applets are binary files containing "byte-code". You can think of byte code and something in between human-readable source code and the zeros and ones understood by the CPU. In this case the web page is just an envelope and the web browser is just a canvas. The applet is run in a virtual machine. It is oversimplifying to a large degree, but it might be helpful to think of virtual machines as tiny computers inside another computer.
  • On both: By combining the two you can get something that often looks no different that a stand-alone computer software application. The most recent use of code executing on both the server and the client is Asynchronous JavaScript and XML (AJAX). AJAX uses a constantly open connection between the client and the server and code is executing on both sides. (For standard or "legacy" web pages, one or more connections are made to the server, the pages are downloaded, and all of the connections opened to the server are closed.)
    One of the main advantages of this later use of technology allows the "software" to be updated constantly without any need for intervention by the user/client. This is because, although code is executed on the client computer, the code it executes is requested from, and delivered by, the web server. This means that the "software" can be updated on the server and the next time the client attempts to run the "software" it downloads the latest version from the server seamlessly. As computers get faster and as broadband Internet connections get fatter, it may soon become nearly impossible to the the difference between these web-based applications and traditional stand-alone software.

This is the end of part 1. Later today I will post more on : Where the data is stored. What technology is used. Build from scratch or use an existing game engine.
1579
Living Room / Re: Agree with Bruce Eckel?
« Last post by tinjaw on February 20, 2007, 07:45 AM »
I agree with Bruce. He's spot on.

As for your other questions, kyrathaba, repost them as a separate thread and I will answer. Several people would most likely benefit from your questions and the various replies you will get, and I don't want it to get lost in a thread on a different topic.
1580
General Software Discussion / Re: Any 'print as printerfriendly page' automatizer?
« Last post by tinjaw on February 19, 2007, 02:00 PM »
In Firefox you can use Print Preview to easily switch between portrait and landscape mode, as well as choose a scaling factor for the printed page. Often switching to 80% or 90% will get large images to fit on the printed page.
1581
Developer's Corner / Re: XNA Magic
« Last post by tinjaw on February 16, 2007, 09:10 AM »
Just a quick update. I haven't heard a peep out of them since I made the original posting.
1582
Mouser's Zone / Re: I am searching for Free Search-Replacer programm
« Last post by tinjaw on February 16, 2007, 09:08 AM »
{
 {
 tinjaw,

 I may have a few lines to reply to your immesuarable suggestions..

 but which of two winding topics
 do you think I have to post my reply to
 if to take in account that a bunch of winding topics
 will consist of an indefinite number of PAIRS..
                                      of winding topics
      each first one of which should be located at a(/the) one forum
           (where the winding topics author
            places his original posts)
            while each second one of winding topics
                 should be located at the(/an) other forum ?
}

Which topic could I post these my doubts to
taking in account that at the first glance
they may look like an off-topic ?

Rather than relatively to an appropriate toogrik topic..
}

gri,

I tried to provide you with some assistance and all you can do is reply with gibberish about your windings.  :-\ I will ask you to please just answer my questions with a relevant reply and I will cheerfully attempt to help you. 
1583
Mouser's Zone / Re: I am searching for Free Search-Replacer programm
« Last post by tinjaw on February 15, 2007, 05:32 PM »
gri,

Does this operation need to occur on the remote server using only PHP?

My first thought is to use diff to create list of changes and then patch to apply them. This is easily done locally and you can upload the changes to the server. Otherwise, if you have the necessary rights on the server, you could do it all remotely via telnet or SSH. If not, you may be able to wrap it in PHP and execute it on the server that way?
1584
Living Room / Re: The Machine Is US
« Last post by tinjaw on February 15, 2007, 06:48 AM »
 :Thmbsup: Thanks. I hope it attracts attention. It may seen cheesy and overblown to say that as the Internet improves, and society's use of it matures, the world will change forever, but it will elicit a "duh!" in 10 to 15 years in the future when it is a well understood fact of history. We are lucky to be at the cutting edge of a historical global change in how the World's population perceives itself and each individual is given the opportunity to participate in a way never yet seen and only infrequently imagined.
1585
Living Room / Re: The Machine Is US
« Last post by tinjaw on February 14, 2007, 06:32 PM »
Edvard, Great Find! This is incredible. Both an incredible concept and incredibly well executed. Mouser! I demand you blog this!  8)
1586
General Software Discussion / Re: Mind-Mapping Software
« Last post by tinjaw on February 14, 2007, 06:11 PM »
Very interesting find Ken. Thanks for the information.

CWuestefeld, I read you blog entries and I have some ideas. I'll post a reply to you blog.
1587
Living Room / Re: Apologese - I will be offline for a while ...
« Last post by tinjaw on February 12, 2007, 04:57 PM »
Sorry to hear that. :( I hate having to deal with stuff like that. I wish you luck getting it back up and running soon.
1588
Living Room / Re: What was your favorite saturday morning cartoon?
« Last post by tinjaw on February 12, 2007, 08:43 AM »
Although I too loved Saturday morning cartoons, I found as much enjoyment in many of the cheesy live-action shows after school as well. Among some of my favorites in both categories are (in no particular order):

1589
General Software Discussion / Re: Another 5-star review for Mobysaurus Thesaurus
« Last post by tinjaw on February 12, 2007, 08:10 AM »
w00t!  :beerchug: Anderson that is excellent, ace, banner, blue-ribbon, brag, capital, champion, fine1, first-class, first-rate, prime, quality, splendid, superb, superior, terrific, tiptop, top!!!!
1590
Living Room / Re: Will Wikipedia Run Out of Money and Disappear
« Last post by tinjaw on February 11, 2007, 03:41 PM »
The need to find an endowment so they can live off the interest.
1591
Living Room / Re: DonationCoder.com IRC Channel
« Last post by tinjaw on February 11, 2007, 03:40 PM »
You need to differentiate between your connection to the IRC server and the server's proxy check. The IRC server is checking to see if you are a proxy server. It should not effect your ability to connect.
1592
Living Room / Re: DonationCoder.com IRC Channel
« Last post by tinjaw on February 11, 2007, 07:52 AM »
efnet.demon.co.uk::6665-6669
You need to pick one port. So it can be any of the following:
  • efnet.demon.co.uk::6665
  • efnet.demon.co.uk::6666
  • efnet.demon.co.uk::6667
  • efnet.demon.co.uk::6668
  • efnet.demon.co.uk::6669

And that will connect you to a server. Then you need to join the channel #donationcoder.
1593
Living Room / Re: Rebuilding My Laptop
« Last post by tinjaw on February 11, 2007, 06:33 AM »
I've got copies of Windows from 95 upward. I need WinXP on there because I need to develop my software to work on WinXP.

Darwin,

I think I need to steal your avatar and put a tin jaw on him. :-)
1594
Living Room / Re: Will Wikipedia Run Out of Money and Disappear
« Last post by tinjaw on February 10, 2007, 05:44 PM »
I guess the $10 I donated wasn't enough. I'd hate to see Wikipedia go.
1595
Living Room / Re: Rebuilding My Laptop
« Last post by tinjaw on February 10, 2007, 03:05 PM »
It is a modern laptop. The only reason I am doing this is because it only has 512MB of RAM and I am not in a position to buy more, even though it is relatively inexpensive. So I am getting it down to minimal memory usage for I am not page swapping while doing development.
1596
Living Room / Rebuilding My Laptop
« Last post by tinjaw on February 10, 2007, 06:25 AM »
I put MS Windows Vista on my laptop and kept it on there for about a day. Nothing to see here. Move along.

I have decided to rebuilt the laptop after wiping it clean and installing MS Windows XP Home SP2. However, I am going to try and heavily tune it for software development. PYTHON ROCKS! By that I mean that I intend to turn off every service that isn't needed while developing software. Uninstalling all the software that is extraneous and just taking up hard drive space. Removing all non-essential programs from the startup group and the matching registry locations, etc.

I am then going to install my "favorite" "best of breed" applications and image the drive.

I am going to try to keep a decent journal of what I install and maybe write up a short blog post on what I install.

What I want to know from my fellow DCers, is what online resources have you personally used (not just ones that you are aware of) when determining what services can be safely disabled, what programs can safely be shutdown, and what extraneous chunks of Windows itself can be uninstalled?
1597
Developer's Corner / Re: Free .NET Ebook by Charles Petzold
« Last post by tinjaw on February 08, 2007, 05:17 AM »
Good Find app! Petzold's books are always good.
1598
Living Room / How To Install KnowledgebasePublisher On Your Site
« Last post by tinjaw on February 06, 2007, 07:40 PM »
Hmmm, that author's name looks familiar.  ;)

How To Install KnowledgebasePublisher On Your Site is one of the recent HowTos on HowtoForge.

[attachthumb=#1][/attachthumb]
1599
OK OK Here is this totally weird idea for an game about attraction. I know this would never happen in real life, but just follow along for a minute.

OK, we start with some person that is attracted to somebody. In some relationship that situation that is totally normal. And then real weird stuff happens. Stuff that would make you go, huh? For example, you start with some really smart person that you would never expect to go psycho, like, say an astronaut. And they are attracted to somebody else and then the go all psycho and drive across country in diapers to, I don't know, kidnap some other woman that she thinks is stealing away her man.

?

Huh?

What?

Somebody already did this game? Oh sorry.
1600
General Software Discussion / Re: Pay by instalments at Aha-Soft
« Last post by tinjaw on February 06, 2007, 07:06 PM »
I hope it works out well for them. It would be a nice option to have in some cases. I hope they do well and it spreads.
Pages: prev1 ... 59 60 61 62 63 [64] 65 66 67 68 69 ... 75next