| |||||||||||||||
David Studebaker
David Studebaker is currently a Principal of Liberty Grove Software, Inc., with his partner Karen Studebaker. Liberty Grove Software provides development, consulting, training, and upgrade services for Microsoft Dynamics NAV resellers and firms using NAV internally. Liberty Grove Software is a Microsoft Certified Partner. David has been recognized by Microsoft three times as a Certified Professional for NAV: in Development, in Applications, and in Installation & Configuration. He is also a Certified Microsoft Trainer for NAV. He began developing in C/AL in 1996. David Studebaker has been programming since taking his first Fortran II course in 1962. In the fall of 1963 he took the first COBOL course taught at Purdue University, where the first U.S. computer science department was later created. The next spring, undergraduate student David was assigned to teach the graduate level class. Since that time, David has been an active participant in each step of computing technology: from the early mainframes to today's technology, from binary assembly coding to C/AL. He has worked with over 40 different models and brands of computers, over a dozen operating systems and over two dozen different programming languages.
Special projects include the development of the first production SPOOL system in 1967. In the decades following, David was project manager and lead developer for several commercially distributed business application systems. Application areas in which David has worked range from engineering to manufacturing to freight carriage to general accounting to public mass transit to banking to not-for-profit and association management to legal billing to distribution/inventory management to shop floor data collection and production management.
David has a BS in Mechanical Engineering from Purdue University and an MBA from the University of Chicago, both with concentrations in computer science. David has been a computer operator, systems programmer, applications programmer, business analyst, consultant, service bureau operations manager, bureaucrat, teacher, project manager, trainer, documenter, software designer, mentor, writer, and entrepreneur. He has been partner or owner and manager of several computer systems businesses, while always maintaining a significant role as a business applications developer. David's work with relational databases and 4th generation languages with integrated development environments began in 1984. David assisted in script writing for a series of audio training courses for early PC operating systems and wrote for a newsletter Computers in Education. A series of articles by David for several trade and professional magazines were published concerning the use of computer systems to track and help manage manufacturing shop-floor operations. He was lead author of the Product Identification and Tracking section of the SME Tool and Manufacturing Handbook. For over ten years, David was a reviewer of business applications-related publications for Computing Reviews of the Association for Computing Machinery (ACM). David has been a member of the ACM since 1963 and was a founding officer of two local chapters of the ACM.
Product Details
Would you like to update product info or give feedback on images?
|
|
Share your thoughts with other customers:
|
||||||||||||||||||||||
|
Most Helpful Customer Reviews
8 of 9 people found the following review helpful:
4.0 out of 5 stars
Helpful introduction,
By
This review is from: Programming Microsoft Dynamics NAV (Paperback)
This book is aimed at people with some programming and business background, who plan to find their way into a NAV System. This is a challenging task, because NAV works somewhat differently to other ERP-Systems, and the author has done a good job in easing the way into a very complex application.
A simple sample application for a fictitious company is developed throughout the book. All objects ( Tables, Forms, Reports, Dataports, XMLPorts, Codeunits, MenuSuites) are first explained in their basic functions and properties, and later in more detail to implement the more advanced functions for the addon. A few of the major management codeunits which offer callable functions which every developer will look for sooner or later are covered, and by studying the way these codeunits are used the NAV newcomer will soon be able to write his own functions and subsequently his own enhancements. Yet no one should be led to believe that after reading this book you can be let loose on any NAV System to do whatever you like. It takes a considerable amount of time to learn to estimate what impacts your coding will have in the long run, and even after several years there is always something new to learn, to fix or to optimize practically every day in an application that is making rapid strides forward. This applies even more so if you plan to work on many different databases which may have been extensively customized. But if you work your way through this book, and also take a good and hard look at the recommended internal documentations and white papers available, you will get a rough idea of what is lying ahead of you. Of course there are quite a number of advanced topics on which you will find only a brief introduction in this book, such as the possibilities of interactions with external programs, the use of the NAV application server or automation objects (e.g. exporting/importing data to/from Excel). A very useful comparison of the differences between the native server and SQL Server is also included. Locking, Deadlock and SQL Performance issues are discussed to some extent, but not to a degree that code examples of "do's and don'ts" are included. There are some minor issues which I have found: Page 246 : Although temporary tables run on the clients RAM only, all record variables in this table which are not temporary can insert, modify or delete data in the database. A seemingly harmless validate in a field trigger can lead to unexpected sideeffects. This is not mentioned. Page 142/152 : The form triggers and form control triggers are listed ,and the author states that it should be avoided to write code in these triggers. Although this is basically true, the newcomer will find lots of code in standard forms, and will have a hard time in understanding the form and table interactions at first. Every card form needs a code line to remove the filter on the primary key, otherwise the user cannot move to the next record when the card form is called from a list form. This is not explained. Rather than removing code unnecessarily, this should be modified, as the new page object which will be introduced with NAV 2009 will have mostly an equivalent to the old form triggers as well, so it is advisable to only call functions in codeunits to avoid maintaining two similar functions in two objects. Page 237 : It is not mentioned that a customer without the application designer granule, which small-size companies usually do not purchase, cannot import objects in .txt format. It is stated that only experienced developers should use the 2 merge options when importing .fob objects. In my opinion, this should be avoided at all costs unless any fields in the standard range have to be added which can't be created with a normal developers license when the object is of the .txt type. Then you have no choice and should perform a manual merge of the code afterwards to ensure that the code lines have not been messed up. Page 121 : The examples for date and boolean for the AND operator are repetitions of the Not Equal operator examples. Page 301 : Some examples of the FORMAT function would be useful. If you look for this in the index, you will find it under D (data conversion functions), not under F. Page 345 : It is stated that Codeunits 80/90 post journal data into a ledger, but these Codeunits post Documents by transferring the data to journals, which are then posted by Codeunit 12 (G/L Ledger)/22 ( Item Ledger) etc. Page 439 : It is stated that an executable upgrade is a one-way process. Actually, there is a backdoor if it fails, you can create an empty database with the old client, and then restore a .fbk backup which was created before installing the new executeables. A full upgrade, on the other hand, really is a one-way process.
3 of 3 people found the following review helpful:
4.0 out of 5 stars
Overall Good - But not an Easy Read.,
By David Roys "Gaspode" (New Zealand) - See all my reviews
This review is from: Programming Microsoft Dynamics NAV (Paperback)
This is currently the only book that covers programming Microsoft Dynamics NAV and that for most people will be a good-enough reason to buy it.
The book is intended to help reduce the time needed for non-NAV programmers to become productive with NAV's unique programming language and development tools. From its coverage of terminology and basic concepts to advanced topics and techniques, this book is not just for the NAV-newbie; there is enough advanced content and good advice to prove useful for the seasoned NAV developer too. According to the preface, the book is also intended to help managers and those considering purchasing or enhancing the product to become familiar with the level of customisation the product can provide. David Studebaker has been programming NAV since 1996 and, with over 40 years IT experience, he is well-qualified to write this book. He is currently a principal of a company that provides development, consulting, training and upgrade services for NAV resellers and firms using NAV. It is rare to get the opportunity to work with someone with such experience and this book may be the closest you'll ever get to having a true veteran provide mentoring and advice. Overall this is a good book, but it could have been a lot better. The publisher claims this is a "Fast-paced and to-the-point... [book with] ...clear explanations and practical example code." However, I found some of the early chapters rambling, slow and tedious with more than a handful of mistakes. The chapter on fields in particular contained a number of basic errors that should have been picked up by the proof reader or reviewers. At times I felt as though I was the first person to actually read this book. Whilst David is clearly a very experienced NAV developer, he is not a great writer, so do not expect an easy read. Some explanations are long-winded and prone to tangential wanderings. It seems that, subconsciously at least, David is aware of his propensity to ramble when, after a 5-page-explanation of the "Date Formula" data type including a programming example, he writes: "It may seem that we overemphasized this experiment. But you got to see a lot more here than just date calculations." A good editor could have helped us all at this point. I really wanted to like this book and essentially I do. The content is undoubtedly good, so do not be put off by my criticisms. In value-for-money terms this book is exceptional: try to see how much consultancy or training time 60 US Dollars will buy you! David has done a great job in completing this book and has obviously invested a lot of time for what must be a tiny market. If you work with NAV you should buy this book.
2 of 2 people found the following review helpful:
4.0 out of 5 stars
A good book for all the NAV Developers,
This review is from: Programming Microsoft Dynamics NAV (Paperback)
This is a 460 page book (11 chapters) that covers the needs of developers that are starting to approach the NAV development to developers that are experts on NAV development but want to know more. It starts to introduce the Application Design concepts inside NAV, then it goes more in-depth into every NAV object (Tables, Forms and Reports in particular). After that, the author goes in depth into the CSIDE and the C/AL code by clearly explaining all you need in order to create NAV applications (C/AL sintax, validation functions, data conversion functions, I/O functions, filtering etc.).
Chapters from 9 to 11 are "the plus" of this book and they're devoted to experienced developer. They cover aspects about architecturing and tuning a NAV solution, working with external applications and other design tips. The nice thing is that a sample application for a fictitious company is developed throughout the book, so the reader can immediately learn the concepts and put them in practice. So... what's my final opinion? I think that this book is a great resource for anyone that wants to start learning NAV development because it covers all the aspects in details and in a clear manner. It covers also some hot topics such as code optimizations that are not so common to find on books (and also on Microsoft's official MOCs). There's a good comparison between the native server and the SQL Server one, but I think that the optimization topics with SQL Server could be covered more in depth (index management, index statistics, MaintainSiftIndex, MaintainSQLIndex etc.). The same for the interaction with external programs and about how to extend NAV with other controls (for example .NET controls). About form triggers, I've appreciated that the author alerts the NAV developer on placing code on form triggers as few as possible because the future NAV versions will further constrain, or may even eliminate, the ability to insert C/AL code directly within a form (use of calling a codeunit on a form is recommended). If you're a NAV developer, I recommend you this book: it covers all the aspects you need for your work and something more. It lacks a bit on the SQL features topic, but this could be an argument for a dedicated book. (http://www.demiliani.com/blog)
Share your thoughts with other customers: Create your own review
|
|
Tags Customers Associate with This Product(What's this?)Click on a tag to find related items, discussions, and people.
|
|
This product's forum
Active discussions in related forums
Search Customer Discussions
|
Related forums
|