When I first heard about the search history feature, I was hoping it would track searches on Google Scholar in addition to regular Google queries. No such luck!
Many companies (including mine) do not allow users to download plug-ins for a variety of reasons (security, ease of administration, etc.).
An SVG plugin is a fine solution if the enterprise is willing to allow it. But what happens if a company provides a Web app to its customers, and those customers don't allow their users to download browser plugins?
This happened at my company. We wanted to provide a map UI to our customers using SVG, but many of our customer's IT staffs (including our own, heh!) were unwilling to allow SVG plugins to be installed. We had to go with another solution.
If SVG is built natively into the browser, this isn't a problem.
I used StarLogo in 1998 for my undergraduate senior seminar emergent behavior in decentralized systems. At the time StarLogo was only available for Macintosh so I had to talk our University's computer center into loaning me a Mac. A PC version was in the works but wasn't quite stable. The fact that it's been ported to Java is very cool indeed!
Under Buena Vista's model, every student and faculty member receives a Gateway Solo laptop with a wireless network card with the laptops being swapped out for new ones every few years.
I'm not sure how Sun would treat JBoss and Tomcat since they have their own app server that they'd like people to use (iPlanet AppServer). The iPlanet product is not particularly good when compared/contrasted with WebLogic, Websphere, Orion, etc. I could see Sun giving up their iPlanet partnership and bundling Apache, Tomcat, and JBoss with Solaris... it could happen, I suppose.
But does it support the paddles and the joystick? If I have to dig out my joystick I won't even bother to take the Warlords cartridge out of the box.:-)
Do you guys use this kind of method, or do you try to do everything in one program? What
advantages or disadvantages do you see in creating one program compared to many programs?
I would tend to shy away from the term program. Instead, I try to think in terms of objects/components/modules/modular-piece-of-your-p aradigm (we'll just say 'object' for now) and then identify the most concise, clean, and efficient way to implement the individual objects. If Java has a clean way to implement it, do it in Java. If it makes more sense to write it in Perl, do it in Perl.
The real problem that arises is how to hook these different languages together. If these objects can or will ultimately reside on different boxes, then CORBA or some other object brokering/naming service could suffice. Or you could just talk via your own protocol (whatever you choose) over sockets since many languages support sockets. The reason I make a big deal about the interconnections between objects is that I've seen this done badly before. I once worked for a DoD-contractor and the program was written in C, Ada, and ksh. The interface between the different languages' modules was so horrible you couldn't tell what was calling what and when the program crashed, the exception handling mechanism was so bizarre that you couldn't actually tell what happened. This was due in part to the dissimilarity of the error checking facilities in the different languages.
So, the gist of it is use different languages if it makes sense. If using different languages is not absolutely necessary, don't do it because you'd only be making the system harder to maintain by requiring a maintainer or mainteners to have experience with languages X, Y, AND Z instead of just language X.
<SARCASM>
As punishment for several misdemeanors, I was sentenced to perform community service in the
form of UNIX system administration... a fate far more terrifying than any prison sentence. </SARCASM>
In all seriousness, I went to a small private school (about 1,200 students) and they had several Solaris boxes that they needed to administrate. Unfortunately (or rather fortunately for me) the IT department had no one on their staff with solid UNIX experience. I volunteered to be an apprentice under the current student sysadmin and after reading many books, man pages, etc., I settled into the role of sysadmin. I realize this is an ideal situation and that I was very fortunate since most college IT depts. do not allow students to have that much responsibility for their production-level servers. However, the point I'd like to make is that most sysadmins are willing to share their craft with anyone willing to learn. If you show up to a college/university IT dept and express interest, someone is likely to take you under their wing even if it an informal, unpaid-type situation. At least then you would be acquiring sysadmin skills that you could use in the future.
I have seen success estimating development time in person-hours using object point and function point estimation methods. Provided you have people that have estimation experience, these methods are usually quite good at approximating the amount of time it will take to develop each component in a system. However....
... I've found that even though you may correctly estimate the development time for a project, time schedules are often thrown off by team meetings, conference calls, interruptions by coworkers who want to tell you about what happened to their cat this weekend, etc. I believe someone in a previous post referred to the "interchangeable morons" concept in Stroustrup's C++ Language book. The team must be an efficient unit and the project manager must be intent on keeping meeting overhead to a necessary minimum. Otherwise, a well-estimated project will run over its schedule every single time.
Allow me to reply to my own comment. Perhaps this is why MS has excluded that word:
dis-es-tab-lish-men-tar-i-an (n.) - An opponent of an established order, especially one who opposes state support of an established church.
dis-es-tab-lish-men-tar-i-an adj.
dis-es-tab-lish-men-tar-i-an-ism n.
You wouldn't want to give users the chance to describe themselves as Micro$oft disestablishmentarians, would you?:-)
I've noticed words missing from the MS Word dictionary as well as the thesaurus. For example, I tried to use the word 'disestablishmentarianism' the other day and the Evil Red Squiggly Line (TM) appeared beneath it. When I right-clicked on it, the popup menu listed no spelling suggestions. Disestablishmentarianism is a word in nearly every English dictionary... odd that it doesn't exist in MS Word.
The sad truth is I worked on a couple of products for a gov contractor a couple of years ago that featured main() methods similar to that... and that was the only error handling in the entire program!! One was written in C++ and one was written in Ada; both support exception handling mechanisms. They were both horrid to debug as you can well imagine.
>> due to MS's inability to adhear to their own standards. This is an area that Linux could have capitalized on, but unfortunately developers were too interested in developing GUI's for developers... not the average Joe.
This quite simply misses the point of the way OSS GUI development has gone. Yes - in the beginning, it was all about the developers. Then, as more users came in, they started having individual itches to scratch, and due to the open nature of OSS, those with the programming skill to do so, could scratch their itch, and come out with a GUI of their own, that fixes their own problem. Then, by releasing it to the world, either in the form of a patch (for small itches) or a full-fledged fork of the source code (for broader-ranging itches), other users could benefit.
Note that I said "the average Joe." You insinuate that they can "scratch their itch" by "coming out with a GUI of their own." Why are you assuming that the average user A) has programming experience, and B) wants to go to the trouble of writing code or modifying configurations? I seriously doubt my friend the average Joe teacher or my uncle the average Joe farmer will want to write their own GUIs. I'm not sure I'm the one who missed the point here.
I don't think it's accurate to say that Windows suffers a usability problem.
Almost every system suffers from usability problems at some level. This occurs everytime the interface model does not exactly correspond to the user's mental model. Therefore, technically Windows does have usability problems.
I would agree that Windows is improving in terms of reliability. I would not pat MS on the back, however, because I consider how long it has taken them to get to this point.
I totally agree with your last paragraph... apps and ease of use are the determining factors for me as well (along with reliability... which is improving for both Linux and Windows).
Windows suffers in two areas: reliability and usability. Obviously, Linux is quite good w.r.t. the former, but not so good w.r.t. the latter. Windows seems to crash everytime I'm really doing something important. Linux has only crashed on me once in my entire life (remarkable, I'll admit).
However, usability is king with users. Most users who have seen Windows for the first time simply can't figure it out because it doesn't map to their mental model of how the system should work. Double-clicking? Minimize a window? Right-click to bring up "hidden" actions? Click "Start" to find the "Shutdown" command? These things are counter-intuitive to any beginner, and even seasoned veterans are confused when a new version of Windows comes out due to MS's inability to adhear to their own standards. This is an area that Linux could have capitalized on, but unfortunately developers were too interested in developing GUI's for developers... not the average Joe.
This is why Linux will "lose the battle." You can point to monopolies and such as long as you want, but in the end the user makes the decision what he or she wants, and the user will say that the switch to Linux doesn't offer enough benefits to justify a shift.
Note that the FAQ mentions that this "service" is not available in all areas just yet. Mine must not be one of them because I can still grab my POP mail via Netscape Messenger.
As usual, Katz incisive and thought provoking (NOT) analysis of the situation leaves one breathless...
I beg to differ. It was thought-provoking for me. It caused me to look up the correct spelling of "reconnaissance." (note the correct double 's' Katz).
HP-UX may be a lesser operating system but it is far more common than Tru64. Tru64 is far faster though.
I especially agree on the "far more common" statement. This is probably just a cost-cutting measure in a market that's not particularly hot right now, but HP should be wary that this might send the wrong message to folks who have committed to HP-UX. Every client I have ever had during my professional career has utilized HP-UX in their network infrastructure to some degree... hopefully they won't get panicky as a result of HP's lack of commitment on IA-64!
<SARCASM>
What? I thought that Marilyn Manson,
skateboarding, and computer knowledge were the
things that drove kids to commit murder in schools. </SARCASM>
Please pardon my sarcasm, but I'm really getting sick of this whole argument.
When I first heard about the search history feature, I was hoping it would track searches on Google Scholar in addition to regular Google queries. No such luck!
Many companies (including mine) do not allow users to download plug-ins for a variety of reasons (security, ease of administration, etc.).
An SVG plugin is a fine solution if the enterprise is willing to allow it. But what happens if a company provides a Web app to its customers, and those customers don't allow their users to download browser plugins?
This happened at my company. We wanted to provide a map UI to our customers using SVG, but many of our customer's IT staffs (including our own, heh!) were unwilling to allow SVG plugins to be installed. We had to go with another solution.
If SVG is built natively into the browser, this isn't a problem.
3. "OpenOffice 1.1 is an open-source alternative."
OpenOffice does not have a dedicated development or support rteam.
Apparently MS does not have dedicated editing staff for their sales & marketing publications.
I used StarLogo in 1998 for my undergraduate senior seminar emergent behavior in decentralized systems. At the time StarLogo was only available for Macintosh so I had to talk our University's computer center into loaning me a Mac. A PC version was in the works but wasn't quite stable. The fact that it's been ported to Java is very cool indeed!
One of the first to do this was Buena Vista University (a private school in Iowa... check out MyWirelessCampus.com).
Under Buena Vista's model, every student and faculty member receives a Gateway Solo laptop with a wireless network card with the laptops being swapped out for new ones every few years.
Number 5... is alive??
I'm not sure how Sun would treat JBoss and Tomcat since they have their own app server that they'd like people to use (iPlanet AppServer). The iPlanet product is not particularly good when compared/contrasted with WebLogic, Websphere, Orion, etc. I could see Sun giving up their iPlanet partnership and bundling Apache, Tomcat, and JBoss with Solaris... it could happen, I suppose.
But does it support the paddles and the joystick? If I have to dig out my joystick I won't even bother to take the Warlords cartridge out of the box. :-)
More importantly, does Dell sell infinite tape? I'll bet infinite tape is difficult to manufacture. ;-)
Do you guys use this kind of method, or do you try to do everything in one program? What
p aradigm (we'll just say 'object' for now) and then identify the most concise, clean, and efficient way to implement the individual objects. If Java has a clean way to implement it, do it in Java. If it makes more sense to write it in Perl, do it in Perl.
advantages or disadvantages do you see in creating one program compared to many programs?
I would tend to shy away from the term program. Instead, I try to think in terms of objects/components/modules/modular-piece-of-your-
The real problem that arises is how to hook these different languages together. If these objects can or will ultimately reside on different boxes, then CORBA or some other object brokering/naming service could suffice. Or you could just talk via your own protocol (whatever you choose) over sockets since many languages support sockets. The reason I make a big deal about the interconnections between objects is that I've seen this done badly before. I once worked for a DoD-contractor and the program was written in C, Ada, and ksh. The interface between the different languages' modules was so horrible you couldn't tell what was calling what and when the program crashed, the exception handling mechanism was so bizarre that you couldn't actually tell what happened. This was due in part to the dissimilarity of the error checking facilities in the different languages.
So, the gist of it is use different languages if it makes sense. If using different languages is not absolutely necessary, don't do it because you'd only be making the system harder to maintain by requiring a maintainer or mainteners to have experience with languages X, Y, AND Z instead of just language X.
<SARCASM>
As punishment for several misdemeanors, I was sentenced to perform community service in the
form of UNIX system administration... a fate far more terrifying than any prison sentence.
</SARCASM>
In all seriousness, I went to a small private school (about 1,200 students) and they had several Solaris boxes that they needed to administrate. Unfortunately (or rather fortunately for me) the IT department had no one on their staff with solid UNIX experience. I volunteered to be an apprentice under the current student sysadmin and after reading many books, man pages, etc., I settled into the role of sysadmin. I realize this is an ideal situation and that I was very fortunate since most college IT depts. do not allow students to have that much responsibility for their production-level servers. However, the point I'd like to make is that most sysadmins are willing to share their craft with anyone willing to learn. If you show up to a college/university IT dept and express interest, someone is likely to take you under their wing even if it an informal, unpaid-type situation. At least then you would be acquiring sysadmin skills that you could use in the future.
I have seen success estimating development time in person-hours using object point and function point estimation methods. Provided you have people that have estimation experience, these methods are usually quite good at approximating the amount of time it will take to develop each component in a system. However....
... I've found that even though you may correctly estimate the development time for a project, time schedules are often thrown off by team meetings, conference calls, interruptions by coworkers who want to tell you about what happened to their cat this weekend, etc. I believe someone in a previous post referred to the "interchangeable morons" concept in Stroustrup's C++ Language book. The team must be an efficient unit and the project manager must be intent on keeping meeting overhead to a necessary minimum. Otherwise, a well-estimated project will run over its schedule every single time.
Allow me to reply to my own comment. Perhaps this is why MS has excluded that word:
:-)
dis-es-tab-lish-men-tar-i-an (n.) - An opponent of an established order, especially one who opposes state support of an established church.
dis-es-tab-lish-men-tar-i-an adj.
dis-es-tab-lish-men-tar-i-an-ism n.
You wouldn't want to give users the chance to describe themselves as Micro$oft disestablishmentarians, would you?
I've noticed words missing from the MS Word dictionary as well as the thesaurus. For example, I tried to use the word 'disestablishmentarianism' the other day and the Evil Red Squiggly Line (TM) appeared beneath it. When I right-clicked on it, the popup menu listed no spelling suggestions. Disestablishmentarianism is a word in nearly every English dictionary... odd that it doesn't exist in MS Word.
The sad truth is I worked on a couple of products for a gov contractor a couple of years ago that featured main() methods similar to that... and that was the only error handling in the entire program!! One was written in C++ and one was written in Ada; both support exception handling mechanisms. They were both horrid to debug as you can well imagine.
>> due to MS's inability to adhear to their own standards. This is an area that Linux could have capitalized on, but unfortunately developers were too interested in developing GUI's for developers... not the average Joe.
This quite simply misses the point of the way OSS GUI development has gone. Yes - in the beginning, it was all about the developers. Then, as more users came in, they started having individual itches to scratch, and due to the open nature of OSS, those with the programming skill to do so, could scratch their itch, and come out with a GUI of their own, that fixes their own problem. Then, by releasing it to the world, either in the form of a patch (for small itches) or a full-fledged fork of the source code (for broader-ranging itches), other users could benefit.
Note that I said "the average Joe." You insinuate that they can "scratch their itch" by "coming out with a GUI of their own." Why are you assuming that the average user A) has programming experience, and B) wants to go to the trouble of writing code or modifying configurations? I seriously doubt my friend the average Joe teacher or my uncle the average Joe farmer will want to write their own GUIs. I'm not sure I'm the one who missed the point here.
I don't think it's accurate to say that Windows suffers a usability problem.
Almost every system suffers from usability problems at some level. This occurs everytime the interface model does not exactly correspond to the user's mental model. Therefore, technically Windows does have usability problems.
I would agree that Windows is improving in terms of reliability. I would not pat MS on the back, however, because I consider how long it has taken them to get to this point.
I totally agree with your last paragraph... apps and ease of use are the determining factors for me as well (along with reliability... which is improving for both Linux and Windows).
Windows suffers in two areas: reliability and usability. Obviously, Linux is quite good w.r.t. the former, but not so good w.r.t. the latter. Windows seems to crash everytime I'm really doing something important. Linux has only crashed on me once in my entire life (remarkable, I'll admit).
However, usability is king with users. Most users who have seen Windows for the first time simply can't figure it out because it doesn't map to their mental model of how the system should work. Double-clicking? Minimize a window? Right-click to bring up "hidden" actions? Click "Start" to find the "Shutdown" command? These things are counter-intuitive to any beginner, and even seasoned veterans are confused when a new version of Windows comes out due to MS's inability to adhear to their own standards. This is an area that Linux could have capitalized on, but unfortunately developers were too interested in developing GUI's for developers... not the average Joe.
This is why Linux will "lose the battle." You can point to monopolies and such as long as you want, but in the end the user makes the decision what he or she wants, and the user will say that the switch to Linux doesn't offer enough benefits to justify a shift.
Note that the FAQ mentions that this "service" is not available in all areas just yet. Mine must not be one of them because I can still grab my POP mail via Netscape Messenger.
As usual, Katz incisive and thought provoking (NOT) analysis of the situation leaves one breathless...
I beg to differ. It was thought-provoking for me. It caused me to look up the correct spelling of "reconnaissance." (note the correct double 's' Katz).
HP-UX may be a lesser operating system but it is far more common than Tru64. Tru64 is far faster though.
I especially agree on the "far more common" statement. This is probably just a cost-cutting measure in a market that's not particularly hot right now, but HP should be wary that this might send the wrong message to folks who have committed to HP-UX. Every client I have ever had during my professional career has utilized HP-UX in their network infrastructure to some degree... hopefully they won't get panicky as a result of HP's lack of commitment on IA-64!
makes your peice look stupid anyways...
:-)
... which is kind of like how misspelling piece makes you like stupid.
Of course, (HP + Compaq) < (AOL + TW), but come on...
... and eventually (HP + Compaq) c (AOL + TW). Just give it time. :-)
NOTE: "c" is intended to be subset notation.
<SARCASM>
What? I thought that Marilyn Manson,
skateboarding, and computer knowledge were the
things that drove kids to commit murder in
schools.
</SARCASM>
Please pardon my sarcasm, but I'm really getting sick of this whole argument.
What about Teach Yourself the Art of Computer Programming in 21 Days?