Execellent post Bill, very astute observations. Well worthy of the blogosphere.
Although I prefer C# .NET coding over Witango as a language choice, I do still miss the Visual Action concept of the Editor very much. Many a day ago Ben and I submitted suggestions for forking the Witango Editor into a new stand-alone product where it could serve as a "visual overlay" for potentially any coding language, where your choice of language could be just an editor plug-in. I can't tell you how many times I've considered starting building something like this as a plug-in for Visual Studio. Oh well, maybe in my next life. Scott, On Thursday, October 25, 2007 2:48pm, William M Conlon <[EMAIL PROTECTED]> said: > A very fair question. Here are some answers. > > 1. I am a firm believer in the power of visual programming, and I > disagree with Fred Brooks on its viability. First, its the visual > cortex that is the brain's parallel processor, yet most software is > coded using the sequential cognitive capabilities! My point of view > is as a mechanical engineer. When I worked at PG&E/Bechtel on Diablo > Canyon Nuclear Power Plant, each engineer had a desk and a 4 x 8 > table, so we could open full-size layout, P&ID, single-line diagrams > and still have our desk for binders with specs, manuals, > calculations, etc. My view of Brooks' "software crisis" is that it's > because we force programmers to do linear, sequential thinking, and > give them a very small viewport into the problem (most text editors > are not much advanced beyond 80x24 displays). > > Successful visual programing models I have used include: > > a. Relay Ladder Logic: there are tens of thousands of high school or > less educated technicians/mechanics able to program industrial > equipment using this approach. It's fast, compact, and self- > documenting. > b. Function Block Diagrams for Distributed Digital Control Systems. > Power plant control systems I designed with this technique in 1984 > are still running, with essentially the same programs, and have > millions of operating hours on them. Again, the documentation is > easy to follow, and the function blocks are the BEST example of > software objects I have ever seen. > c. Witango. > > BTW, I am not opposed to text based programming, and am quite expert > at assembly language. > > 2. Span of control. There's a more au courant term for this (memory > fails), but it's really important to empower the expert programmers > to do more, because an army of average programmers ends up with least > common denominator results. I think the Witango programming model > allows me to do that, by providing abstraction in various places, > notable the actions, objects, and methods > > 3. I have found the server to be very robust -- linux 5.0.1.065 > production server has NEVER crashed. (I know how to induce crashes > with server-side JavaSscript, so I don't use it.) I like its > extensibility with custom metatags, and its scalability (though I > have not used it myself). I especially like variable scopes. I know > there are ways to achieve equivalent functionality in PHP, but it's > not as easy or natural for my brain, so these techniques would reduce > MY span of control (2). > > 4. Writing and testing SQL queries is not really very hard; the > builders don't really give me any benefit there. And complex queries > (self joins) really need to be done by hand anyway. Defining custom > columns for such a thing is just a confusing kludge. The builders > produce HTML 3.2 code, but we use XHTML1, so they don't provide > anything useful. I haven't used them in years. > > I know that one benefit of the builders is quick and dirty pages for > admin and such. But with well crafted methods and object instance > config files, you can use previously built and debugged admin > functionality, which will be better aesthetically and probably have > all sorts of additional bells and whistles, like following OWASP > guidelines, that the builders don't provide. > > > I think I'll take this note, and put it on my blog. > > Bill > > William M. Conlon, P.E., Ph.D. > To the Point > 2330 Bryant Street > Palo Alto, CA 94301 > vox: 650.327.2175 (direct) > fax: 650.329.8335 > mobile: 650.906.9929 > e-mail: mailto:[EMAIL PROTECTED] > web: http://www.tothept.com > > > On Oct 25, 2007, at 10:01 AM, Robert Garcia wrote: > >> I have a question, if you go through all the work of doing >> everything in directDBMS, and I understand your reasons, why use >> witango and not php? You don't have to answer if you would rather >> not, I am just curious. If you eliminate the search actions and >> stuff, what is witango doing for you? >> >> -- >> >> Robert Garcia >> President - BigHead Technology >> VP Application Development - eventpix.com >> 13653 West Park Dr >> Magalia, Ca 95954 >> ph: 530.645.4040 x222 fax: 530.645.4040 >> [EMAIL PROTECTED] - [EMAIL PROTECTED] >> http://bighead.net/ - http://eventpix.com/ >> >> On Oct 25, 2007, at 9:46 AM, William M Conlon wrote: >> >>> I concur I go a little further: >>> >>> 1. only use DirectDBMS, so you don't need the studio data sources >>> at all. This has the ancillary benefit or eliminating all the >>> problems [!CST] with the <DataDictionary /> that crop up in the >>> Studio, and keeps the appfile smaller. >>> >>> 2. define the <Datasource /> parameters as variables, so they can >>> be changed outside the appfile. >>> >>> 3. Move all DirectDBMS actions into TCFs (more like MVC) so the >>> TAF provides business logic and presentation, while the TCF >>> handles the data model. Use the OnCreate method to load the >>> <DataSource /> variables. And, keep these variables in a separate >>> configuration file which can be easily edited without the studio. >>> >>> Bill >>> >>> William M. Conlon, P.E., Ph.D. >>> To the Point >>> 2330 Bryant Street >>> Palo Alto, CA 94301 >>> vox: 650.327.2175 (direct) >>> fax: 650.329.8335 >>> mobile: 650.906.9929 >>> e-mail: mailto:[EMAIL PROTECTED] >>> web: http://www.tothept.com >>> >>> >>> On Oct 25, 2007, at 7:02 AM, Robert Garcia wrote: >>> >>>> There is another way, it is still a pain in the a$$, but just >>>> about anything you do in the 5.5 studio is. You just have to >>>> choose which PITA you are most comfortable with. I have used the >>>> beta, I don't think that is going to be a solution for a long time. >>>> >>>> I am using mysql for instance. It is possible to setup ODBC on >>>> the intel machine for witango and mysql. It is a pain, because >>>> the studio crashes with many configurations. You have to use a >>>> PowerPC binary for the mysql odbc driver on intel, because the >>>> studio is powerpc, and the mysql drivers are not universal. I >>>> wish I could use the actualtech drivers, but witango crashes. >>>> >>>> When you create a taf with a datasource called "MyDSN" for >>>> instance, it creates an xml node within the datasources node in >>>> the xml of the taf, like this. >>>> >>>> <DataSource ID="MyDSN"> >>>> <DSType>ODBC</DSType> >>>> <DSN>MyDSN</DSN> >>>> <DBMS /> >>>> <Host>MyDSN</Host> >>>> <Database>Some Vendor Driver Name</Database> >>>> <UserInfo Encrypted="True"> >>>> <UserName>@[EMAIL PROTECTED]@[EMAIL >>>> PROTECTED]@#$</UserName> >>>> <Password>@[EMAIL PROTECTED]@[EMAIL >>>> PROTECTED]@@%</Password> >>>> </UserInfo> >>>> </DataSource> >>>> >>>> Now if you had a mysql JDBC driver on the server, and the >>>> Datasource setup on the server as "MyDSN" but using JDBC, all you >>>> would have to do to this taf, to get it to work on the server, is >>>> change value of the DSN node to JDBC, so it looks like this: >>>> >>>> <DataSource ID="MyDSN"> >>>> <DSType>JDBC</DSType> >>>> <DSN>MyDSN</DSN> >>>> <DBMS /> >>>> <Host>MyDSN</Host> >>>> <Database>Some Vendor Driver Name</Database> >>>> <UserInfo Encrypted="True"> >>>> <UserName>@[EMAIL PROTECTED]@[EMAIL >>>> PROTECTED]@#$</UserName> >>>> <Password>@[EMAIL PROTECTED]@[EMAIL >>>> PROTECTED]@@%</Password> >>>> </UserInfo> >>>> </DataSource> >>>> >>>> Thats it. The userid and the password will work, and the table >>>> and column definitions built from the studio using odbc will work >>>> just fine, they are the same as long as you were using the same >>>> db as odbc dsn. >>>> >>>> I have done this with mysql, mssql, oracle, and primebase. If you >>>> are not using one of those, I imagine it would work if your DB >>>> has both jdbc and odbc drivers. >>>> >>>> Now the REAL PITA comes in when you want to deploy, or then edit >>>> after deployment, you have to open the thing in a text editor and >>>> manually edit. >>>> >>>> However, it would be REALLY easy to create a drag and drop little >>>> app, that would do this for you. So imagine you had an app, that >>>> you drug onto it any number of tafs. It was called "DSN - ODBC to >>>> JDBC". It would quickly parse and change the DSN nodes to JDBC. >>>> You would just drag your taf on it, and commit to your server. >>>> >>>> You could have another app, called "DSN - JDBC to ODBC" for when >>>> you had to edit a taf from the server in the studio. >>>> >>>> Now don't complain to me about how a$$backwards this is. ;-) I am >>>> just the messenger, but it would work. >>>> >>>> -- >>>> >>>> Robert Garcia >>>> President - BigHead Technology >>>> VP Application Development - eventpix.com >>>> 13653 West Park Dr >>>> Magalia, Ca 95954 >>>> ph: 530.645.4040 x222 fax: 530.645.4040 >>>> [EMAIL PROTECTED] - [EMAIL PROTECTED] >>>> http://bighead.net/ - http://eventpix.com/ >>>> >>>> On Oct 25, 2007, at 6:07 AM, Stephen Su wrote: >>>> >>>>> thank you all, we are running on intel machines, and have tried >>>>> parallels which caused more problems than using the mac os >>>>> without DB connection. >>>>> >>>>> : ( stephen >>>>> >>>>> >>>>> On Oct 25, 2007, at 6:29 AM, Dale Graham wrote: >>>>> >>>>>> As a stop-gap, I have been using the Windows version of the >>>>>> editor on Parallels.... testing with Mac server version on the >>>>>> same computer. Weird but works (The irony is that because it's >>>>>> Intel, it runs Parallels very well, and the INTEL (Windows) >>>>>> JDBC works just fine, though setting up Java/JDBC on Windows >>>>>> can be a definite problem.) >>>>>> >>>>>> >>>>>> On Oct 25, 2007, at 2:59 AM, Stephen Su wrote: >>>>>> >>>>>>> Has anyone successfully configured witango studio 5.5 to >>>>>>> connect up with data sources via. JDBC on an intel based >>>>>>> MacBook Pro? >>>>>>> >>>>>>> - stephen >>>>>>> >>>>>>> >>>>>>> _________________________________________________________________ >>>>>>> _______ >>>>>>> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/ >>>>>>> maillist.taf >>>>>>> >>>>>> __________________________________________________________________ >>>>>> ______ >>>>>> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/ >>>>>> maillist.taf >>>>>> >>>>> >>>>> ___________________________________________________________________ >>>>> _____ >>>>> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf >>>>> >>>> ____________________________________________________________________ >>>> ____ >>>> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf >>>> >>> _____________________________________________________________________ >>> ___ >>> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf >>> >> ______________________________________________________________________ >> __ >> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf >> > ________________________________________________________________________ > TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf > > ________________________________________________________________________ TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf