Domain: arsdigita.com
Stories and comments across the archive that link to arsdigita.com.
Comments · 135
-
look at Philip and Alex's guidePhilip and Alex's guide to Web Publishing is a handy reference for these sorts of things. They even describe how to get e-commerce "working" in a general way, all the way down to credit card processing (i.e. getting a merchant bank account + more) in Chapter 14
You'll want to use a "real" RDBMS. I'm not trying to flame here, but MySQL is inadequate for storing your customers' data because it doesn't support transactions. If one of your scripts accidentally breaks (due to bad user data), you do not want to bill them or store their order accidentally. Likewise, you want to update "stock/availablility information" atomically. There are probably some parts of your site that you could use MySQL for (i.e. authentication), but since you will need transactions for a critical part of your product anyway, you may as well go with Sybase, Oracle, PostgreSQL or SOLID. The MySQL developers have made it pretty clear that even if they implement something "called" transactions, it will fail the ACID test. (see the links from http://openacs.org for more objective info.) In any case, don't run the db server on the same machine as the WWW server -- remember the example set by CDUniverse.com, who lost many credit card numbers to a cracker.
If you have any db/php beginners on your team, you might want to show them this article I wrote for the Linux Journal -- it features a (cursory) overview of some of the topics you'll need to teach them.
Best of luck! ~wog
-
Remember it's a different architectureWAP creates its own session ids, and that stops other serverside objects from sharing the same objects.
The thing to realize is that in WAP you have a proxy/gateway sitting between the cell phone and web server.
Judging from the Wireless Session Protocol Specfication at http://www.wapforum.org/what/technical.h tm it looks like most of the session handling stuff is geared to handling the connection between the phone and proxy.
In a perfect world we'd simply use cookies to track session just like in HTTP, but sadly these don't seem to work reliably yet in WAP. In the meantime, you'll have to resort to either passing session identifiers as form variables or else in the URL.
For anyone interested, I'm working on an overview article on how to add wireless users to your web service. The draft lives at http://dev.arsdigita.com/asj/wireless/.
-
Altruistic Capitalism
I'll quickly summarize my position so that those who are interested can read the details below. Making the establishment friendly to individual expression means that the establishment must be changed. One highly effective means of changing the nature of the establishment is promoting change from within. That means fighting it on its own terms. The people that hold both money and altruistic intentions could bring about great change pursuing their altruistic aims in the same way many in America promote their corporate aims.
Being a successful capitalist does not necessarily mean that one must abandon altruism societal goals . My background is in Economics and I currently work in policy analysis, so I feel I have a good grounding in how money influences politics and the shape of the establishment. I must agree that the groups most influential in policy making are those organizations that have great sums of money to support their causes. However, I do not see that all groups that are successful making money necessarily hold the same aims or ideals. In a nation where money and lobbying effort dictate a great deal of policy, there seems to be a great deal of room for altruistic capitalism. That is, successful companies, or individuals can promote beneficial change to the establishment the same way that unwelcome policies are promoted.
Many people have a bad taste for special interests that are not viewed as being beneficial to the wider public. What if, all of the sudden, the desire to promote the public's ability to be individualistic became a well funded special interest?
Fortunately we live in a time when a number of people and companies are making large sums of money using non-traditional business structures and plans. Many business models indoctrinate a certain establishment oriented attitude. However, new ground is being broken for successful companies that do not indoctrinate such principles. Think for a moment about the success of Slashdot itself. Also, I would like to refer you to ArsDigita. Read the ArsDigita mission statement, and decide for yourself about the potential of altruistic capitalism.
Many Slashdot readers are supportive of the Free Software Foundation and its aims. The Foundation is quite illustrative of an organization that has agreeable ideals and aims, but has taken it upon themselves to fight for change via established channels. The FSF is not a bunch of punks singing about the benefits of Free Software while refusing to wear ties. They employ button down lawyers advocating change for the good of the public using the most effective means possible.
There is no reason other such organizations cannot do the same. Imagine for a moment that the creators of Slashdot took part of the money they received for joining Andover.net and organized a group of lobbyists to fight for the ideals of the Slashdot community. Now you may argue that such an effort would disagreeable because of the disparity of opinions held by the Slashdot community. I agree that such an effort certainly would suffer from the wide range of opinions among the constituency it represents. However, I argue that, once it decided on its aims, those aims would do much to promote changing the establishment in desirable ways when compared to the self-serving corporate aims of many other influential organizations.
One may also argue that a "Slashdot lobby" would be insignificant when compared to the influence other organizations. I dreamt up the Slashdot advocacy simply to illustrate a point (and it just happens that Slashdot works perfectly in this respect). Slashdot is a successful company making money without losing its altruistic aims, and we live in a time when many other companies are doing the same. Principled, altruistic groups now have the opportunity to play ball the same way unprincipled organizations with money have been pursuing their goals. The success of companies making money in non-traditional business structures may mean a great number of well funded, altruistic people are ready to organize for the public good.
I want to change the world. I am a principled man that thinks the establishment is not friendly to many things that I think people should be able to pursue. I have ruminated long and hard about how to best bring about change to the system. I could try and organize grass roots efforts, try and influence policy from the realm of academia , or I could make a shitload of money and hire my own lobbyists while running a business that does not compromise my ideals. I have decided to pursue the latter course of action.
Maybe there are others out there like me. I urge those people to be as active as possible. Some people have made great sums of money under current economic conditions, but don't like what most people have to do to survive in the current corporate environment. I urge such people to try and affect change but exerting pressure for positive change using the same means that corporate America has proven so successful.
"Slashdot D.C." - Lobbyists for Nerds
-
Axiology
If you don't have the time to look it up, here is a brief definition for you:
axiology The study of the nature of values and value judgments.
Most of this thread can be divided up into two categories neatly:
- MySQL rocks.
- MySQL sucks.
What some people neglect to do before posting their comments is ask themselves two questions: It rocks for whom/what? It sucks for whom/what?
To begin with, Ben Adida never claimed that MySQL sucked for everyone/everything. His point was, they were getting tired of being asked the same question over and over again: Why does ACS not use MySQL, when everybody else and his sister seem to be using it? His answer to that is very simple. For the kind of stuff that OpenACS and ArsDigita do, MySQL is an alternative to Oracle like Photoshop is an alternative to PostgreSQL.
Ben never said MySQL wouldn't work for YOU.
To repeat, Ben is not trying to convince you that you shouldn't be using MySQL for your project, because he doesn't know what your project is. All he is saying, he has darn good reasons not to use MySQL for his project. Why do people feel they have to take issue with that, if they don't even know what OpenACS is trying to accomplish. Why don't they shut down their computer and take a break to read a few books on axiology for a change?
- MySQL rocks.
-
ArsDigita's take on ZopeThis is an internal ArsDigita analysis (in Excel format; why?) of Zope. Obviously ArsDigita sees Zope a competitor if it comes with suggestions on how to handle it.
The document is actually very good and covers many of the advantages of Zope over the infrastructure that ACS is built on (AOLserver, Tcl, Oracle, ACS utilities). There's a "killer app alert" for Squishdot.
Weirdly, it doesn't seem to touch on Philip's arguments regarding the need for concurrency and insanely high performance.
Take a look at ArsDigita File Storage. They spend a lot of time analyzing their competitors!
-
ArsDigita's take on ZopeThis is an internal ArsDigita analysis (in Excel format; why?) of Zope. Obviously ArsDigita sees Zope a competitor if it comes with suggestions on how to handle it.
The document is actually very good and covers many of the advantages of Zope over the infrastructure that ACS is built on (AOLserver, Tcl, Oracle, ACS utilities). There's a "killer app alert" for Squishdot.
Weirdly, it doesn't seem to touch on Philip's arguments regarding the need for concurrency and insanely high performance.
Take a look at ArsDigita File Storage. They spend a lot of time analyzing their competitors!
-
ArsDigita's take on ZopeThis is an internal ArsDigita analysis (in Excel format; why?) of Zope. Obviously ArsDigita sees Zope a competitor if it comes with suggestions on how to handle it.
The document is actually very good and covers many of the advantages of Zope over the infrastructure that ACS is built on (AOLserver, Tcl, Oracle, ACS utilities). There's a "killer app alert" for Squishdot.
Weirdly, it doesn't seem to touch on Philip's arguments regarding the need for concurrency and insanely high performance.
Take a look at ArsDigita File Storage. They spend a lot of time analyzing their competitors!
-
ArsDigita's take on ZopeThis is an internal ArsDigita analysis (in Excel format; why?) of Zope. Obviously ArsDigita sees Zope a competitor if it comes with suggestions on how to handle it.
The document is actually very good and covers many of the advantages of Zope over the infrastructure that ACS is built on (AOLserver, Tcl, Oracle, ACS utilities). There's a "killer app alert" for Squishdot.
Weirdly, it doesn't seem to touch on Philip's arguments regarding the need for concurrency and insanely high performance.
Take a look at ArsDigita File Storage. They spend a lot of time analyzing their competitors!
-
Arsdigita on Slashdot and Slashcode
Hello Mr Greenspun,
Mr Malda's creation is a great success story -- I for one am not much of a geek but I spend at least as much time with Slashdot as with The New York Times. But it does have problems. The page of questions to you, for instance, is now 179k long and growing. That can be quite a long download for some.
If the Slashdot folks had hired Arsdigita to develop their site using the ArsDigita Community System , what would you do differently? I'd be very interested if you could touch on both the front and back end (more information on the Slashdot system at the Slashcode FAQ ).
Thanks for being a web development industry leader worthy of emulation.
Regards,
Adam Khan -
slashcode vs ACS/AOLserver/RDBMS
Love the book! Coffee table book idea definitely rocks.
You do a nice job of extolling the virtues of your ACS, especially since there is now an unencumbered version. Excluding things like the hosting offer you make in the book, would you like to discuss the relative merits of ACS vs slashcode?
Unencumbered version of ACS, ACS itself. Also you say (in the book) that you mirror to above.net, but it doesn't look that way from tracerouting photo.net - do you still do that? Finally, as a UK-type person, love the stand on tuition fees at MIT, not many people have the moral courage.
-
Please, RTFM
I have a friend who works for Arsdigita Corp which is a related organization but not the same as the university, and I have been looking at both the company and the university with some interest.
Anyway, the University supplies a generalize undergraduate CS program, not a votech education in particular tools. In fact, they don't teach any programming languages specifically. You have to pick up that stuff on your own.
Check out their cirriculum at the University homepage.
As for ruling out "less bright" people: They are giving their students, for free, a 4-year high level CS program in one year. Their students better be bloody bright. At that pace, they don't have time to slow down for the less-than-brilliant. I agree that SAT tests aren't a real indicator of intelligence, but I think they're using them just to make the first cut. Getting a 1400 should be no problem for the mutant-geniuses that they are trying to recruit.
-
open-source competitors to ACS?
What other open-source products are similar (i.e., solve similar problems) to the ArsDigita Community System? What are the strengths and weaknesses of those other products? What features or implementation tricks, if any, did the ACS borrow from those systems, and vice versa?
--
"But, Mulder, the new millennium doesn't begin until January 2001." -
Trouble recruiting engineers?
Upon graduating college I tried (and failed) to get a job at ArsDigita. In today's supposedly tight employee market do you find the extra lengths you ask your job applicants to go to make it difficult for you to find engineers or does your hefty compensation package and geek-friendly environment make up for it?
-
I should have written YOU'VEMaybe more than a couple will join ArsDigita but really we don't want people unless they are hardcore about http://arsdigita.com/mission/. ArsDigita is just not a very fun place to work for people who want to have an easy life, weekends with the kids, etc. To be a great ArsDigita one must (1) build great software, (2) come up with innovations, (3) teach others how to practice those innovations via short papers, longer books, and face-to-face courses.
A guy with an MD or a mother returning to the workforce after a bunch of years home with some kids might not want to subscribe to our brand of fanaticism. And they won't really be immersed in our culture as you suggest. More than half the faculty are not employees of ArsDigita (we have our share of CS PhDs but we've got work to do so we're also hiring CS PhDs whose first love is teaching).
We attack the recruiting problem with little sports cars and other, more immediate, incentives. But ultimately the best thing that we have to offer people is the guarantee that they'll be working with other smart folks (our Pasadena office was started by four Caltech PhDs) and that they'll be free to build great things without meddling from clueless managers or designers.
-
Global LeaningsArsDigita do have offices outside the States. Check them out here.
anonymous coward: raw cod annoy sumo | Amorous? Candy NOW
-
Re:company failing -> embrace Open Source -> FAIL!
Well, you're almost right.
The only company I know of that's making money hand over fist, and all the while giving away all their source code, is ArsDigita. They do a lot of work with AOLserver, but more importantly, their ArsDigita Community System is totally open and free to anyone. Their angle: it takes a smart (and well-paid) group of people to apply these tools to a client's needs (also, there's a lot more to web development than code).
-
Re:company failing -> embrace Open Source -> FAIL!
Well, you're almost right.
The only company I know of that's making money hand over fist, and all the while giving away all their source code, is ArsDigita. They do a lot of work with AOLserver, but more importantly, their ArsDigita Community System is totally open and free to anyone. Their angle: it takes a smart (and well-paid) group of people to apply these tools to a client's needs (also, there's a lot more to web development than code).
-
Re:ORIGINAL LINUX GROUPWARE TOOLS NEEDED
Interesting idea. In the interim, the ArsDigita Community System may be of interest. In essence it's web-based groupware, with lots of modules that can be added or deleted. It's written in TCL and is open source. Can be installed on any *nix that has a tcl interpreter and AOLServer as a web server (Apache, etc versions coming soon) and an SQL database. See www.arsdigita.com for more details.
-
Pi Party tonight at ArsDigita!If you're in the Boston area tonight, come to the ArsDigita Pi Party!
Here's the invitation: http://eve.arsdigita.com/pi-day -invitation-2000.tcl
-
Re:photo.net & ArsDigitaI have developed websites for the last few years. During that course of time, I used Php, mod_perl (embperl and mason), zope, ACS with AOLServer. Here are my impressions of them:
- Php Pros:
- Easy to learn. Once Apache is configured with Php, it is seductively easy to write code.
- The Db connection pooling comes in handy.
- It is yet another language (I mean, I already know perl, right? Why do I have to learn another language?).
- Also, you tend to design page by page. it does not have a great library system to use. It has lots of code snippets you can copy.
- mod_perl: This beast can be used in several ways. If you use it with Apache::Registry, y use Php,ou almost are doing a disservice to yourself. The three ways of using it are:
- embperl: Looks like Php style of embedding. Comes preconfigured with DBI and friends. But, too cumbersome to programs. It also does not encourage component programming. It provides the substrate for you to build other features you might like.
- mason: Has cool component features. Has neat features such as caching with intesting way of managing it, and autohandlers. Looks ideal for the publishing world, where it evolved. On the cons side, not too many components.
- Apache::ASP: Not used it much.
- Zope: Too different from others. The strongest suite is the built-in authorization systems and web based management system. You can program at embedded HTML level called DTML, or you can write python classes. There are several prebuild modules that run out of the box. As long as the prebuilt modules serve you well, you can go ahead and use zope. Otherwise, be prepared for a long learning curve. It almost looks black magic to me.
As an aside, python has the weirdest variable scoping and declaration rules. I ought to know, I have a PhD in programming languages.
- ACS: ACS is entirely different from others. It is not a language like Php, it is not a webserver like APache, it is not a app server like zope. What it is one man' use Php,s vision and experience about community web sites distilled into a toolkit. It is a datamodel, it is a set of practices, and a set of programs. It happens to use TCL, Oracle, and Unix. But that is almost besides the point.
The biggest selling points of ACS for me are:
- The documentation. Quite possibly the best documented system. I can take an average joe out of the street and train him to use ACS in a systematic way in no time.
- The Data model. I would expect to pay in hundreds of thousands of dollars for such a datamodel. It constantly amazes me to find the little details that I needed in those datamodel.
- Best practices to run a website. How to harden a Unix system and set up the services so that you can sleep peacefully.
- Alas, it requires Oracle. I just learnt the existence of ACS/pg and I am rejoicing!
- Not too wide spread usage. I expect this situation would change. Look at this way. I tried building a community web site. It took me untold hours to gather all the snippets of information for a Php based site. It took me no time at all to build it using ACS. I would use ACS for a community based website over any other toolkit anyday.
- No good enough template mechanism. Fortunately, ADP in AOLServer is changing that.
Rama Kanneganti
- Php Pros:
-
Re:photo.net & ArsDigitaThe real deal with Ars Digita and the ACS toolkit:
Re: few outsiders working with ACS While there aren't as many people as I would like using it on the outside just yet, there are people who are not working for Ars Digita who are working on the system. You can find these people pretty easily, as they show up at http://www.photo.net/bboard/q- and-a.tcl?topic=web/db, where people discuss using ACS, AOLServer, etc. I think that one of the primary reasons that the system has not been embraced by the open source community is simply that Oracle, while free for development use, is very expensive once you want to go live. However, because of this, a bunch of people decided to port it over to Postgresql--there is now a beta of this effort, available here: http://acspg.benadida.com This means that it is now possible to do development of ACS using 100% free, open-source components (AOLServer 3+ is open-source too, thanks to Philip and Hal Abelson at MIT).
Re: AOLServer not being popular and/or proven Hello? The reason it is called AOLServer is because AOL uses it they bought NaviSoft, makers of NaviServer, which they renamed to AOLServer). That by itself makes it popular and proven--AOL handles 28,000 hits a second using it. Of course there are other people using it too, and not just Ars Digita clients. There are even a few hosting services that'll host AOLServer, like these guys: http://www.am.net
So, what's so great about AOLServer? The nice thing about AOLServer is that out of the box it is ready to handle connections to relational databases. No need to make ODBC calls, etc. AOLServer sets up connections when it starts up and your web pages can get handles from a pool of these connections, use them, then recycle those handles. Again: no overhead for database access. Each AOLServer can handle 8 simultaneous database accesses per second, that is, it can serve up 8 database-backed pages a second. And that's on top of serving up *static* pages, which are an entirely different matter. AOLServer is nice also in that certain high level features are built right in--you can send an email with a one-line command for example or grab a web page from someplace else with a one line command (helpful for doing things like Philip's Bill Gates Wealth Clock, for example) and there's a one line command for scheduling stuff to run (like cron)from the web server. And the Tcl interpreter is built in, too, so no CGI overhead. If you want to read more about AOLServer and how it stacks up to Apache, check this out for a few quick paragraphs from Philip's book about AOLServer or for more information, go to http://www.photo.net/wtr/aol server/introduction-1.html and
http://www.photo.net/wtr/aol server/introduction-2.htmlRe: ACS no longer being the greatest thing since sliced bread Well, it does quite a lot out of the box and it is being used to create real, serious, heavy-duty websites. Given that at the moment they are busy expanding like crazy and doing work for clients, it isn't so hard to understand why they may not be driving the toolkit as hard as they could, there's lots in there already, including monitoring services in addition to just a site-building toolkit. And new modules do show up in the toolkit even so and there's a list of possible future improvements on the arsdigita site somewhere with more stuff. And Philip is thinking about this stuff, don't doubt it. In any case, if you want to see for yourself what the toolkit has, check out this page and see if it meets your needs: http://www.arsdigita.com/pages/ toolkit/modules.html
Re: Philip's book Definitely worth reading. Funny, smart, sharp. Definitely look at the technical stuff, though, even if you aren't using ACS, since at the very least the stuff on relational databases is important.
Re: Using Tcl Tcl sucks? Well, you get used to it--now that Tcl 8 has the complete Perl regular expression package, it sucks less. But, an important point is this: when you use AOLServer, you will be using a bunch of AOLServer commands in your Tcl code to get stuff done. So you won't be programming in straight Tcl. There are utility procedures that are part of the ACS toolkit that help too. And over time there will probably be some tools to do some of the grunt work (they already have one out called The Prototyper). But in any event, once you get over a few quirks, it's like programming in any other scripting language. One nice thing is that the language is pretty small, so you can learn it very quickly and get going.
By the way, at Scriptics, the company founded by Tcl's inventor John Ousterhout to support Tcl, Brent Welch, author of one of the better Tcl books and a well known "name" in the Tcl community, has built the Tcl developer's site, dev.scriptics.com, using the Ars Digita toolkit.
And, if you want to learn how to use ACS, Ars Digita offers free 3 week bootcamps in Cambridge, MA and in several other places--look on their site for a "bootcamp" link. Or you can get the problem sets used at bootcamp off their site and learn the stuff at home (if you install everything on your own machine and do the 3 problem sets (note: PS 3 has been replaced with PS 5), you get a $10,000 sign on bonus if you decide to work for Ars Digita--and speaking of working for Ars Digita--check out their salary structure (http://www.arsdigita.com/pages/j obs/tech-jobs.html). Might make you want to start learning Tcl after all
:-)___
DCP.S. If you decide to work for them, please mention me so I can get a shot at the Ferrari (actually, I'd just as soon take it in cash)
:-)P.P.S. More seriously, if you want to do the problem sets or a bootcamp, here are a few pages I put together for people like you:
Problem Set Zero This is meant to help people bone up on what they'll need to do the problem sets/bootcamp. Meta Cheat Sheet lists a bunch of useful cheat sheets that I and other bootcampers put together and some other stuff.
-
Re:photo.net & ArsDigitaThe real deal with Ars Digita and the ACS toolkit:
Re: few outsiders working with ACS While there aren't as many people as I would like using it on the outside just yet, there are people who are not working for Ars Digita who are working on the system. You can find these people pretty easily, as they show up at http://www.photo.net/bboard/q- and-a.tcl?topic=web/db, where people discuss using ACS, AOLServer, etc. I think that one of the primary reasons that the system has not been embraced by the open source community is simply that Oracle, while free for development use, is very expensive once you want to go live. However, because of this, a bunch of people decided to port it over to Postgresql--there is now a beta of this effort, available here: http://acspg.benadida.com This means that it is now possible to do development of ACS using 100% free, open-source components (AOLServer 3+ is open-source too, thanks to Philip and Hal Abelson at MIT).
Re: AOLServer not being popular and/or proven Hello? The reason it is called AOLServer is because AOL uses it they bought NaviSoft, makers of NaviServer, which they renamed to AOLServer). That by itself makes it popular and proven--AOL handles 28,000 hits a second using it. Of course there are other people using it too, and not just Ars Digita clients. There are even a few hosting services that'll host AOLServer, like these guys: http://www.am.net
So, what's so great about AOLServer? The nice thing about AOLServer is that out of the box it is ready to handle connections to relational databases. No need to make ODBC calls, etc. AOLServer sets up connections when it starts up and your web pages can get handles from a pool of these connections, use them, then recycle those handles. Again: no overhead for database access. Each AOLServer can handle 8 simultaneous database accesses per second, that is, it can serve up 8 database-backed pages a second. And that's on top of serving up *static* pages, which are an entirely different matter. AOLServer is nice also in that certain high level features are built right in--you can send an email with a one-line command for example or grab a web page from someplace else with a one line command (helpful for doing things like Philip's Bill Gates Wealth Clock, for example) and there's a one line command for scheduling stuff to run (like cron)from the web server. And the Tcl interpreter is built in, too, so no CGI overhead. If you want to read more about AOLServer and how it stacks up to Apache, check this out for a few quick paragraphs from Philip's book about AOLServer or for more information, go to http://www.photo.net/wtr/aol server/introduction-1.html and
http://www.photo.net/wtr/aol server/introduction-2.htmlRe: ACS no longer being the greatest thing since sliced bread Well, it does quite a lot out of the box and it is being used to create real, serious, heavy-duty websites. Given that at the moment they are busy expanding like crazy and doing work for clients, it isn't so hard to understand why they may not be driving the toolkit as hard as they could, there's lots in there already, including monitoring services in addition to just a site-building toolkit. And new modules do show up in the toolkit even so and there's a list of possible future improvements on the arsdigita site somewhere with more stuff. And Philip is thinking about this stuff, don't doubt it. In any case, if you want to see for yourself what the toolkit has, check out this page and see if it meets your needs: http://www.arsdigita.com/pages/ toolkit/modules.html
Re: Philip's book Definitely worth reading. Funny, smart, sharp. Definitely look at the technical stuff, though, even if you aren't using ACS, since at the very least the stuff on relational databases is important.
Re: Using Tcl Tcl sucks? Well, you get used to it--now that Tcl 8 has the complete Perl regular expression package, it sucks less. But, an important point is this: when you use AOLServer, you will be using a bunch of AOLServer commands in your Tcl code to get stuff done. So you won't be programming in straight Tcl. There are utility procedures that are part of the ACS toolkit that help too. And over time there will probably be some tools to do some of the grunt work (they already have one out called The Prototyper). But in any event, once you get over a few quirks, it's like programming in any other scripting language. One nice thing is that the language is pretty small, so you can learn it very quickly and get going.
By the way, at Scriptics, the company founded by Tcl's inventor John Ousterhout to support Tcl, Brent Welch, author of one of the better Tcl books and a well known "name" in the Tcl community, has built the Tcl developer's site, dev.scriptics.com, using the Ars Digita toolkit.
And, if you want to learn how to use ACS, Ars Digita offers free 3 week bootcamps in Cambridge, MA and in several other places--look on their site for a "bootcamp" link. Or you can get the problem sets used at bootcamp off their site and learn the stuff at home (if you install everything on your own machine and do the 3 problem sets (note: PS 3 has been replaced with PS 5), you get a $10,000 sign on bonus if you decide to work for Ars Digita--and speaking of working for Ars Digita--check out their salary structure (http://www.arsdigita.com/pages/j obs/tech-jobs.html). Might make you want to start learning Tcl after all
:-)___
DCP.S. If you decide to work for them, please mention me so I can get a shot at the Ferrari (actually, I'd just as soon take it in cash)
:-)P.P.S. More seriously, if you want to do the problem sets or a bootcamp, here are a few pages I put together for people like you:
Problem Set Zero This is meant to help people bone up on what they'll need to do the problem sets/bootcamp. Meta Cheat Sheet lists a bunch of useful cheat sheets that I and other bootcampers put together and some other stuff.
-
Re:photo.net & ArsDigitaThe real deal with Ars Digita and the ACS toolkit:
Re: few outsiders working with ACS While there aren't as many people as I would like using it on the outside just yet, there are people who are not working for Ars Digita who are working on the system. You can find these people pretty easily, as they show up at http://www.photo.net/bboard/q- and-a.tcl?topic=web/db, where people discuss using ACS, AOLServer, etc. I think that one of the primary reasons that the system has not been embraced by the open source community is simply that Oracle, while free for development use, is very expensive once you want to go live. However, because of this, a bunch of people decided to port it over to Postgresql--there is now a beta of this effort, available here: http://acspg.benadida.com This means that it is now possible to do development of ACS using 100% free, open-source components (AOLServer 3+ is open-source too, thanks to Philip and Hal Abelson at MIT).
Re: AOLServer not being popular and/or proven Hello? The reason it is called AOLServer is because AOL uses it they bought NaviSoft, makers of NaviServer, which they renamed to AOLServer). That by itself makes it popular and proven--AOL handles 28,000 hits a second using it. Of course there are other people using it too, and not just Ars Digita clients. There are even a few hosting services that'll host AOLServer, like these guys: http://www.am.net
So, what's so great about AOLServer? The nice thing about AOLServer is that out of the box it is ready to handle connections to relational databases. No need to make ODBC calls, etc. AOLServer sets up connections when it starts up and your web pages can get handles from a pool of these connections, use them, then recycle those handles. Again: no overhead for database access. Each AOLServer can handle 8 simultaneous database accesses per second, that is, it can serve up 8 database-backed pages a second. And that's on top of serving up *static* pages, which are an entirely different matter. AOLServer is nice also in that certain high level features are built right in--you can send an email with a one-line command for example or grab a web page from someplace else with a one line command (helpful for doing things like Philip's Bill Gates Wealth Clock, for example) and there's a one line command for scheduling stuff to run (like cron)from the web server. And the Tcl interpreter is built in, too, so no CGI overhead. If you want to read more about AOLServer and how it stacks up to Apache, check this out for a few quick paragraphs from Philip's book about AOLServer or for more information, go to http://www.photo.net/wtr/aol server/introduction-1.html and
http://www.photo.net/wtr/aol server/introduction-2.htmlRe: ACS no longer being the greatest thing since sliced bread Well, it does quite a lot out of the box and it is being used to create real, serious, heavy-duty websites. Given that at the moment they are busy expanding like crazy and doing work for clients, it isn't so hard to understand why they may not be driving the toolkit as hard as they could, there's lots in there already, including monitoring services in addition to just a site-building toolkit. And new modules do show up in the toolkit even so and there's a list of possible future improvements on the arsdigita site somewhere with more stuff. And Philip is thinking about this stuff, don't doubt it. In any case, if you want to see for yourself what the toolkit has, check out this page and see if it meets your needs: http://www.arsdigita.com/pages/ toolkit/modules.html
Re: Philip's book Definitely worth reading. Funny, smart, sharp. Definitely look at the technical stuff, though, even if you aren't using ACS, since at the very least the stuff on relational databases is important.
Re: Using Tcl Tcl sucks? Well, you get used to it--now that Tcl 8 has the complete Perl regular expression package, it sucks less. But, an important point is this: when you use AOLServer, you will be using a bunch of AOLServer commands in your Tcl code to get stuff done. So you won't be programming in straight Tcl. There are utility procedures that are part of the ACS toolkit that help too. And over time there will probably be some tools to do some of the grunt work (they already have one out called The Prototyper). But in any event, once you get over a few quirks, it's like programming in any other scripting language. One nice thing is that the language is pretty small, so you can learn it very quickly and get going.
By the way, at Scriptics, the company founded by Tcl's inventor John Ousterhout to support Tcl, Brent Welch, author of one of the better Tcl books and a well known "name" in the Tcl community, has built the Tcl developer's site, dev.scriptics.com, using the Ars Digita toolkit.
And, if you want to learn how to use ACS, Ars Digita offers free 3 week bootcamps in Cambridge, MA and in several other places--look on their site for a "bootcamp" link. Or you can get the problem sets used at bootcamp off their site and learn the stuff at home (if you install everything on your own machine and do the 3 problem sets (note: PS 3 has been replaced with PS 5), you get a $10,000 sign on bonus if you decide to work for Ars Digita--and speaking of working for Ars Digita--check out their salary structure (http://www.arsdigita.com/pages/j obs/tech-jobs.html). Might make you want to start learning Tcl after all
:-)___
DCP.S. If you decide to work for them, please mention me so I can get a shot at the Ferrari (actually, I'd just as soon take it in cash)
:-)P.P.S. More seriously, if you want to do the problem sets or a bootcamp, here are a few pages I put together for people like you:
Problem Set Zero This is meant to help people bone up on what they'll need to do the problem sets/bootcamp. Meta Cheat Sheet lists a bunch of useful cheat sheets that I and other bootcampers put together and some other stuff.
-
Some links pertinant to this commentSome links you might find useful are:
- Phlip and Alex's Guide to Web Publishing
- Web Tools Review
- ArsDigita Server Architecture
- Free One Day Web Courses
- ArsDigita Community System - An opensource toolkit for building database driven websites
- Web Nerds Bookshelf
- Photo.net discussion forums
- AOLserver
-
Read up on Philip G's essay on managing S/W engnrs
And how they have pulled it off at ArsDigita (read it here). A must read, IMHO.
-
Good background information
If you're really serious about getting into web stuff, study http://arsdigita.com/ and http://photo.net/, as there's stuff like an entire book online on how to set up a serious e-commerce site. And the author's an entertaining writer, too.
-
already exists also
Another GNU GPL "module" or "component" structured system is being built up by Arsdigita.
For more information check out:
the guide to the Arsdigita Community system,
Arsdigita.com,
and the photo.net web tools review -
AOLserver/ArsDigita Community System/Oracle
FWIW, a sort-of prepackaged solution could be to go with Philip Greenspun's ACS, with an Oracle and AOLserver substrate.
I've got the ACS, AOLserver, and Oracle 8.0.5 running on a Thinkpad (P133) with 48mb RAM/2gig HDD, and it's usable for development. It would only host, probably, 10 users before it became too sluggish for end users, but we're talking a crummy P133 Thinkpad here...
The Upside: robust, ongoing development (see Philip's photo.net) from MIT educated brains. Any development of modules you might do can be used by other ACS users, and you get the "many eyes, shallow bugs" effect.
Also, the ADP programming model is very similar to PHP.
The Downside: you're pretty much restricted to Oracle and Tcl. Some people like Tcl, some don't. Oracle, in a production environment, really needs a 6-figure DBA.
It's worth looking at -- you can extend the toolkit to suit your needs, or if you have $$$, you can hire ArsDigita to do it for you and support you.
-
multiple options for real flexibilityRunning Zope on top of Apache or using the ArsDigita Community System are probably the best options available to a business today. The ACS would need to be hacked a bit if you don't want to use Oracle as the database; Zope comes with its own object database, and has free-as-in-speech Products for calendaring, web mail, discussion forums (Squishdot is both a real live site and the distribution point for the software running it -- try it out!).
Zope is extensible in Python. The ACS is a large package of tcl code that accesses the AOLserver API (AOLserver is now also free as in speech). Both encourage a style of programming that is more maintainable than Perl. If you knew Perl already, I strongly doubt you'd have asked your question. That's actually a good thing -- the same things that make Perl great for simple one-shots make it tough for novices to maintain. Python (and to a lesser extent, tcl) is a great deal cleaner.
I didn't mention Java or Jserv -- there is a package called JetSpeed which the Java-Apache group has put out, but my initial reaction was that it was very slow. Don't take my word for it, though -- take a look and decide for yourself.
Don't be an idiot and lock yourself into Yet Another Uncaring Vendor. You can get support for Zope or the ACS direct from the developers (Digital Creations or ArsDigita respectively). If you choose to use mod_perl and postgres, you still can get professional support. With Lotus you can look forward to servers that don't write log files, proprietary APIs, flat file "databases", and other such niceties.
Don't buy into it.
-
There *is* open source e-commerce software
The biggest job I have as an implementor of EC software is convincing the clients that the hard part of electronic commerce is not the web site or the technology that runs it.
The hard part of setting up an electronic business is all the infrastructure stuff that has to go on in the background (ie. Shipping/Warehousing, Order Tracking, Customer Service, Credit Card Fraud investigations, Sales Tax accounting and payment (which can be a nightmare). Putting up a web site that displays your catalog of products, allows people to order from that catalog and takes and processes their credit card info is comparitively easy. Also, most commercial "EC" software solutions do none of the backend processes. They hook into what you already have (your accounting software does have public api's/views right?) with custom code (written by the vendor's $$$ consultants) and they are far from free (sometimes into $ millions).
OK, now to the free, open source E-commerce software running on a free, open source web server. First, read the article at http://photo.net/wtr/thebook/ecommerce. html. This provides far more detail than I have time to write here and is the best reading I could recommend to someone considering purchasing commercial EC software. Second you can get the software (it's all source code, it's in TCL) at http://arsdigita.com/free-tools/shoppe. html. Third, you can see the software in action on an ancient solaris box at http://mitpress.mit.edu.
I learned most of the stuff that Philip espouses the hard way. He is certainly not humble but I would have killed for that kind of info 18 months ago when I busted my toe on each and every stumbling block associated with online commerce!
Oh, and it all runs on Linux as well. -
Try the ArsDigita Community System
Read the book at http://photo.net/wtr/thebook and then get the ArsDigita Community System from http://software.arsdigita.com. It's based on AOLserver and Oracle and includes an ecommerce module plus other modules that let you manage various parts of your business online.
-
Zope & ArsDigitaThree things:
Check out Zope from Digital Creations. Its a completely Open Source eCommerce development kit. I'm not affiliated with DC in any way, but I have been using Zope for the past few weeks and I can tell you that it totally rocks. Its one of the most impressive pieces of technology I've ever seen. And yes, DC will be happy to sell you varying levels of consulting service and support.
You may also want to check out ArsDigita, a relatively open source toolkit based on an Oracle backend and AOLserver frontend. ArsDigita is an excellent company run Phillip Greenspun. They'll also be quite happy to take your money for hand holding and whatever else you need.
Finally, before you jump onto the eCommerce bandwagon, check out Web Tools Review, an excellent site run by Greenspun et al.
-
Re:Just my 2 cents
What does powerpoint DO??
Keeps PHBs and marketroids busy creating slide shows for each other. The only up side to this is that they then have less time to bother us hackers.Other than that, it's Concentrated Evil. I'm thinking about writing a commentary called "PowerPoint Considered Harmful":
- yet another proprietary data format
- elevates style over substance
- makes presentations dependent on unreliable software and hardware, instead of simple and reliable projectors and slides
- can mostly be replaced with the much more simple and clueful WimpyPoint
- worst of all, encourages the creation of documentation that doesn't document. Anyone who hands me a set of slides as documentation for their project, instead of an actual document - you know, sentances, paragraphs, not a damn set of presentation notes - is asking for a sharp kick to the groin. (PowerPoint didn't create this problem, but it's fed it much fuel.)
-
uptime robot
No, this isn't precisely what you were asking, but I think it's relevent:
Phil Greenspun and Jin Choi wrote a server uptime monitoring tcl script which queries (your|my|any) web-server every 15 minutes and sends an email if the server seems to be down.
http://uptime.arsdigita.com/uptime/
Just sign up with an email address and a URL, and you're good to go.
The tcl code is free and open-source, although he says, "The software is pretty simple. The hard part is keeping a relational database up and running 7 days/week, 24 hours/day." It's basically a live demo for Greenspun's book on databases, which uses AOL's server for some reason. It makes a cool live demo, anyway.
I was thinking recently that this service hosted redundently on 5 or 10 sites on different routes across the country (world?) could make a useful service, a personalized "internet weather report" for the total cost of keeping 5 to 10 servers up and running. I can't imagine they would use much bandwidth.
I know of a few companies that will monitor your network for $50/mo. but they do not tell you what networks are slow reaching your site, so far as I know. -
Re:What's the i for?
Context (the full text search aspect of Oracle before 8i) has been renamed and reworked as Intermedia. It is supposedly more reliable, but I haven't heard anything about more functionality. I am using the Arsdigita Community System (opensource web publishing kit which uses AOLserver and Oracle and is available here) which has a module for site wide search that uses it.