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

Reply via email to