Check (and post if yo want) comments.
Features:
Generality:
I intend to implement configurability, so it can be used as either a chat room, an instant messenger system, or a support system.
Technical: A small script in the page checks to see if the client needs to be loaded. If there are any messages/chat invites/support invites for them, the client is loaded automagically. They can also click a link to start the client themselves.
Variable key: The key (what identifies the user) could be a cookie(temporary), an IP address, or anything really. It will be generic so we can choose and configure this. This also helps with generality and allows us to use existing login systems (hopefully).
Configurability/Extensability: Because everything will (hopefully) be well designed and documented with a lot of configuration options it will be easy to improve, extend, and repair. For instance you could add in your own window for parts lookup, a script to define words, get rid of color,
Other options: Permanence/durations on rooms. And log output. - This lets the same client that handles chat function as a message board, with some modifications.
The generic object oriented design will help make creation of a compatible client (not really porting) possible.
http://code.google.com/p/xml2json-xslt/ We might be able to do everything in XML and just let it turn to json on it's own. Does it matter? Not yet.
http://gggeek.altervista.org/sw/article_20061113.html
Due to the generic design and extensibility, adding new languages will be simpler. (Notice, I never say easy... I say ease... but never easy, sometimes easier).
Notes for self: Japanese Characters 1. 2. 3. 5. 4. 6.
Google just whent down. But... only for a few seconds. It displayed a "Google is experiencing technical difficulties that may prevent chats from being sent." Interesting... display that chat is down conveniently... could even be in the chat link... when available, it's a link, when not, it's blue.
Thursday, September 20, 2007
Saturday, September 15, 2007
Peliminary one
http://www.ibm.com/developerworks/web/library/wa-ajaxintro1.html?S_TACT=105AGX08&S_CMP=EDU
To those of you confused about what ajax is...
This is the way the project looks
Shaun:
Primary: Surgeon*
Secondary: Administrator.
Aleksandr
Primary Role: Toolsmith
Secondary Role: Copilot*
Other parts available.
Editor
Secretaries... hah... no budget.
Tester: No budget
The language lawyer... none.
and of course, backup for the ones above... what are your coding abilities?
Notes: I intend for everyone to be intimately familiar with the code and capable of creating one of these projects. Though I list myself as the surgeon, I will likely not be intimately famlilar with the PHP code, but with some explaining I should get it.
The editor is crucial... if I write and turn in the documentation, we will not make an A. This is not good. Due to possible misunderstandings, the editor needs to understand the program design and be very good at writing. Do we have anyone like this?
Two secretaries... sorry... all we get is the editor... and even then... the editor probably won't look hot in a miniskirt behind a desk, in fact... since this group is all guys, I guarantee it.
The program clerk - Sigh... I guess this one falls to me too. I'm not the most organized, but I'll try to do my best.
http://www.dynamicajax.com/fr/JSON_AJAX_Web_Chat-271_290_324.html This is the primary link. We'll start by building this. Then we understand it. Then we consider this:
http://www.lukew.com/resources/articles/ajax_design.asp
Questions: Do we want to embed it or have it pop up.
It could follow the website if the entire website were designed in ajax. Another idea, if we design the website with a refresh behind mechanic, they could continue to surf.
Side links:
http://codepress.org/about.php (Wanna make a code editor)
www.gaiaonline.com is an interesting site that uses the YUI library...
http://codepress.org/about.php I have an idea... a very cool idea. Thin clients for computer programmers... a full ide from any desktop.
http://www.lukew.com/resources/articles/ajax_design.asp
Some interesting reading, gaming for leadership skills, a new project by IBM www.ibm.com/gio
ibm_gio_gaming_report.pdf
Actually, the carpal tunnel problems with gaming is what made me quit if I remember correctly. With this... I'm not sure I can do everything the surgeon is supposed to. It's really unpleasant. Screw that, it hurts! See you on monday.
To those of you confused about what ajax is...
This is the way the project looks
Shaun:
Primary: Surgeon*
Secondary: Administrator.
Aleksandr
Primary Role: Toolsmith
Secondary Role: Copilot*
Other parts available.
Editor
Secretaries... hah... no budget.
Tester: No budget
The language lawyer... none.
and of course, backup for the ones above... what are your coding abilities?
Notes: I intend for everyone to be intimately familiar with the code and capable of creating one of these projects. Though I list myself as the surgeon, I will likely not be intimately famlilar with the PHP code, but with some explaining I should get it.
The editor is crucial... if I write and turn in the documentation, we will not make an A. This is not good. Due to possible misunderstandings, the editor needs to understand the program design and be very good at writing. Do we have anyone like this?
Two secretaries... sorry... all we get is the editor... and even then... the editor probably won't look hot in a miniskirt behind a desk, in fact... since this group is all guys, I guarantee it.
The program clerk - Sigh... I guess this one falls to me too. I'm not the most organized, but I'll try to do my best.
http://www.dynamicajax.com/fr/JSON_AJAX_Web_Chat-271_290_324.html This is the primary link. We'll start by building this. Then we understand it. Then we consider this:
http://www.lukew.com/resources/articles/ajax_design.asp
Questions: Do we want to embed it or have it pop up.
It could follow the website if the entire website were designed in ajax. Another idea, if we design the website with a refresh behind mechanic, they could continue to surf.
Side links:
http://codepress.org/about.php (Wanna make a code editor)
www.gaiaonline.com is an interesting site that uses the YUI library...
http://codepress.org/about.php I have an idea... a very cool idea. Thin clients for computer programmers... a full ide from any desktop.
http://www.lukew.com/resources/articles/ajax_design.asp
Some interesting reading, gaming for leadership skills, a new project by IBM www.ibm.com/gio
ibm_gio_gaming_report.pdf
Actually, the carpal tunnel problems with gaming is what made me quit if I remember correctly. With this... I'm not sure I can do everything the surgeon is supposed to. It's really unpleasant. Screw that, it hurts! See you on monday.
Sunday, September 9, 2007
Google Gears again
Skip to next post, this is unedited and messy, I'll clean it later.
Google gears again. http://gearsblog.blogspot.com/2007/08/google-gears-02-developer-release-ready.html
With things like google gears it's possible to write web apps that run offline. Better, you can make them synchronize once you get online.
http://gearsinmotionforgears.blogspot.com/
http://googleblog.blogspot.com/2006/05/making-ajax-development-easier.html
http://www.ajax-blog.com/
http://www.blogherald.com/2006/09/08/css-tips-and-tricks/
http://www.1976design.com/blog/archive/2003/11/14/shadows/
Use the dynamic CSS trick to load different css scripts to accomodate different browsers. Great, I'm slowly being infected... augh.
http://www.hunlock.com/blogs/Howto_Dynamically_Insert_Javascript_And_CSS
http://cow.neondragon.net/stuff/reflection/ Just awesome.
http://miniajax.com/ found here.
Google web toolkit is probably easier.
http://www.slash7.com/articles/2006/07/26/javascript-boot-camp-tutorial
Google gears again. http://gearsblog.blogspot.com/2007/08/google-gears-02-developer-release-ready.html
With things like google gears it's possible to write web apps that run offline. Better, you can make them synchronize once you get online.
http://gearsinmotionforgears.blogspot.com/
http://googleblog.blogspot.com/2006/05/making-ajax-development-easier.html
http://www.ajax-blog.com/
http://www.blogherald.com/2006/09/08/css-tips-and-tricks/
http://www.1976design.com/blog/archive/2003/11/14/shadows/
Use the dynamic CSS trick to load different css scripts to accomodate different browsers. Great, I'm slowly being infected... augh.
http://www.hunlock.com/blogs/Howto_Dynamically_Insert_Javascript_And_CSS
http://cow.neondragon.net/stuff/reflection/ Just awesome.
http://miniajax.com/ found here.
Google web toolkit is probably easier.
http://www.slash7.com/articles/2006/07/26/javascript-boot-camp-tutorial
Saturday, September 8, 2007
Some organization.
Javascript boot camp above is a useful reference.
Don't feel like you need to learn/watch everything immediately. A:
Nothing is immediately necessary. B: You have other work. C: it's
better (for your mind) to learn things over time.
NOT YET SURE WHICH UI WE WILL USE!!!! Don't get too entrenched yet, just learn the basic javascript/ajax. Heck, I don't even know CSS yet.
http://code.google.com/webtoolkit/ Program in java, end up with
javascript and ajax. Looks like I might not end up needing to learn Ajax
after all... or does this just do the GUI. (This might also be useful for learning how to create a GUI in javascript by writing one in java.)
http://code.google.com/apis/gears/ Enable web applications to work while
offline. The Google license is nice. (If integrated into a
blackboard replacement students could download copies of all their
asignments and wouldn't be forced to log in).
http://www.craftysyntax.com/help/ The help system Aleksandr uses.
http://yuiblog.com/blog/2007/01/24/video-crockford-tjpl/
Good 30 minute lectures on javascript... each one is effectively a class
so you might not have time, but he teaches some interesting things.
NOTE: WE MAY OR MAY NOT GO WITH GOOGLE GEARS... SO JUST SEE HOW EASY
THIS IS TO LEARN FOR NOW, NOT WORTH MORE THAN 15-20 minutes of your
time.
http://www.evotech.net/blog/2007/05/beginning-ajax-using-the-yui-library/
Beginning ajax using the YUI library.
http://developer.yahoo.com/yui/ There's also a lightweight GUI skin
called SAM that's included and Yahoo can host the whole package for
you. It uses sprites so loading one 16 by 16 gif (or even an 8 by 8
sprite) can be responsible for loading 3/4 of the program... that
makes it really fast. (Not necessary for the scope of the project,
just try it once... if you fall in love, go for it, if it takes too
much time, drop it and one of us will create the UI.)
http://yuiblog.com/blog/2007/05/23/in-the-wild-20070523/
Beginning ajax using the YUI library (start here if you want to try
above). YUI CSS GRIDS has the potential
to give you more control.
http://www.dynamicajax.com/fr/JSON_AJAX_Web_Chat-271_290_324.html
Ajax web chat, the first thing I'd like to create.
http://sourceforge.net/projects/mygosuclan/ Anyway, there's some tools for PHP debugging, a simple javascript text editor, a document management system using web 2.0 and ajax, and a game of tetris... etc.
http://jszen.blogspot.com/ A javascript only app... interesting little calendar.
http://www.hunlock.com/blogs/Mastering_JSON_(_JavaScript_Object_Notation_)
My take on JSON, let's hope I'm right: JSON basically creates and object with named properties referenced by dot notation. Let's say I create a sheet. Within that sheet I create a property called "header" and say "header" = "?head?This is the header?/head?" then Sheet1.header would return the string "?head?This is the header?/head?" At least that's what I get from this. You just make, then pass the object, and use the dot notation to get it's properties.
It's parsed by being run to create the object.
Don't feel like you need to learn/watch everything immediately. A:
Nothing is immediately necessary. B: You have other work. C: it's
better (for your mind) to learn things over time.
NOT YET SURE WHICH UI WE WILL USE!!!! Don't get too entrenched yet, just learn the basic javascript/ajax. Heck, I don't even know CSS yet.
http://code.google.com/webtoolkit/ Program in java, end up with
javascript and ajax. Looks like I might not end up needing to learn Ajax
after all... or does this just do the GUI. (This might also be useful for learning how to create a GUI in javascript by writing one in java.)
http://code.google.com/apis/gears/ Enable web applications to work while
offline. The Google license is nice. (If integrated into a
blackboard replacement students could download copies of all their
asignments and wouldn't be forced to log in).
http://www.craftysyntax.com/help/ The help system Aleksandr uses.
http://yuiblog.com/blog/2007/01/24/video-crockford-tjpl/
Good 30 minute lectures on javascript... each one is effectively a class
so you might not have time, but he teaches some interesting things.
NOTE: WE MAY OR MAY NOT GO WITH GOOGLE GEARS... SO JUST SEE HOW EASY
THIS IS TO LEARN FOR NOW, NOT WORTH MORE THAN 15-20 minutes of your
time.
http://www.evotech.net/blog/2007/05/beginning-ajax-using-the-yui-library/
Beginning ajax using the YUI library.
http://developer.yahoo.com/yui/ There's also a lightweight GUI skin
called SAM that's included and Yahoo can host the whole package for
you. It uses sprites so loading one 16 by 16 gif (or even an 8 by 8
sprite) can be responsible for loading 3/4 of the program... that
makes it really fast. (Not necessary for the scope of the project,
just try it once... if you fall in love, go for it, if it takes too
much time, drop it and one of us will create the UI.)
http://yuiblog.com/blog/2007/05/23/in-the-wild-20070523/
Beginning ajax using the YUI library (start here if you want to try
above). YUI CSS GRIDS has the potential
to give you more control.
http://www.dynamicajax.com/fr/JSON_AJAX_Web_Chat-271_290_324.html
Ajax web chat, the first thing I'd like to create.
http://sourceforge.net/projects/mygosuclan/ Anyway, there's some tools for PHP debugging, a simple javascript text editor, a document management system using web 2.0 and ajax, and a game of tetris... etc.
http://jszen.blogspot.com/ A javascript only app... interesting little calendar.
http://www.hunlock.com/blogs/Mastering_JSON_(_JavaScript_Object_Notation_)
My take on JSON, let's hope I'm right: JSON basically creates and object with named properties referenced by dot notation. Let's say I create a sheet. Within that sheet I create a property called "header" and say "header" = "?head?This is the header?/head?" then Sheet1.header would return the string "?head?This is the header?/head?" At least that's what I get from this. You just make, then pass the object, and use the dot notation to get it's properties.
It's parsed by being run to create the object.
Let's try this.
http://www.ibm.com/developerworks/ajax Here's another good dev site, just dropped down here in case.
http://forum.mambo-foundation.org/showthread.php?s=144387fa70f21092a62741ccc90c16fe&p=38692#post38692
MAMBO CONFIGURATION ASSISTANT!!!!!
https://sourceforge.net/projects/mamboca Mambo Configuration Assistant
http://www.mambodemo.com/opensef/ Wow... all those tutorials just for what looks like a plugin for something.
Mambo's based on Lamp... another dynamic content management system.
From mambo's website: The set up utility uses a 4 step wizard interface that allows you to install the entire system without the need of advanced technical knowledge.
http://www.cmsmatrix.org/matrix/cms-matrix?func=viewDetail;listingId=1074
A lot of features though... a configuration tool would be HELL to write.
Or... is this what you wanted: Style Wizard No
Does the system have a wizard for generating styles/themes/templates or whatever else a look and feel might be called in the system? These wizards would allow the user to step by step choose colors, layouts, logos, etc to create their own look and feel without knowing anything about HTML/CSS.
http://extensions.joomla.org/component/option,com_mtree/task,listcats/cat_id,1850/Itemid,35/limit,10/limitstart,20/
Joomla template XML generator http://www.mediensozialismus.de REquires .net 2.0
Neo Joomla Bar http://www.neojoomla.com
Joomla Template Editor for Dreamweaver
!!!!!!The interesting thing is that since JSON can be executed in both python and javascript that the Python variants of Lamp would mean that the JSON would be NATIVE on both sides(server and client)... unfortunately, you'd end up passing executible code between the server and client (unless you parsed it...) which is like wearing a target t-shirt to a shooting range.
http://neosmart.net/blog/2007/opensource-on-windows-and-iis/
Quoth the link! - then you should look for or write your own platforms that use Python or Perl in combination with PostgreSQL for maximum efficiency, minimum downtime, and least headache. ;) I'm not advocating this for the Mambo Config Assistant (I think writing a wizard would be hell, all GUI work... kill me now, unless I've got what you want wrong... clarification please... configuration wizard for what?).
Another quote, posted by a user.
@blooming: Apache on Windows is fairly bugfree, but not as good performing as IIS on Windows, plus, most people on Windows are looking to run IIS-only backend solutions like ASP.NET. So if you’re on Windows, to maximize usage of resources, you should use IIS.
And if you use IIS - PHP is fucked.
Another interesting IIs 'feature'
what i find most intriguing is that of the 33 vulnerabilities, 9 remain unpatched!!!
**http://www.hunlock.com/blogs/Mastering_JSON_(_JavaScript_Object_Notation_)
JSON basically creates and object with named properties referenced by dot notation. Let's say I create a sheet. Within that sheet I create a property called "header" and say "header" = "?head?This is the header?/head?" then Sheet1.header would return the string "?head?This is the header?/head?" At least that's what I get from this (can't use the full head tag on this page). You just make, then pass the object, and use the dot notation to get it's properties.
This should make JSON much easer than XML for us programmers!!!! (YAY!) Especially those of us who took data structures (probably all of us).
Current task, learn JSON/Ajax (I don't mean comprehensively, just screw around with it to the point where you can look at it and 'get it', and maybe create something... anything, even if it doesn't work.). Brush up javascript(ditto... screw around... a for loop is fine). Most importantly (begin hipocracy) do your individual work (end hipocracy) (roughly equivalent to xml... seems hard until you realize the above... you're just creating an object with properties, and checking the properties of that object).
http://www.hunlock.com/blogs/Howto_Dynamically_Insert_Javascript_And_CSS (Just a fun trick, lets you save some bandwidth later... might be useful, need to learn more about CSS first).
http://jszen.blogspot.com/ Pretty interesting
http://miniajax.com/ has some interesting links including http://prototype-window.xilinus.com/samples.html this ultra-spiffy bugger. Haven't checked the license yet.
LEGAL CRAP 1.0: License is a *****
http://www.oreilly.com/catalog/osfreesoft/book/ (DO NOT BOTHER READING... takes too much time, not conducive to work)
MIT, BSD, APACHE, and Academic Free Licenses - Basically, do what you want... except the last one which makes it only free for ACADEMIC, non-commercial use.
The GPL, LGPL, and Mozilla Licenses
These are what most of the open source programs are under. LGPL is fairly rare nowadays. The GPL generally assigns copyright to the GNU organization... who sues anyone who fails to distribute the source with the software. So... when modifying a program for profit... assume it'll end up on bittorent tomorrow. This is why developing customization software for websites is tricky... We might do such a good job that we put ourselves out of business. If every manager can create his/her website with a few clicks, why pay someone to do it? Though as a tech support person, as long as the software isn't perfect, it provides a steady stream of income. (Note very carefully, as long as it isn't perfect.) However, providing bugfixes to software you already use, and a few added features, to the community that gave you the software in the first place is often beneficial.
Learn more about Fearless Leader(rocky/bullwinkle joke): My problem with the GPL is that
http://www.freesco.org/index.php?id=o A brilliant piece of software... and the about page has no mention of the original programmer who created the software and was (under penalty of starvation) forced to quit and get a real job. Actually, it credits freesco.org as the creator, I'm not sure if the GPL requires that contributors be named (he's technically a contributor because he made it from the linux operating system).
The GPL software works on a 'Sell Support' model, so Uli's strategy of selling support for Open Source projects is the ideal.
In any event, the short time while you work in school is an excellent time to work with open source projects. Additionally, the open source community tends to have good FREE help for major systems, which can be a HUGE help for students (and might well save our a** in a way we couldn't if we wrote from scratch). The problem is that many large open source components have gone through many revisions, updates, and improvements. They may be far too cumbersome for a school project... or not... we'll need to look at those books Aleksandr has.
Based on what the teacher said so far... it seems like he wants us to create something original (as opposed to modifying or documenting), and I'm inclined to think that the creation of at least SOME original work, even if it's based on
----- SEE TETRIS LINK, THE FIRST TETRIS LINK is very useful ----------
http://www.ode.org/ Open Dynamics Engine, for after the current project, it's a physics engine for 3D games. BSD license lets you close the source, you can use the GPL license instead.
As I mentioned about tetris... here's something to make you realize just how much your version sucks,
*http://code.gosu.pl/ Download from sourceforge to save the guy some bandwidth (we want him to keep making the stuff right!!!) http://sourceforge.net/projects/mygosuclan/ Anyway, there's some tools for PHP debugging, a simple javascript text editor, a document management system using web 2.0 and ajax, and a game of tetris... etc.
All this stuff we need in one place... how do I do it? (100% dumb luck!)
Oh and related to the Yahoo User Interface thing I mentioned, http://www.dustindiaz.com/yui-tetris/ Another version of tetris.
----------------- Delete this part, unnecessary, except CGI... give CGI out later. -------------
http://www.igda.org/join/
http://www.essentialmath.com/book.htm
http://www.oreilly.com/openbook/ Some free books, including one on CGI programming... not for now
http://ajaxblog.com/
http://forum.mambo-foundation.org/showthread.php?s=144387fa70f21092a62741ccc90c16fe&p=38692#post38692
MAMBO CONFIGURATION ASSISTANT!!!!!
https://sourceforge.net/projects/mamboca Mambo Configuration Assistant
http://www.mambodemo.com/opensef/ Wow... all those tutorials just for what looks like a plugin for something.
Mambo's based on Lamp... another dynamic content management system.
From mambo's website: The set up utility uses a 4 step wizard interface that allows you to install the entire system without the need of advanced technical knowledge.
http://www.cmsmatrix.org/matrix/cms-matrix?func=viewDetail;listingId=1074
A lot of features though... a configuration tool would be HELL to write.
Or... is this what you wanted: Style Wizard No
Does the system have a wizard for generating styles/themes/templates or whatever else a look and feel might be called in the system? These wizards would allow the user to step by step choose colors, layouts, logos, etc to create their own look and feel without knowing anything about HTML/CSS.
http://extensions.joomla.org/component/option,com_mtree/task,listcats/cat_id,1850/Itemid,35/limit,10/limitstart,20/
Joomla template XML generator http://www.mediensozialismus.de REquires .net 2.0
Neo Joomla Bar http://www.neojoomla.com
Joomla Template Editor for Dreamweaver
!!!!!!The interesting thing is that since JSON can be executed in both python and javascript that the Python variants of Lamp would mean that the JSON would be NATIVE on both sides(server and client)... unfortunately, you'd end up passing executible code between the server and client (unless you parsed it...) which is like wearing a target t-shirt to a shooting range.
http://neosmart.net/blog/2007/opensource-on-windows-and-iis/
Quoth the link! - then you should look for or write your own platforms that use Python or Perl in combination with PostgreSQL for maximum efficiency, minimum downtime, and least headache. ;) I'm not advocating this for the Mambo Config Assistant (I think writing a wizard would be hell, all GUI work... kill me now, unless I've got what you want wrong... clarification please... configuration wizard for what?).
Another quote, posted by a user.
@blooming: Apache on Windows is fairly bugfree, but not as good performing as IIS on Windows, plus, most people on Windows are looking to run IIS-only backend solutions like ASP.NET. So if you’re on Windows, to maximize usage of resources, you should use IIS.
And if you use IIS - PHP is fucked.
Another interesting IIs 'feature'
what i find most intriguing is that of the 33 vulnerabilities, 9 remain unpatched!!!
**http://www.hunlock.com/blogs/Mastering_JSON_(_JavaScript_Object_Notation_)
JSON basically creates and object with named properties referenced by dot notation. Let's say I create a sheet. Within that sheet I create a property called "header" and say "header" = "?head?This is the header?/head?" then Sheet1.header would return the string "?head?This is the header?/head?" At least that's what I get from this (can't use the full head tag on this page). You just make, then pass the object, and use the dot notation to get it's properties.
This should make JSON much easer than XML for us programmers!!!! (YAY!) Especially those of us who took data structures (probably all of us).
Current task, learn JSON/Ajax (I don't mean comprehensively, just screw around with it to the point where you can look at it and 'get it', and maybe create something... anything, even if it doesn't work.). Brush up javascript(ditto... screw around... a for loop is fine). Most importantly (begin hipocracy) do your individual work (end hipocracy) (roughly equivalent to xml... seems hard until you realize the above... you're just creating an object with properties, and checking the properties of that object).
http://www.hunlock.com/blogs/Howto_Dynamically_Insert_Javascript_And_CSS (Just a fun trick, lets you save some bandwidth later... might be useful, need to learn more about CSS first).
http://jszen.blogspot.com/ Pretty interesting
http://miniajax.com/ has some interesting links including http://prototype-window.xilinus.com/samples.html this ultra-spiffy bugger. Haven't checked the license yet.
LEGAL CRAP 1.0: License is a *****
http://www.oreilly.com/catalog/osfreesoft/book/ (DO NOT BOTHER READING... takes too much time, not conducive to work)
MIT, BSD, APACHE, and Academic Free Licenses - Basically, do what you want... except the last one which makes it only free for ACADEMIC, non-commercial use.
The GPL, LGPL, and Mozilla Licenses
These are what most of the open source programs are under. LGPL is fairly rare nowadays. The GPL generally assigns copyright to the GNU organization... who sues anyone who fails to distribute the source with the software. So... when modifying a program for profit... assume it'll end up on bittorent tomorrow. This is why developing customization software for websites is tricky... We might do such a good job that we put ourselves out of business. If every manager can create his/her website with a few clicks, why pay someone to do it? Though as a tech support person, as long as the software isn't perfect, it provides a steady stream of income. (Note very carefully, as long as it isn't perfect.) However, providing bugfixes to software you already use, and a few added features, to the community that gave you the software in the first place is often beneficial.
Learn more about Fearless Leader(rocky/bullwinkle joke): My problem with the GPL is that
http://www.freesco.org/index.php?id=o A brilliant piece of software... and the about page has no mention of the original programmer who created the software and was (under penalty of starvation) forced to quit and get a real job. Actually, it credits freesco.org as the creator, I'm not sure if the GPL requires that contributors be named (he's technically a contributor because he made it from the linux operating system).
The GPL software works on a 'Sell Support' model, so Uli's strategy of selling support for Open Source projects is the ideal.
In any event, the short time while you work in school is an excellent time to work with open source projects. Additionally, the open source community tends to have good FREE help for major systems, which can be a HUGE help for students (and might well save our a** in a way we couldn't if we wrote from scratch). The problem is that many large open source components have gone through many revisions, updates, and improvements. They may be far too cumbersome for a school project... or not... we'll need to look at those books Aleksandr has.
Based on what the teacher said so far... it seems like he wants us to create something original (as opposed to modifying or documenting), and I'm inclined to think that the creation of at least SOME original work, even if it's based on
----- SEE TETRIS LINK, THE FIRST TETRIS LINK is very useful ----------
http://www.ode.org/ Open Dynamics Engine, for after the current project, it's a physics engine for 3D games. BSD license lets you close the source, you can use the GPL license instead.
As I mentioned about tetris... here's something to make you realize just how much your version sucks,
*http://code.gosu.pl/ Download from sourceforge to save the guy some bandwidth (we want him to keep making the stuff right!!!) http://sourceforge.net/projects/mygosuclan/ Anyway, there's some tools for PHP debugging, a simple javascript text editor, a document management system using web 2.0 and ajax, and a game of tetris... etc.
All this stuff we need in one place... how do I do it? (100% dumb luck!)
Oh and related to the Yahoo User Interface thing I mentioned, http://www.dustindiaz.com/yui-tetris/ Another version of tetris.
----------------- Delete this part, unnecessary, except CGI... give CGI out later. -------------
http://www.igda.org/join/
http://www.essentialmath.com/book.htm
http://www.oreilly.com/openbook/ Some free books, including one on CGI programming... not for now
http://ajaxblog.com/
Subscribe to:
Comments (Atom)