The steps needed to activate NVIDIA drivers with feisty alpha on my laptop were:
start "System/Administration/Restricted Drivers Manager", enter my password and click to enable NVIDIA drivers..
if you do that on a laptop (Dell Latitude D820 in my case) you might also want to install wmctrl to get back your gnome panels when you come home from work and it puts them on the no longer existing other monitor.. (I'd really like to know why the window coordinates are doubled for the gnome panels..)
What other form of application runs without a separate step of installation?
That's your reason for accepting applications with few features and incredibly poor performance? That's like saying "I could make ten times more money, but then I'd have to pay more taxes." It doesn't make sense.
We are talking about websites/webapplications here. The question is not whether you can and want to install it, but whether the customers/target group of that website want to/can/will install it -- and the answer is no, they won't. Even the most trivial install will only be made by a small percentage of people.
More than 90% of all webusers already have an AJAX-capable browser though.
the common argument against modes in software is that they lead to mode errors. Users forget they're in the mode and thus the software doesn't act like it's expected to be. there seem to be very few exceptions where that is no problem, e.g. holding down the shift key to enter the uppercase mode
The main benefit of AJAX is more uniform browser support and the absence of distracting things like a always running throbber. That's it -- no more, no less. So when the hype has faded the people who know what they're doing will still use it to shorten the UI flow.
While the article mentions Catwalk (toolbox app to set up initial database objects) it does not mention some of the very nice new features in Turbogears 0.9a6 (supposed to be real close to 1.0 now):
Identity Management
The turbogears quickstart can now create a set of customizable standard classes to handle standard authentication and authorization. A User Group Permission model coming with easy-to-use identity decorators for exposed methods. ( Identity Management Documentation )
Widgets / Forms
A system to create reusable Form Widgets (with optional scripting / styles) and to use them in forms -- including support for error display and data retention.
Internationalization support
Optional support for SQLAlchemy instead of SQLObject
The newly added toolbox offers the following tools:
Catwalk (mentioned in the article)
Database tool meant to ease the creation of initial data. Sure, you can always just use plain SQL to set them up, but managing relations between tables can be slow and bothersome, especially for N-to-M relations (RelatedJoins in SQLObject terms)
Model Designer Toolbox tool helping to design your models. (Showing diagrams etc)
Web based python console
Widget Browser Allows browsing through all available Widgets with working examples, example code and configuration help
admi18n localization tool
Tool to collect internationalized strings and create new language catalogs
I started playing around with Turbogears some time ago and like it very much. The documentation is a bit thin at times, but the source code is easy to read and accessible (using ipython to interactively explore things also helped a lot.) I implemented my blog in python and had only minor problems. And the code size also turned out to be relatively small.. For the metrics fetishists:
Blog with tagging, User handling (subscription, email confirmation etc), Image handling (upload, admin, thumbnails), atom feeds (general + tag based feeds) plus some minor things:
python code : 1181 lines, 40762 bytes
kid templates : 610 lines, 21200 bytes
plus some style sheets, javascript code and images..
I think most of the attention ROR is getting is just hype and secondary hype. The first wave of hype drew a lot of PHP developers (90% without any real clue about programming) to evaluate ROR. And of course, compared to PHP ROR is like a gift from heaven.
After the hype around it persisted I tried it out myself. My impression was that it is nice but nothing worth that much hype -- plus I don't really like Ruby that much, its syntax seems to make too many things different just for the sake of it.
The good thing about ROR is that it belongs to a new current breed of web development framework putting emphasis on rapid, easy development.
I like the pythonic Turbogears very much (especially the upcoming 0.9 release).
The noscript firefox extension lets you forbid execution of javascript/java/flash by default and only enable it again for some sites (whitelist).
Internet Explorer has "Trusted Sites" or something..
So all in all that is not that much of a problem..
your example of including javax.swing.* doesn't mean the VM will load the whole swing package. the imports only exist on source level and are resolved to class and method refs in the class file. so no matter how much you import, the class file will only reference those classes that are really used..
In your 21 years have you ever seen a project built and run for several years, adding new features every week, never slip a single deadline, all without a single bug of any kind making it into production? I've two such projects, and both of them were using XP methedologies with less than four or five well-placed comments in the entire code-base.
All these frameworks limit testing capabilities and move things away from the compiler to the runtime. EL expressions, JSP taglibs, Beans using Reflection, huge XML configuration, XSLT and so on are all evaluated at runtime and none of this can be checked by a compiler.
JSP taglibs are compile-time validated. The compiler generates JSP page members/methods for them..
A large part of EL expressions can be compile-time handled, too..
(my EL implementation (contained in my project) does this.. it uses known type information to create compiled EL expressions containing generated code and runtime EL operation calls where the EL ops can't be handled by the compiler..)
If you're opposed to generate "simple HTML" via frameworks, I suppose you don't use compilers anyway.. I mean, binary code is so simple, right?;)
The steps needed to activate NVIDIA drivers with feisty alpha on my laptop were: start "System/Administration/Restricted Drivers Manager", enter my password and click to enable NVIDIA drivers..
if you do that on a laptop (Dell Latitude D820 in my case) you might also want to install wmctrl to get back your gnome panels when you come home from work and it puts them on the no longer existing other monitor.. (I'd really like to know why the window coordinates are doubled for the gnome panels..)
Server-side Java is anything but dead and not just limited to EJB -- especially Spring has quite a growth potential.
We are talking about websites/webapplications here. The question is not whether you can and want to install it, but whether the customers/target group of that website want to/can/will install it -- and the answer is no, they won't. Even the most trivial install will only be made by a small percentage of people.
More than 90% of all webusers already have an AJAX-capable browser though.
the common argument against modes in software is that they lead to mode errors. Users forget they're in the mode and thus the software doesn't act like it's expected to be. there seem to be very few exceptions where that is no problem, e.g. holding down the shift key to enter the uppercase mode
.. and don't confuse it with User Mode Linux either.
The main benefit of AJAX is more uniform browser support and the absence of distracting things like a always running throbber. That's it -- no more, no less. So when the hype has faded the people who know what they're doing will still use it to shorten the UI flow.
I'd like to advertise my own, unpopular javascript library:
The ff javascript library
A ultra lightweight (below 7k normal / below 3k gzipped) javascript library offering crossbrowser support for:
While the article mentions Catwalk (toolbox app to set up initial database objects) it does not mention some of the very nice new features in Turbogears 0.9a6 (supposed to be real close to 1.0 now):
- Identity Management
- Widgets / Forms
- Internationalization support
- Optional support for SQLAlchemy instead of SQLObject
The newly added toolbox offers the following tools:The turbogears quickstart can now create a set of customizable standard classes to handle standard authentication and authorization. A User Group Permission model coming with easy-to-use identity decorators for exposed methods. ( Identity Management Documentation )
A system to create reusable Form Widgets (with optional scripting / styles) and to use them in forms -- including support for error display and data retention.
Database tool meant to ease the creation of initial data. Sure, you can always just use plain SQL to set them up, but managing relations between tables can be slow and bothersome, especially for N-to-M relations (RelatedJoins in SQLObject terms)
Toolbox tool helping to design your models. (Showing diagrams etc)
Allows browsing through all available Widgets with working examples, example code and configuration help
Tool to collect internationalized strings and create new language catalogs
I started playing around with Turbogears some time ago and like it very much. The documentation is a bit thin at times, but the source code is easy to read and accessible (using ipython to interactively explore things also helped a lot.) I implemented my blog in python and had only minor problems. And the code size also turned out to be relatively small.. For the metrics fetishists:
Blog with tagging, User handling (subscription, email confirmation etc), Image handling (upload, admin, thumbnails), atom feeds (general + tag based feeds) plus some minor things:
- python code : 1181 lines, 40762 bytes
- kid templates : 610 lines, 21200 bytes
plus some style sheets, javascript code and images..well.. seing that the former was named after the latter that's ok.
I think most of the attention ROR is getting is just hype and secondary hype. The first wave of hype drew a lot of PHP developers (90% without any real clue about programming) to evaluate ROR. And of course, compared to PHP ROR is like a gift from heaven.
After the hype around it persisted I tried it out myself. My impression was that it is nice but nothing worth that much hype -- plus I don't really like Ruby that much, its syntax seems to make too many things different just for the sake of it.
The good thing about ROR is that it belongs to a new current breed of web development framework putting emphasis on rapid, easy development. I like the pythonic Turbogears very much (especially the upcoming 0.9 release).
The noscript firefox extension lets you forbid execution of javascript/java/flash by default and only enable it again for some sites (whitelist). Internet Explorer has "Trusted Sites" or something.. So all in all that is not that much of a problem..
Information wants to wear a burqa!
your example of including javax.swing.* doesn't mean the VM will load the whole swing package. the imports only exist on source level and are resolved to class and method refs in the class file. so no matter how much you import, the class file will only reference those classes that are really used..
You should really look up working with and configuring freeform projects..
( e.g. http://www.netbeans.org/kb/41/freeform-config.html )
Free form projects let you use arbitrary ant-scripts with netbeans.. Netbeans5.0 is really much better than 3.6..
I'm not sure.. Runtime type inspection and reflection is a great ability to have in your code..
of course not.. how should a compiler check runtime type casting from java.lang.Object to another type?
JSP taglibs are compile-time validated. The compiler generates JSP page members/methods for them..
A large part of EL expressions can be compile-time handled, too.. (my EL implementation (contained in my project) does this.. it uses known type information to create compiled EL expressions containing generated code and runtime EL operation calls where the EL ops can't be handled by the compiler..)
If you're opposed to generate "simple HTML" via frameworks, I suppose you don't use compilers anyway.. I mean, binary code is so simple, right? ;)