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:
[REFERRER] AND Truncation (1998)
WebCatalog 2.1b3 - Plugin or cgi ? (1997)
Calculating Shipping charges for multiple items and qtys > 1 (1997)
Help formatting search results w/ table (1997)
WebCatalog can't find database (1997)
Mac Vs WindowsNT (1997)
Max Record length restated as maybe bug (1997)
Looping control (1997)
mySQL --- problem?? (2004)
Same DB Same Time (2004)
My slower response (1997)
Moment of Thanks (1997)
show all problem (1997)
Multi Colonns (1998)
Wanted: More Math Functions (or, Can You Solve This?) (1997)
Frames (1997)
Appending space (1998)
default value from Lookup (was Grant, please help me) (1997)
Documentation Feedback (1997)
User Authentication (2003)