tag:blogger.com,1999:blog-426922399870577072.post4645622410868958041..comments2024-03-28T08:13:24.785-04:00Comments on The Database Programmer: Data and Code at the Application LevelKenDownshttp://www.blogger.com/profile/11117175783163937575noreply@blogger.comBlogger9125tag:blogger.com,1999:blog-426922399870577072.post-8437403754853277662020-10-28T05:39:49.953-04:002020-10-28T05:39:49.953-04:00You have shared very valuable information and know...You have shared very valuable information and knowledge that people should recognize. Quickbooks is the advanced accounting software to manage business data. <a href="https://folders-ios.com/restore-quickbooks-company-file/" rel="nofollow">Restore quickbooks backup</a>Scott Stayrishttps://www.blogger.com/profile/07309722127171691680noreply@blogger.comtag:blogger.com,1999:blog-426922399870577072.post-67496232002245975242008-11-04T19:45:00.000-05:002008-11-04T19:45:00.000-05:00@anonymousWell, I follow your guidelines, but ther...@anonymous<BR/><BR/>Well, I follow your guidelines, but there are still times when they get me in trouble. It's just that the reward outweighs the risk, but as with any solution to a problem it always comes with future aggravation.<BR/><BR/>The way I measure my quality as a programmer is how different my problems are compared with others. My problems tend to be microscopic, not macroscopic.<BR/><BR/>I am also a huge fan of McLuhan.John Zabroskihttps://www.blogger.com/profile/17294832205855394228noreply@blogger.comtag:blogger.com,1999:blog-426922399870577072.post-63297393090305462892008-11-03T22:18:00.000-05:002008-11-03T22:18:00.000-05:00@z-bo: I think over the long-term the data (relate...@z-bo: I think over the long-term the data (related to the model) is more important than the means at which it is glued (coded) together for presentation (the human factor).<BR/><BR/>For instance, we may intuitively know that a state field groups outcomes by geography, but without the record of a state in relation to it's correlated attributes (creating meaningfulness), having the means of anticipating and grouping the data is meaningless without means to store and retrieve the data itself accurately and normally.<BR/><BR/>Content matters, although the medium is often interpreted as the message (to paraphrase McLuhan), which is how the process goes whacky. Quality control is measured by strength of process to produce appropriate quality according to accepted guidelines, which demands acceptable rigidness and discipline to assure performance.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-426922399870577072.post-82832308305557225642008-11-03T03:32:00.000-05:002008-11-03T03:32:00.000-05:00My basic strategy for blending theory and practice...My basic strategy for blending theory and practice is to know theory at a superficial level and applying it. It sounds shameful, but most businesses can't and don't want to hire rockstar computer scientists to solve their problems. They want to hire programmers who know the theory sufficiently well enough to apply it. At the same time, knowing what I don't know is key, and stops me from proposing theories of my own, which in a production environment will always be totally uncalled for. It's learning this temperament that appears to be what you, the Pragmatic Programmers, and myself have done. Selling round wheels is a surprisingly healthy way to make a living, and less riskier than trying to commercialize faster travel by rocket.<BR/><BR/>I'll repeat my suggestion of reading Fire and Motion, and add it to your collection of zen koans.John Zabroskihttps://www.blogger.com/profile/17294832205855394228noreply@blogger.comtag:blogger.com,1999:blog-426922399870577072.post-59474373918222975812008-11-02T19:03:00.000-05:002008-11-02T19:03:00.000-05:00@z-bo: The Pragmatic Programmer was one of those b...@z-bo: The Pragmatic Programmer was one of those books that presented about half of my own experience to me with far more insight than I had, allowing me to immediately grasp the concepts. Based on that, I had great faith in the other half and took great benefit from it.<BR/><BR/>In short: they understand the balance between theory and practice, and are not selling a silver bullet, just their experience.KenDownshttps://www.blogger.com/profile/11117175783163937575noreply@blogger.comtag:blogger.com,1999:blog-426922399870577072.post-691429122421813862008-11-02T16:52:00.000-05:002008-11-02T16:52:00.000-05:00@anonymousWell, it seems like you were asking a rh...@anonymous<BR/><BR/>Well, it seems like you were asking a rhetorical question and forgot to follow-up with the answer. I'll bite and ask: what is "legacy data"?<BR/><BR/>Is it data defined by a data model that is not at least in BCNF?<BR/><BR/>There is some literature that vaguely discusses how to normalize a schema that was never normalized, and then how to denormalize it when it makes sense.<BR/><BR/>It's not mainstream, mainly because it's not merely intuitable and requires discipline to get value out of. The more disciplined something is, the less likely people are going to investigate the benefits and simply complain about how disciplined it is. At this point, you just have to ask yourself, How do parent's get their kids to do their homework? Well, step 1 is that they don't bother helping out children not their own.<BR/><BR/>However, 50% of the world's currently employed programmers are untrained and develop their skills informally. They know nothing about discipline, and take years of getting burned by various scenarios before they finally start to accept there is a grand picture: a portrait of discipline. In the words of Erich Gamma, “You have to feel the pain of a design which has some problem. [Only then] you. . . appreciate a pattern. Like realizing your design isn’t flexible enough, a single change ripples through the entire system, you have to duplicate code, or the code is just getting more and complex. If you then apply a pattern in such a messy situation it can happen that the pain goes away and you feel good afterwards. It’s an eye opener to realize that oh, actually this pattern, factory or strategy, is a solution to my problem.”<BR/><BR/>@Ken<BR/><BR/>Why is the Pragmatic Programmer required reading? I read it, and it doesn't even mention the principle that is even more important than Minimize Code, Maximize Data: Fire and Motion. When you have the chance, read Joel Spolsky's two essays on the topic.John Zabroskihttps://www.blogger.com/profile/17294832205855394228noreply@blogger.comtag:blogger.com,1999:blog-426922399870577072.post-24203500403853428362008-10-31T22:02:00.000-04:002008-10-31T22:02:00.000-04:00Maybe folks get confused by "code", in which some ...Maybe folks get confused by "code", in which some people see "code" as a finite representation of something that is somehow unchanging (as in a coded transmission). Have you ever heard of "legacy data" as opposed to "legacy code"?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-426922399870577072.post-85092380605312459722008-10-28T12:20:00.000-04:002008-10-28T12:20:00.000-04:00Greg: What I've noticed is that there are plenty ...Greg: What I've noticed is that there are plenty of strong commments on both ycombinator and reddit, but the weakest comments will be found on reddit and the most compelling will usually be found on ycombinator.<BR/><BR/>Your comment that advice to "don't always do x" is not really advice is well taken. Basically content free.KenDownshttps://www.blogger.com/profile/11117175783163937575noreply@blogger.comtag:blogger.com,1999:blog-426922399870577072.post-25328451070006735702008-10-26T17:42:00.000-04:002008-10-26T17:42:00.000-04:00Don't let the redditer's, etc. bug you. Any time s...Don't let the redditer's, etc. bug you. Any time someone gives solid advice the comments usually are filled with people using South Park philosophy: "well, both sides are right! Sometimes you should focus on code, sometimes you should focus on data. Moderation is key!"<BR/><BR/>Of course, those of us who have been around the block realize that saying you shouldn't *always* do something isn't really advice, it's just common sense and can be applied to anything, from programming to diet and exercise. Your point stands regardless, it is important for programmers (particularly today, when RDBMS's are decried left and right for 'object databases') to remember that at the end of the day they are operating on data and need to think about how they model their data and operate on it. Getting the data model correct, in my experience as well, is both hard but worthwhile as the code ends up being simpler.Greghttps://www.blogger.com/profile/16138954675664901193noreply@blogger.com