Re: [WebDNA] Wishlist: ignore whitespace in database changes
This WebDNA talk-list message is from 2016
It keeps the original formatting.
numero = 112954
interpreted = N
texte = 541The Apple II computer used to run a spreadsheet called VisiCalc. When =you entered =E2=80=9C2 + 2=E2=80=9D into a cell, it would do the right =thing and display =E2=80=9C4=E2=80=9D. Any spreadsheet in use today =requires the =E2=80=9C=3D=E2=80=9C in order to do this. WebDNA=E2=80=99s =non-strict treatment of any characters is critically important for a =number of reasons. Among the most important is that the data isn=E2=80=99t= in a separate format - it=E2=80=99s just text in RAM and on disk. Any =function moved into that pile of ASCII is a fundamental problem because =now, part of your logic lives somewhere apart from your programming.All flavors of SQL owe their existence to their relentless effort of =doing more and more function, therefor requiring proprietary formats & =other quirks. Although it=E2=80=99s frustrating to remember little =things like type=3Dnum, the likelihood of massive future frustration =caused by fragmenting the logic of a web application across different =functional parts will always, ultimately be worse.Data is not a sacred cow that requires typing, formatting, =E2=80=9Csafety==E2=80=9D checks, etc. It=E2=80=99s all just a big pile of ASCII. The =less respect you show data, the better the apps you can create. Yes, it =is a time-consuming, frustrating bummer to make sure you=E2=80=99ve =found and eliminated any possible vulnerability when the database =doesn=E2=80=99t do any of that for you, you can provide profoundly =better security when you=E2=80=99re not railroaded by a rigid spec.Plus, you already have all of the rigidity by using a SQL database if =you want.You could also write a set of functions to handle your db calls. Those =functions could refer to a db of db=E2=80=99s and field formats, =executing the same login used in MySQL with regard to data types, =indexing, etc. You would do something like [crud =db=3Dyourdb&field=3Dyourfield&function=3Dadd&data=3Dyourdata] You would =need to write all of the error handling stuff, but that could be highly =customized to your situation.> On Aug 31, 2016, at 3:59 PM, Brian Burton
wrote:>=20> I completely agree on the flexibility of manipulating data in =variables. I love the simplicity of doing silly things like =[text]age=3D27[/text] and then [showif [age]>18]=20> (which strictly speaking shouldn=E2=80=99t be legal since age is a =numeric value in a "text" variable.)> If anything the [text] tag should be called [variable] to be more =accurate about what=E2=80=99s being stored in it, i.e. unknown variable =data=E2=80=A6=20>=20> That being said, I completely disagree when it comes to storing and =retrieving information in a data structure. If i have a field in a data =structure (read: SQL data table or WebDNA database) that is for storing =dates, then allowing someone to store "yesterday" is nonsensical and =causes problems when I try to retrieve dates based on a calculation. =(i.e. leMODDATEdata=3D12/31/2015) Of course I should write code that =stops this data from being stored in the first place, but as a last =resort the database program itself should defend the database to protect =the integrity of the data stored in it. The side effect, which almost =outweighs the protection factor to be candid, is that when retrieving =info, if each field has a predefined data type, the database already =knows how to deal with searches so the programmer doesn't have to =reiterate for each search that this field is a date, or a number, or =whatever.=20>=20> Just my two cents.=20>=20> -Brian B. Burton>=20>> On Aug 31, 2016, at 2:57 PM, christophe.billiottet@webdna.us wrote:>>=20>> I personally believe this extra flexibility allows to deal with =database content the way we want, and allows to treat a single field =either as a date, a number or a text field, or even the tree types in a =single page of code.>>=20>> I think extra rigidity diminishes creativity, and what I like most in =WebDNA is that it behave like a "chameleon" language. It is so flexible =that you can do whatever you want with it, the way you want.>>=20>> I would be interested to read what others have to say about this =requested modification,>>=20>> - chris>>=20>>=20>>=20>>=20>>=20>>> On Aug 31, 2016, at 20:08, Brian Burton wrote:>>>=20>>> Over the years I=E2=80=99ve been bending WebDNA to my will. I=E2=80=99=ve more or less successfully implemented the view and controller =ideology of an MVC framework in WebDNA, and am getting ever closer to =doing the work to get data models working in webDNA. It=E2=80=99s so =frustrating in 2016 to not be able to tag a field in a database as =unique or numeric and let the language deal with it for you when you =interact with the database. I recently wasted more time then I care to =admit to making [delete db=3Dsomedb&leIDdata=3D10000] work because i =forgot to add &IDtype=3Dnum to the code.>>=20>>=20>>=20>> --------------------------------------------------------->> This message is sent to you because you are subscribed to>> the mailing list .>> To unsubscribe, E-mail to: >> archives: http://mail.webdna.us/list/talk@webdna.us>> Bug Reporting: support@webdna.us>=20>=20> ---------------------------------------------------------> This message is sent to you because you are subscribed to> the mailing list .> To unsubscribe, E-mail to: > archives: http://mail.webdna.us/list/talk@webdna.us> Bug Reporting: support@webdna.us---------------------------------------------------------This message is sent to you because you are subscribed tothe mailing list .To unsubscribe, E-mail to: archives: http://mail.webdna.us/list/talk@webdna.usBug Reporting: support@webdna.us.
Associated Messages, from the most recent to the oldest:
541The Apple II computer used to run a spreadsheet called VisiCalc. When =you entered =E2=80=9C2 + 2=E2=80=9D into a cell, it would do the right =thing and display =E2=80=9C4=E2=80=9D. Any spreadsheet in use today =requires the =E2=80=9C=3D=E2=80=9C in order to do this. WebDNA=E2=80=99s =non-strict treatment of any characters is critically important for a =number of reasons. Among the most important is that the data isn=E2=80=99t= in a separate format - it=E2=80=99s just text in RAM and on disk. Any =function moved into that pile of ASCII is a fundamental problem because =now, part of your logic lives somewhere apart from your programming.All flavors of SQL owe their existence to their relentless effort of =doing more and more function, therefor requiring proprietary formats & =other quirks. Although it=E2=80=99s frustrating to remember little =things like type=3Dnum, the likelihood of massive future frustration =caused by fragmenting the logic of a web application across different =functional parts will always, ultimately be worse.Data is not a sacred cow that requires typing, formatting, =E2=80=9Csafety==E2=80=9D checks, etc. It=E2=80=99s all just a big pile of ASCII. The =less respect you show data, the better the apps you can create. Yes, it =is a time-consuming, frustrating bummer to make sure you=E2=80=99ve =found and eliminated any possible vulnerability when the database =doesn=E2=80=99t do any of that for you, you can provide profoundly =better security when you=E2=80=99re not railroaded by a rigid spec.Plus, you already have all of the rigidity by using a SQL database if =you want.You could also write a set of functions to handle your db calls. Those =functions could refer to a db of db=E2=80=99s and field formats, =executing the same login used in MySQL with regard to data types, =indexing, etc. You would do something like [crud =db=3Dyourdb&field=3Dyourfield&function=3Dadd&data=3Dyourdata] You would =need to write all of the error handling stuff, but that could be highly =customized to your situation.> On Aug 31, 2016, at 3:59 PM, Brian Burton wrote:>=20> I completely agree on the flexibility of manipulating data in =variables. I love the simplicity of doing silly things like =[text]age=3D27[/text] and then [showif [age]>18]=20> (which strictly speaking shouldn=E2=80=99t be legal since age is a =numeric value in a "text" variable.)> If anything the [text] tag should be called [variable] to be more =accurate about what=E2=80=99s being stored in it, i.e. unknown variable =data=E2=80=A6=20>=20> That being said, I completely disagree when it comes to storing and =retrieving information in a data structure. If i have a field in a data =structure (read: SQL data table or WebDNA database) that is for storing =dates, then allowing someone to store "yesterday" is nonsensical and =causes problems when I try to retrieve dates based on a calculation. =(i.e. leMODDATEdata=3D12/31/2015) Of course I should write code that =stops this data from being stored in the first place, but as a last =resort the database program itself should defend the database to protect =the integrity of the data stored in it. The side effect, which almost =outweighs the protection factor to be candid, is that when retrieving =info, if each field has a predefined data type, the database already =knows how to deal with searches so the programmer doesn't have to =reiterate for each search that this field is a date, or a number, or =whatever.=20>=20> Just my two cents.=20>=20> -Brian B. Burton>=20>> On Aug 31, 2016, at 2:57 PM, christophe.billiottet@webdna.us wrote:>>=20>> I personally believe this extra flexibility allows to deal with =database content the way we want, and allows to treat a single field =either as a date, a number or a text field, or even the tree types in a =single page of code.>>=20>> I think extra rigidity diminishes creativity, and what I like most in =WebDNA is that it behave like a "chameleon" language. It is so flexible =that you can do whatever you want with it, the way you want.>>=20>> I would be interested to read what others have to say about this =requested modification,>>=20>> - chris>>=20>>=20>>=20>>=20>>=20>>> On Aug 31, 2016, at 20:08, Brian Burton wrote:>>>=20>>> Over the years I=E2=80=99ve been bending WebDNA to my will. I=E2=80=99=ve more or less successfully implemented the view and controller =ideology of an MVC framework in WebDNA, and am getting ever closer to =doing the work to get data models working in webDNA. It=E2=80=99s so =frustrating in 2016 to not be able to tag a field in a database as =unique or numeric and let the language deal with it for you when you =interact with the database. I recently wasted more time then I care to =admit to making [delete db=3Dsomedb&leIDdata=3D10000] work because i =forgot to add &IDtype=3Dnum to the code.>>=20>>=20>>=20>> --------------------------------------------------------->> This message is sent to you because you are subscribed to>> the mailing list .>> To unsubscribe, E-mail to: >> archives: http://mail.webdna.us/list/talk@webdna.us>> Bug Reporting: support@webdna.us>=20>=20> ---------------------------------------------------------> This message is sent to you because you are subscribed to> the mailing list .> To unsubscribe, E-mail to: > archives: http://mail.webdna.us/list/talk@webdna.us> Bug Reporting: support@webdna.us---------------------------------------------------------This message is sent to you because you are subscribed tothe mailing list .To unsubscribe, E-mail to: archives: http://mail.webdna.us/list/talk@webdna.usBug Reporting: support@webdna.us.
Patrick McCormick
DOWNLOAD WEBDNA NOW!
Top Articles:
Talk List
The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...
Related Readings:
Tiger / WebDNA (2005)
HELP! Search finding too much! (1998)
Help on how to store calculated value (2002)
php + WebCatalog in same files (2001)
[WebDNA] Searching Possible Bug (2009)
Automated email (2000)
Examples of cross-selling with WebCatalog? (1998)
Re:no [search] with NT (1997)
RE: E-mail formating queston (1999)
math with multiple [founditems] (1999)
Re:quit command on NT (1997)
3rd party processor question (2003)
Projects & Contractors (1997)
Re:no [search] with NT (1997)
Sending mail (was forms and variables) (1998)
Next X hits (1996)
[random] only for 1-100??? (1997)
Snake Bites (1997)
WebCat2 - Getting to the browser's username/password data (1997)
using showpage and showcart commands (1996)