Here we go. Hello and welcome. My name is Shannon Kemp and I'm the Chief Digital Manager of Data Diversity. We'd like to thank you for joining the Data Diversity webinar concept models, enabling your data to speak the language of the business. A celebration of Ron Ross's new book titled Business Knowledge Blueprints, enabling your data to speak the language of the business. Due to the large number of people that attend these sessions, you will be muted during the webinar. If you'd like to chat with us or with each other, we certainly encourage you to do so. Just click the chat icon in the bottom middle of your screen for that feature. And for questions, we will be collecting them by the Q&A in the bottom right hand corner of your screen. Or if you'd like to tweet, we encourage you to share highlights or questions via Twitter using hashtag dataversity. And if you'd like to engage more with each other and continue the conversations after the webinar, you can go to the dataversitycommunity at community.dativersity.net. And as always, we will send a follow-up email within two business days containing links to the slides, the recording of the session, and additional information requested throughout the webinar. Now let me introduce to you our speaker for today, Ron Ross. Ron is co-founder and principal of brsolutions.com, which provides consulting, training, and mentoring in support of concept modeling, business vocabulary. I can speak today, sorry. Business vocabulary, business rules, and business knowledge transfer. His 45-year career has consistently featured creative business-driven solutions. Ron holds an MS in information science from the Illinois Institute of Technology and a BA from Rice University. And with that, I will give the floor to Ron to get today's webinar started. Hello and welcome. Thank you, Shannon. And thank you, Dataversity, for sponsoring this webinar. Welcome, everyone, out there as well and in keeping with the times. I hope you are all safe and healthy. Today, I'm going to talk about concept models. And I'm going to show you how concept models are very different from data models. I'm also going to explain why concept models are indispensable for the kind of work all of you need to do. I'll get to all that in good time. But first, let me start off by examining a data modeling puzzle. Now, it's a bit long, but I think it's well worth the trouble. So I'll ask you to stick with me on this, and then you'll see why I think it's so important. Now, your driver's license has a unique identifier. A given driver's license should be held by it must only one person. And it must... There you go. Sorry. It must have been a delay. The slide just switched. Okay. Okay. Your driver's license has a unique identifier. A given driver's license should be held at most by only one person. And only at most single person should hold a given driver's license. Now, does that make the person and the driver's license the same thing? Well, of course not. A driver's license isn't a person. That's a false equivalent. A driver's license is not a flesh and blood person. And it doesn't go around driving by itself. A driver's license is an authorization that permits a flesh and blood person to drive legally. But data designs often seek to take advantage of, quote, unquote, one-to-one identifiers and collapse two things as if they were one. Now, that's what's been done here in this consolidated driver's table, which has driver's license number on the left as its key. This consolidated table mixes data about two distinct things. Driver's license data, which is shaded in gold, and driver data, which is shaded on the right in pink. Conceptually, that's simply wrong. What in the world does that represent? But that's only a small part of the story. This is no mere academic curiosity. Big dangers will lurk in the data. To illustrate, let's instantiate the table and have some data to play with. There's our guy, Mr. Sample, in the first row, and we had a few other rows with various classes of driver's license. Now, mixing driver data with driver's license data produces big challenge for this data design, specifically how to handle unlicensed drivers. Unfortunately, people without driver's license do drive, and they do get into accidents.  Now, how will you handle such phantoms in your data design? Let's take Ms. Kathy Wong here. She drove without a driver's license, and unfortunately for her, she got caught. How will you handle Ms. Wong in the false equivalence data design that we looked at? Now, here's how we might include data from Ms. Wong in the driver's table. We got her in. You can see her there in the last row. But let's look very closely at what we've done in the process. First, we created a driver's license number that isn't a driver's license number. That's because she doesn't drive. She doesn't have one. That's data pollution. Second, we've created a class of driver's license that isn't a class of driver's license. We called it none. That's not really a class of driver's license, and that creates more data pollution. Third, until now, a resident city was probably mandatory for all people with a valid driver's license. We could probably count on knowing their city of residence if they have a valid driver's license. But for Ms. Wong, we may not even know what state she's from or what country. And it gets worse. Now we have dates, if you look carefully, that aren't really dates. So all your rules and standards about valid dates just flew out the window. Now think about how this data pollution might affect your analytics. Suppose you're doing long-term resource planning and you need to ask things like, how many driver's license will expire after 2020? Now you're not going to get a very good answer unless you're really careful and do some very astute expression. Now do remember for the sake of clarity, I've kept this example as simple as possible. But imagine all the clarity that we're losing and all the complexity we're adding to maintaining and using this data correctly. You have to ask yourself the question, even for this simple example, is all the extra work and all these workarounds really worth the trouble? Now let me speak to you plainly.  People are going to make mistakes no matter what. Data quality is going to suffer. Why design data so as to make it more likely people will make mistakes? It's just not smart. Now let's remember why all this trouble started. The data design equated two concepts that weren't the same. The driver's license and the driver. As a consequence, we find it difficult to handle phantoms, the data, like our Ms. Wong. In doing what we had to do under this data design, we polluted our data badly. And the worst part is we actually brought all this trouble onto ourselves. Now I would bet if I could talk to each and every one of you, probably all your organizations have phantoms in your data designs similar or equivalent to the one I'm describing. Now we need to stand back in this time together and look closely at the underlying concepts in the matter and figure out what's wrong and figure out what we're really trying to model. In short, what I'm going to tell you is we need a concept model. Now how do we do that? Here's a very quick preview. What we do is look at the nouns and the verbs we use to communicate about the problem space and then we base our model directly on those nouns and verbs. Here's a little simple starter concept model to illustrate. And during this time we have together, I'll try to expand on that so you have a much better sense of what I'm expressing. Now I'm sure you're going to want to ask, doing my presentation, and it's a very fair question. What's the difference between a concept model and a data model? I'm going to develop a whole series of differences during this presentation, but here's the first big one. A concept model pays no attention whatsoever to keys and cardinality. Those things I'm afraid are pure IT speed or pure data speed. Starting off talking about such things puts the cart way before the horse. First we need to understand the world and how we talk about it, how we conceptualize the world, and if we do that properly then we can talk about how the world should be represented in data. That's really what a concept model is about. Now actually how a concept model can be represented in data is not necessarily that hard. So I'm not going to be putting extra burden on you except to think through the semantics of business communication. To illustrate let's follow our example through to a better data design. Based on the concept model, this data design features separate tables for drivers versus drivers licenses, even though they are at most one-to-one. Now we've introduced a meaningless identifier for drivers and it's not tied in any way the driver's license number. And now there's a foreign key based on driver's license number to link the two tables. Very simple, very straightforward. Now let's look at the consequences. Here's our data for our guy Mr. Sample sitting in the driver table because yes he is a driver but it's also linked to his driver's license data in the driver's license table. And we've kept those two things separate because they are not the same thing. Now some observations about this data design. First our unlicensed driver Ms. Wong, the phantom, appears only in the driver's table, which is correct because she has no driver's license. Second, there's now no polluted data sitting in the three fields of the driver's license table. Class of driver's license, date of issue, and expiration date. No corrupted data. Third, you're much more likely to get correct results on your analytics like the query how many drivers license will expire after 2020. That's because all the dates are now following the rules and we can depend on those standards. For a better data quality, here's another step we've taken. You can't necessarily trust what's listed on a driver's license as representing the most recent or the most current known address for a person. Our Mr. Sample here, for example, used to live in Phoenix but currently, he lives in Scottsdale, as you can tell from the driver's table. To say that differently, you can't necessarily change what's physically represented on the actual driver's license just because a person has a new address. So now as shown, we have two differently named fields in the respective tables to handle the city of residence. And I've done something else as well. I think you'll find this interesting, maybe amusing. We've introduced a new field called deceased in the driver's table. Now think about that. Unfortunately, people do die, but when they die, it's not the driver's license that dies. It's the person that dies. Putting a deceased field in the driver's license table would just be too weird. Think about it. A deceased driver's license, what is that? Now that's a real phantom for you. Now I didn't make this problem of phantoms up. They happen all the time. Let's take a couple of more examples. Is a scheduled appointment with a doctor the same as the actual visit to the doctor's office on that particular day? No. Are there potential problems? Yes. Suppose you have a one table data design that covers both scheduled doctor appointments and the actual visits to the doctor. Now you're going to have phantoms there too. First, think about no shows. Is a no show an actual visit to the doctor? No, it was just an appointment that didn't happen. Second, think about walk-ins, cases where patients did not have a scheduled visit, but they just showed up on the doctor's doorstep. Will you create a false appointment ID for those visits? That's bound to cause confusion and mess up your analytics again. Now an appointment is an appointment and an office visit is an office visit. Even though potentially one-to-one at most, they are not the same. This sort of thing happens all the time. For example, I'm sure most of you have taken flights places. You made a flight reservation. Did that always turn out to be the actual flight that you took? No, probably not. There were delays, there was rerouting, there was rescheduling. You know, a flight reservation is not the same as the flight you actually take. Or a hotel reservation. Is that the same as the actual hotel stay? No, it's not. Or an applicant to try to become an employee in your business. Is the applicant the same as an employee? No, it's not. Bound to cause confusion. Unfortunately in the real world aspirational things are never the real things. Now just in general as an aside, it's sort of unsatisfied aspirations that are how phantoms often arise in your data. Wishing something would be one way but it turns out not to be that way. The general topic of these examples I present and I know this was sort of a long lead up to this, but what we are really talking about is the notion of classification. And what classification means is about putting things in the right conceptual buckets. What do you need for that? Well, you need workout compelling business definitions. If you can't tell me clearly what something is directly and unambiguously without exception, you have little or no hope of getting data designs right. It's just that simple. So here's some examples of good working definitions and definitional criteria. Good definitions are business oriented, they're relatively short, and they're highly succinct. Good definitions also give you immediate clues for the classification of things as they define the fundamental essence of what the thing is that you're talking about. In the case of driver and driver license, for example, I want you to look very quickly at these two simple definitions and notice the definition of driver starts out with person and the definition of driver's license starts out with authorization. Those are different concepts and authorization is not a person. A person is not an authorization. Different concepts. And also in the case of the doctor visit, an appointment, what's an appointment? What's a doctor appointment? It's an arrangement to see a doctor at a given time, whereas a doctor visit is a meeting with a doctor for consultation or treatment at a particular time. So a meeting and an arrangement are those the same thing? No, not at all. They're great clues there. You look at definitions closely and you can see that you're talking about different concepts. So here's a second major difference between concept models and data models. Business definitions in concept models reign supreme. Diagrams do not make up concept models. In data modeling, we've always had it backwards, I'm afraid. The model needed is not about drawing boxes and arrows primarily. It's about creating great business definitions. So let's look a little bit closer at that, the notion of great business definitions. And what a great business definition does is it gives you exhaustive criteria for determining when an instance does or does not belong to a given conceptual bucket. And that's important because the source of much ambiguity in many business areas, errors, is what I call boundary cases. Now here's an example to illustrate using a definition from Merriam-Webster Underbridge Dictionary. That's the definition of vehicle. You look it up and here's the definition from Merriam-Webster. It's a means of carrying or transporting something, a carrier of goods or passengers. Now as you can see, when you start looking carefully at examples, the weakness of this definition for the purposes of insurance becomes quite visible, quite obvious, very quickly. Will the insurance company ensure trains? Probably not. Motorboats? Probably not. And so on and so forth. So it's just not a good definition for the purpose of insurance because it hasn't captured the essence of the concept and eliminated these boundary conditions. Now here's a revised definition which does get better at the essence. It is sufficient to properly evaluate most of the boundary cases. And it says a motorized means of carrying or transporting something on land without the need for rails. So if you look at that, think about it, evaluate your examples. The only ones that now probably remain to be questioned are motorcycles and tractors. Now here's an important insight about creating definitions. The secret is literally looking at lots and lots of examples, examples, examples and more examples, all these potential boundary cases. And actually that that point shouldn't really surprise you because one of the key notions of concept modeling, as I mentioned, is classification. And that means putting examples into the right conceptual buckets.  Well I'm sorry, in my view, and speaking plainly here, that's absolute nonsense. Without definitions, how can you ever be sure about classifying stuff correctly? Now furthermore, your definitions need to be in plain business English. Otherwise, how will you verify them with business people? After all, it's the business people who have the business knowledge. Now creating robust business friendly definitions is a scarce skill. It's not an innate, we're not born with it, at least most of us are not, and it doesn't come with your technical training. I'm afraid it just doesn't happen that way. So one of the things I've done in my new book, business knowledge group, is I've devoted a whole new part to definitions with plenty of examples and so on. There's actually one whole chapter to introduce it and then a whole part with do's and don'ts and so on. So that's something that you can definitely take advantage of because we need guidelines to do good business definitions. But today I'm talking about concept models and I want to come full circle back to that. And concept models feature three key notions, three basic notions. We've already talked about the first, which is classification. And classification is the most basic of all and that's why I started there. It's about being very clear what we're talking about so we can put things in the right conceptual buckets. Now for the rest of my presentation I'll talk about the other two notions which are categorization and verb concepts. And by the way my new book also covers those two notions in quite a great deal of detail with illustration. So yes these three notions do address the fundamental challenges of data design. But as you're going to see as I continue through my discussion we're going to start sort of moving away from data design only. And what we're going to see is that there are actually quite a far broader set of challenges that we need as professionals to be addressing today. So my deeper message to you and I hope you'll listen very carefully to this is start thinking about the taking the data blinders off. There are bigger fish to fry these days and you can provide so much more value to your organization than just the pure idea of data design that we've been discussing. What's a concept model? Well it's something that's going to allow you to produce phantom-free data designs. Look at a concept model this way. If you start with concepts in designing your data all you need to do to turn the concepts into data is mostly just add keys and formats. If you start with data and then try to turn the data back into concepts you're going to need something like magic. If that weren't true reverse engineering data stores would be a breeze but I can tell you from experience that's certainly not the case. Now concept models are a relatively new technique but they have been the subject of standards development for over a decade. For the record the ideas that I'm talking about in this presentation come directly from a very powerful standard called the semantics of business vocabulary and business rules SBBR. And one thing about this standard is it's important to note that SBBR is a linguistic standard. Its core ideas are based on natural language not data design per se and that makes it that's what makes it fundamentally different and also what makes it so much better suited for today's broad set of challenges. By the way you can find out more about SBBR if you're interested on BR community and there's the URL for that on the slide. All right now let's move along and let's do some battle with type codes. The next subject is categorization and I want to get right into that. Now by looking at this sample data do you have any idea what this data is about and I'll give you a hint it's all about the different kinds of assets that railroads must manage. Okay still not clear? All right let me give you a little bit more help here sorting out these type codes. An asset can be only one of three things a detector which is something that text trains passing by on rails a fixed asset things that don't move like railroad tracks and stations and things that do move across the railroad tracks like cars and that's that's called stock equipment. Now kind of stock code applies only to movable assets or equipment. Kinds of rolling stock apply the code applies only to stock that are not maintenance of way or non-rolling stock. Kind of car code applies only to kinds of rolling stock that are not locomotive or caboose or steel wheel set. Now are you getting a little bit better sense of this data now? Is it becoming crystal clear to you? No? Well I could go on and on and on I haven't even talked about these other type codes but when you agree that this is just about hopeless how can you have a conversation about these business things using these type codes? This is classic IT speak or classic data speak maybe it's not the language of the business at all your data is not speaking the language of the business and if you think you are you're just fooling yourself yet this is roughly how we implement data designs all the time.  I think you'll like this version much much better and what this version features is deep categorization to engineer all the concepts clearly. Now this is speaking the language of the business and all the noun things that we need to organize together. So the blue things here with the heavy dark lines those are all categories and what a category is simply a special kind of variety of a broader concept it's very natural very easier we're just talking about narrower and narrow concepts as we go down the hierarchy. Let's take boxcar for example starting at the bottom of the hierarchy. So boxcar is a kind of freight car you just follow me up through the black lines freight car is a kind of car a car is a kind of rolling stock a rolling stock is a kind of equipment a synonym for equipment is movable asset and equipment is a kind of asset now I've just given you a very clear sense in this context of what a boxcar is and that's very important and what you need to do and this is part of the trick trick and concept modeling because definitions reign supreme is to work these categorizations right into your business definitions so let's illustrate that what is a maintenance of weight that box in the orange well it's a rolling stock notice that's the next higher category the super category used to support the maintenance of the railroad what's a rolling stock well again notice that it's based on the next higher super category equipment or synonym movable asset that's a movable asset that has railweed railwheels you need to say what is a movable equipment well that's an asset just following it up the black line which is expected to move in the right way to support railroad operations and finally you get to the highest level concept asset something of value utilized in supportive railroad operations what we have then is a very rich set of examples a rich set of definitions that correlate directly with the model that we have given now and by doing this correlation it makes the definitions much easier much richer and makes our diagram much more robust so here's another difference between concept models and data models concept models forces you to see type codes for what they really are they are pure data constructs they are pure it speed they are not business speed why do we have them in data designs well you could argue that a big part of the legacy a big part of the reason is just pure legacy once upon a time space was limited maybe still limited in certain guis and so on type codes will really kill business communication and that's the point in today's world clear communication about business knowledge is far more important than compact data schemes categorizations give you exactly the right nouns you need to express business thoughts precisely and here's a simple example we have organization in a category of organization's categorization corporation more narrow category and then a special category of corporation is limited liability corporation special kind of variation and what that allows you to do by having this assortment announced is to make statements correctly so here's a for example a business rule which is in fact the law in most states a limited liability corporation must be dissolved if a member leaves now that makes perfect sense it's perfectly precise perfectly accurate now this version would not be precise and it's not accurate a corporation must be dissolved if a member leaves that's just not true wrong choice of nouns and this version is also certainly not correct an organization must be dissolved if a member leaves that's just not true it's just not essential to the meaning of organization so the categorization in organizing your nouns the nouns that stand for concepts gives you a very rich vocabulary to make statements about the business in this case business rules correctly all right that's categorization that's the second notion but i want to take you right along quickly to the third notion of concept models and that is verb concepts and here's things i think really get interesting we really get into some deeper semantics but first let me try to motivate the problem for you by using a simple example and the point i want to make i'll just tell you where i'm going in advance here is that the way normal communication takes the way we're communicating right now even though we're not face to face and i can't see you you can't see me is through complete sentences i'm trying to express what i know in complete sentences using grammatical conventions and those conventions inevitably include verb concepts the fundamental problem with structured data here again is an example of structured data is that is essentially been stripped bare of almost all grammatical conventions it's essentially naked with respect to grammar and verbs now here's here again it's a simple example let's try to reconstruct the meaning of this table just from what we see in the data so what i've tried to do here is express the semantics of the data by writing out a sentence and you can read that sentence for yourself but you can see that i get stuck right off how can i be sure what the true connection is between this person uh c the letter c that's all we have for that person and the order 20680 we're really just guessing does that person live in the the city you track what did they place the order in the city you track do they want the order ship to the city you track it's not clear we have phantoms we have missing semantics it's gone it's evaporated that is not good actually the problem is even worse than what i what i say because i i sort of slipped by this little phrase on you but i i was making the assumption that the order 20680 was placed by the person c but how can i be really sure about that there could be some other connection maybe it was a person who ordered it for someone else maybe it was uh you know some other third party how do we know that order was placed by c the semantics are gone they're evaporated they disappeared because we forced it into this tabular form that is not good the reason it's not good is because it makes business users and developers make assumptions about what data mean and as soon as you start making assumptions you're often going to be wrong this is it's me and it's killing the data's ability to speak the language of the business let's take another example now let's just don't stick to data design you know as i say there are much bigger fish to fry these days here's an example to illustrate this example is happens to be a business rule because that's my company's one of our specialties but the same points i'll make hold true for any kind of business communication including but not limited to textual requirements so i have a sentence here you read it with me an order must not be shipped if the outstanding balance exceeds credit authorization the first time you look at that sentence you may think well that's pretty clear but if you start poking around at it like we data analysts and business analysts tend to do right off you're going to discover that the meaning is really actually quite murky something seems to be missing or hidden for view so you need to be asking some questions so are we talking about the outstanding balance of of what is it the order is it the customer is it the account is the shipment are we talking about the credit authorization of what is it the order the customer the account the shipment again there's no clarity here which makes the sentence the business rule or the requirement subject to great ambiguity so what we need in order to rectify that problem and eliminate the ambiguity is take verb concepts from our concept model and insert them in the sentence to remove the ambiguity so let's assume for the sake of argument that the relevant verb concepts i've listed them here here is account balances of account account is held by customer customer places order credit authorization is of customer those are the structural elements using verb concepts to indicate how our nouns relate to each other then what we can do is use those verb concepts to completely eliminate as far as i know the ambiguity in the original statement so let's read this together with the verb concepts inserted an order must not be shipped if the outstanding balance of the account that is held by the customer that placed the order exceeds the credit authorization of the customer now it's going to be really hard to misinterpret that sentence although i guess possible but what we want to do is to ask that return that to the business expert the subject matter expert say is that correct that we understand that correctly is there anything we're missing and then we have a dialogue about it to make sure we're on target that is the secret of disambiguation and so where i'm going with that is to tell you that a concept model is not made up of just nouns it's made up of nouns and verbs in equal measure that we use to talk about things in particular our knowledge we are not talking here about entity relationships and attributes i hope i'm not stepping on any toes here but those are just not the way in the 21st century that we need to be thinking about designing data we need to be thinking about nouns and verbs because that's how we communicate knowledge and that's the most important thing i hope you'll take away but let's take another example very quickly this is more complicated but it makes the same point um here is a another business rule income must be greater than 20 of the estimated value of subject to litigation you read that the first time you think to yourself i kind of understand what that says um i've got some sense of it but do you really the more you poke at it the more you're going to realize that this data statement is highly highly ambiguous and by the way this is a real example from one of our major institutions in washington but i won't name them just to protect the the innocent here so let's look at all the potential sources of ambiguity you'll notice there are actually two incomes so which income in that statement am i talking about am i talking about the income of the property or the income of the party don't know and let's also notice that the idea of the verb the unary verb concept is subject to litigation that binary verb concept is associated with both property and party which one am i talking about is it the property or is it the party okay but even worse maybe is i don't know which verbs to use in order to read sentence correctly so uh to interpret it there are five different possibilities i could be talking about the income and the estimated value of the property itself and wanting to compare those two things or i could be talking about the income of the party who owns the property because the party has an income too or i could be talking about the income of the party who leases the property ambiguity rampant ambiguity or this is a little more complicated because it involves two verb concepts i could be talking about the income of the party to complete the loan application that lists the property as collateral that's what i could be talking about or finally and it actually turns out this is the correct interpretation i could be talking about the income of the party who completes the loan application to request financing for the property which we call the subject property and it turns out after extensive discussion with the subject matter experts that's what they really meant finally how the ambiguous we haven't done an adequate job on the knowledge of the organization whatsoever why because we have no structure no blueprint to the knowledge to create some blueprint we need both nouns and verbs in equal measure so what do you do to correct that ambiguity well as before you just drop the verb the verb phrases into the statement in order to eliminate the ambiguity so i'll do that here and then and the right interpretation is the income of the party who completes the loan application requesting financing for a property that's the income we're talking about must be greater than 20 of the estimated value of the property if the property is subject to litigation okay now one of the things that verb concepts allow you to do is introduce what's called role names and role names take their meaning from verb concepts for those of us who have had a career in data design we never really thought about nouns that could take their meanings from verbs but it happens all the time for example what do we call a party who completes a loan application call them an applicant what do we call a property that's listed on a loan application we call it collateral what do we call sub property that that a loan application request financing for we call it subject property your business vocabulary is full of terms that are exactly like that and what we could do is to introduce those role names to even create a more succinct more packed a more precise version of this rule statement we could say the income of an applicant must be greater than 20 of the estimated value of the subject property if the subject property is subject property of the subject property if the subject property is sub litigation so much cleaner clearer version so role names that take their meaning from verbs the verb concepts between our our noun concepts have a very important role to play in clarity and disambiguation for example here's a perfectly meaningful business rule an applicant must have a current credit score well of course not all parties have to have credit scores that would be incorrect only those who are completing a loan application must have a only those who have a loan who are completing a loan application must have credit score four okay well you see the importance of disambiguation and what i'm going to contend is that there's never been really a data model that's ever been created to help you disambiguate natural language statements which is to say to address the problem of knowledge and its chapter expression and that's ultimately the point i want to make is that a concept model gives you all the vocabulary you need to disambiguate sentences about business knowledge not just about data design and you can't expect customers and developers to make up for what you can't communicate precisely my last thought to you today is it's increasingly the job of professionals like yourself to step up to the challenges of today's world it's not about just building data models building databases developing software solutions but rather the much larger problem of care of clarity in business communication and by the way that's going to be extremely important as you apply AI and machine learning to text uh current capabilities are just really dumb when it comes to business vocabulary don't have time to go into that if i had more time i would if you don't take up this challenge who will who's better qualified you guys are because you're sensitive to the issue of ambiguity and subtle meaning semantic so take the data blinders off step up to the challenge and what i'm telling you is the concept models give you the necessary uh tools everything we've discussed today and a whole lot more is covered in my brand new book on concept models called business knowledge blueprints i hope you have a look i've been told it's fairly easy reading that's what some of the feedback is saying so that's gratifying for that um concept models are what truly enable you in your data to speak the language of the business okay that concludes what i have for you i'll pass it back over to shannon uh if you have some questions or some comments uh we have a little bit of time to talk about it i love it ron thank you so much for this great presentation and if you have questions for ron feel free to submit them in the bottom right hand corner of your screen in the q and a section and just to answer the uh most commonly asked questions uh just a reminder i will send a follow-up email by end of day thursday for this webinar with links to the slides and links to the recording and i'll link to uh how to get uh ron's book so ron um concept model and conceptual model the same thing i you know i could have guessed that would be the first question and and i want to give you the answer to that first just a shout out to uh jane uh who said wow we are feisty today did i come across as feisty if i did my apologies i was just trying to keep you awake and also you know i feel pretty strongly about some of these points and the fact that you don't step up to some of these challenges okay well i just wanted to throw that in all right concept models compared and contrasted to uh conceptual model well i'm going to say conceptual data model because i think that's probably what the question is asking um if not you know shoot in another question in a conceptual data model what's the difference between a concept model and conceptual data model i'm going to ask you first a question what exactly is conceptual data are you creating a model of conceptual data i don't know what conceptual data is you know and so one of the points i've tried to make in this presentation is the need for great precision in the terminology that we use and the term conceptual data model is probably the most unclear that anybody ever invented so no i'm not a fan of that term um but maybe a little more seriously is the part about conceptual and i think when people talk about conceptual data models or conceptual models in general um they're talking about relatively lightweight models right because you're just getting into a problem and you're trying to sort of sort out what are the major elements and you're going to create a fairly simple top level diagram that covers most of the main things in the space i want to make a very very clear distinction here because if you're going to disambiguate business knowledge and really discover the root causes of ambiguity you're going to need far more than a conceptual model you're going to need nouns and verbs extensively we've created fairly simple concept models one with only maybe a dozen terms and a dozen verb concepts somebody somewhere might call that a conceptual data model however i would challenge you to look at the business definitions which are the most important thing and i think you'll see the quality of the business definitions as far above what you might see conceptual data model we've also created concept models that literally have 500 terms and hundreds of verb concepts because we are capturing and we are disambiguating thousands actually in one case hundred not hundreds but tens of thousands of business rules for the whole area of property insurance and so you're not going to do a conceptual model at that degree of precision and depth there's no need to once you get into language and communication knowledge you'll discover it's a whole different problem so here's what i'll say here's my bottom line on the question is that a conceptual data model is not meta the data it's just not it is a different kind of model that focuses on language nouns and verbs isn't intended to attack the problem of knowledge that's increasingly where our industry is and where things need to get awesome so it's keeping on with concept models ron how do concept models compare and contrast with ontologies okay um good question um you can be justified if you like calling a concept model a business ontology and i'm going to use that term very carefully call it a business ontology ontology because it does have the constructs of categorization and it also has the the construct of verb concepts however the difference is i think a lot of people when when you say the word ontology almost immediately and reflexively think about al web ontology language and tools of those kinds which are really technical tools that are aimed toward improving search and maybe integration problems for data and i have looked at a lot of software ontology they very very seldom have robust business definitions for things it's almost like a no go um and so you know if your intent is to build a business glossary which is absolutely the intent with a concept model you're probably not going to see that in uh an ontology one that business people could really sink their teeth in um so i'm going to i think i can i'm sure because i've talked to experts in the field in conjunction with spvr and so far that is legitimate call concept model a business ontology has the right foundations and it does map the predicate logic and so on but i'd caution you that most things that people in the ontology call uh community call business ontology are not concept models for the reasons i've discussed and run uh i can see how concept models help you make elegant and consistent data models but how do they help you make use of your data well i think that one important thing is to sort out the anomalies in the data now if we're looking to uh so um integrate some data we're trying to consolidate some value chains we're trying to put together um know a superstructure from the existing legacy data stores in order to address um business analytics and those kinds of queries um the approach i've described is going to be extremely helpful for you in sort of sort of reverse engineering semantics or guessing at the semantics that are in those existing data stores and to help you um create a blueprint that will serve you in trying to i won't say integrate but it'll certainly serve you better in trying to consolidate the data from multiple sources and you know that's where a lot of us are today in one way or another we're trying to reverse engineer the semantics from existing data stores and the way they're designed those semantics it's just gone it's evaporated it's just not there i think that was one of the main points in my presentations today um and so um i think the main help you're going to get in that situation is um to provide you a blueprint that you can organize structure your thinking trying to validate and understand clearly the semantics of what it is you're trying to address and i think we have time to slip in one more question here is there uh you you mentioned that reverse engineering is difficult and possibly requires magic as many of us do not have the luxury of starting with data before it is already in the system what do you suggest is the first step well you know i not surprisingly i'm going to suggest that you do a concept model because otherwise i don't have a good idea of how you come to grips with the the different semantics including rules by which the existing stores of data have been created and what are just to organize your own thinking to clarify the ambiguities put yourself in a position to compensate for the language squarely things that you'll find in those existing data stores with some compensation compensating logic you know concept model is pretty much the the the exactly the right thing you needed in order to to try to move forward as deeply as is useful and productive and i always issue that caveat it's not useful and productive well stop but you know until you get to that point it'll be very helpful by the way shannon just before you sign off i want to mention um if i think you're going to put these slides up for a download somewhere or distribute them in any case yeah in any case the remainder of the presentation and i included more slides than i knew i could get through here goes through one by one all of the reasons for doing concept models and they range from text and AI and machine learning and shared understanding all the way through data models and business initiatives and integrating value chains data quality and a whole a whole lot of things so there's there's more resource you can draw well run i certainly appreciate that thank you so much for this and this great presentation and thanks to all of our attendees for being so engaged in everything we do and all the great questions but i'm afraid that is all the time we have for today again just a reminder i will send a follow-up email to all registrants by end of day thursday with links to the slides the and the recording and a link to purchase ron's book ron again thank you so much my pleasure great to be here all of you be safe indeed thanks everyone stay safe out there and have a great day


تشرف بالاشتغالي بالعلم ولا تبغي به ما عشت يا بابا دالا وياله من شراف عظيمي أريد أن أتكلم وإلبره كيف مهمة it is كيف مهمة it is that the Arabic language is studied there is nothing I believe a person can learn to become a scholar in this field it is better for him to learn in the Arabic language it is the key to the deen if you do not learn Arabic and you do not study it you will never be able to become a strong a dedicated a true student of knowledge let alone a scholar I can't emphasise on more how important it is for a person to sit down and give time to Arabic the whole religion is Arabic the Qur'an is Arabic the Hadith is Arabic how on earth you won't understand it if you don't understand the language in which he is speaking so give time to study the Arabic language and to be honest it is a very easy subject very easy very simple but there are two reasons why it becomes hard it is normally an easy and a simple subject but for two reasons that come it becomes hard the first one is the instructors and the teachers who are actually teaching this field they complicate it they teach it a small book and what they do is the small book in which they are explaining they bring too much information into it that is not relevant for the time being so for instance we are studying Al-Ajumiya and one of the last books we are going to study Ibn Al-Malik or Mughal Al-Labib by Ibn Hisham Al-Alsari there is no need from me to bring shawahid and istidlalat from the shuroh of Ibn Aqeel Shalha of Al-Fiyah Ibn Al-Malik or even the Al-Fiyah itself I don't need to bring it now I don't even need to quote it we are studying Al-Ajumiya we are at the first book of grammar we should just stick to this method and simplify it as much as we can if we want to say anything you should just come from the book nothing from outside leave what's outside the second thing that makes this subject very complicated and it's not that it's complicated in and within itself it's because the people who are studying it don't come with the aspiration required from them when they feel like there is any form of wave that comes their way that is a slight they require from them to open their minds a bit they don't want to do that they want a knowledge that is self-explanatory simple, easy, like flows and that's never any field of the religion or nothing in the religion or nothing in any place in the world it's just simple like that or to the extent where you can just read it somewhere and understand it straight away everything needs a form of striving a bit of striving and that person gets the right instructor a good teacher who knows the field and who's going to stick to the text and not go outside the text one and that person has the will and enthusiasm and the want and know that he will learn this field and he can become a leader in this field I'm going to give you guys a story of one scholar who went by the name of Khalid Al-Asheri he has a book called Moussel Al-Tullab إلى علم الإعراب وما إلى قواعد الإعراب this man this great imam Khalid Al-Asheri he used to pour tea for the students in جامعة الأثر should pour tea for them one day what he did was he poured the tea and by accident the tea poured on the students book or notes and the student got angry with him and said your ignorant man ignorant man watch where you pour that word reverberated it just went into his mind again and again and again and he sat down and started from the Arabic grammar until he became an imam you shout at him he became an imam in this field of the Arabic language that he was pointed towards any matter of نحو or بلاغة or صف or the language of the Arabic language he would be the مزدق he would be the source to come back to just that word yeah جاهل your ignorant man woke him up and he moved this is where I tell every student wherever you are you can become what you want you get the right teacher you have the right effort and you have the right syllabus you can become what you want to be


सुन्राक्षुलित और्गस्नेजा बारुज्या थे कृज्वातकोग जानलाना दे्ह सुल्ड हुर्ईस्नेजा,। And this is not the first time I have been part of this चलो देखें आपना देस, for the last 3 years, and I am glad that they are doing religiously every year, so congratulations to Argus, talking about, I was listening very intently to what CEO of Argus, देर प्रकास, was talking about how our prime minister, शिनरेंदर मुतिजी, has been working hard to make India a destination, and that reminded me of a very funny incident, कुछ फोटो लेली, सुस्याली भिन्द्या में चोड दिया, और उदर देखो एक दीप दुप गया, see that is the power ahead of the state trying to promote tourism, which has not really happened earlier. मैं तोपिक तोड़े इस नोद तोकें एब आप, you know, how to do tourism, where to do tourism, how we do experiential tourism, how we increase the inflow, what is the number of people that are going to come, or what is the, how the post-covid the numbers have gone up, I am not going to talk about that today. I am talking about the concern, or the priority, that the government, the Republic, both in ARKS, in fact the state government has gone ahead, from a 4 crore budget to a 1500 crore budget on tourism. तिस अप्यार्ताraw के पप्यार्ता वी सबक्ब बाओसण 몸ह Lady го East came.  पाकाश समबबन शतेड़ा ऎक व late child जैसाद के व'पाससेझाम लिस्तार्र है? डहार की तूग त्रह आओशुं भग़ा की अभची प्त conhecer बभी सब भेसाविा। अन्लेस यीच वान of the Indian community अन्टिस्टान दी प्रारीटी of tourism, अन्लेस यीच पर्सन रहाँजास the advantages of a tourist coming into our country, tourism will not succeed. अन्टिस्टान रहाँजास when a tourist is coming he is coming for a day or he is coming for two days and in these two days he is spending let's say hundred rupees or thousand rupees or one lakh rupees and this one lakh rupees is actually percolating to my income or my brother's income or my son's income. When we are talking of experiential tourism we need to take it beyond the standard Puri Konark, Agra Jaipur and make them reach to the grass root where there will be two benefits. One is there will be employment and there will be the income. So financial growth, contribution to the economy as well as we will have employment for our people. This can only happen when we make the people understand how important is tourism. You go to a place like Kerala, Kerala the people know that each tourist that is coming into the state is contributing somewhere or other to my income. So he welcomes the tourist. That kind of welcome has to be there everywhere, every state, every city and going down to every village. Then only tourism in India will grow or tourism in India will flourish. I had the opportunity of interacting with some travel agents in Delhi and they mentioned to me one thing. They said that when a tourist is coming they want to see a village, a village life but in Odessa we are not getting any village where we can take the tourist. We have not tried that. There is no model village or there are you know why one village. Each village can be a model village for the tourist to come in and spend some days and experience the village life. What is the real India? Real India is not Taj Mahal. Real India is not Konark. Real India is not let's say Jaipur. So coming back to the basic, we need involvement of people, priority should be to make the people understand how tourism is going to benefit. And my request to all present here as well as to the organizers is that to involve and propagate it in such a way that each Indian will openly welcome the tourist that is coming to his area. Not necessarily foreign tourist, the local tourist also. Somebody coming from Nagaland and visiting Bhuvaneshwar or somebody coming from Goa and visiting West Bengal should be equally welcomed. Then only our tourism can grow. Thank you. I have taken lot of your time. Thank you so much. If you like our video then don't forget to like, share and subscribe our channel.


Hey guys, it's Liana and I'm here today to rank the books from the world of the first law. You don't know what the first law is, this is probably not the video for you because I'm not here to explain it to you. I'm here to rank these books. So, I guess real quick, Joe Abercrombie is Lord Grimdark. His Grimdark fantasy books are the best Grimdark there is, and these are the books that take place in the world of the first law. And I'm going to rank them today, which is just my opinion. So, let's do it. I didn't have in this stack because it didn't match the aesthetic. Little Hatred, which is his newest. It does take place in this universe, but as you can see this book doesn't look like these books. So, I couldn't have it in the stack. It's different size, different style. It just doesn't fit. Okay, so I did not plan this video. I have not pre-ranked these books. We're going to rank them together. And by together I mean I'm going to do it. You're going to watch me do it. Point being though, I don't know yet what the rankings will be. So, let's do it. Should we do best to worst or worst to best? Makes most sense. I think worst to best just because I think that'll be easier. Right, so let's do that. So, I already know what my least favorite is. That's easy. I think that's why I decided to start with worst to best because I know which one is my least favorite. I don't know how I'm going to choose my favorite. We'll get there. So, my least favorite is The Heroes. I was going to say Pie Joe Abercrombie. All these books are Pie Joe Abercrombie. The Heroes is one of the stand-alones that takes place after the trilogy, and it is my least favorite. It's Abercrombie and it's the first law. So, it's still excellently written. I don't want to say that it's not. And there's a lot in it that I like, but it is my least favorite because it does not have a plot. It does not have a plot. And this is Abercrombie we're talking about where the presence of a plot isn't necessarily a big part of how he writes. So, it's plotless even for Abercrombie is what I'm saying. I was recently at a signing for Pierce Brown because the newest Suns of Aries graphic novel is out and this is relevant, I promise. I was on the front row and yeah, someone asked him if he reads Sanderson or what Sanderson books he likes or something like that because he had mentioned Sanderson's writing style as it differs from his own writing style, his approach to how to structure or how to plan a book. And someone asked him, you know, since you mentioned Sanderson, what's your favorite Sanderson book or do you read any Sanderson books? And Pierce Brown was like, I don't really read Sanderson. I like Joe Abercrombie. And I burst into the spontaneous applause and he turned to me and my friends who were also clapping and was like, oh, would you read Joe Abercrombie? And we were like, yeah, we do. He just kind of started to have a conversation with us about Joe Abercrombie while everyone else was just watching. And he was like, well, what should they start with if they should read Abercrombie? Where should they start? And we were like, well, the blade itself, right? Because that's like the first book. And he's like, do you think, I don't know, maybe they should start with one of the sandalines. And we were like, well, then best served cold. And he was like, no, I didn't really like best served cold.  Best served cold is the best. And he's like, no, I really like the heroes. And I was like, no. But apparently Pierce Brown's favorite is the heroes. So all that to say, it's not like universally the opinion of Abercrombie readers that this is the weakest one for other people. This is their favorite one. So it might be your favorite. It's Pierce Brown's favorite. It is not my favorite. It's my least favorite. And again, it's because it has no plot. It's just literally like a few days of battle and like multiple perspectives who are in that battle. That's it.  You know what I mean? What was the point of that? There's a lot of great character work because it's Abercrombie. That's not enough. Like I do need some kind of a plot. There is not. There is literally not. My favorite part of this book is the part where somebody invents a cheese sandwich. And I'm not kidding. That really happens. He calls it a cheese trap. That's my favorite part of the book. It's good. And I still say you should read it because you should read all the books in the first lot. But this was my least favorite for sure. Okay. So that's bottom done. Let's move on to my next least favorite. So what's next? I would say probably Red Country. This is the until a little... No, that's not true. Scratch that. This is the third standalone after the first lot trilogy. And it is good because they're all good. Again, I love all the books that I'm talking about today. So even the bad ones are good. Anyway, Red Country is Abercrombie's version of a Western but in the world of the first law, which is the cool concept. And I think he did a great job with it. But even he, he being Abercrombie, has said that he felt the most burnt out when writing this book. And it feels that way. To me, that is kind of one of its strengths though, because to me, I associate Westerns with this kind of like burnt out, exhausted feeling. So if you are going to be burned out for any of your books, I feel like the one that's like a Western is the one to be burned out for. So I don't know that that's what hurts it. Maybe I just don't really like Westerns. Like I love the fact that he did this because it's so unique to write a Western but in a grim dark fantasy world that doesn't actually take place in the American West but to have that vibe. And he really does capture that vibe, like definitely. I just, I've never been that big a fan of Westerns. I do like some Westerns, I don't want to say that I don't. Like I love Tombstone, the movie. And kind of like Deadwood, the show, I didn't finish it. What other Westerns do I like? Oh, I love 310 de Yuma, the new one. That's a good one. Anyway, yeah. All I have to say, Westerns are like very hit and miss for me. So he definitely has a great Western here and it is a Western. So if you love Westerns, this might be your favorite Abercrombie book of all time. That's just like not my favorite. He does a great job with it. And because of what happens in Red Country, it makes possible one of my all-time favorite short stories of his, which that short story is based on the events of Red Country. So I definitely still recommend you read it. It's still a good book, but it just wasn't really my favorite experience and not really my cup of tea. So I don't know that I would ever reread this. Same with the heroes. Like I might just because I run out of Abercrombie and I need more. I'm glad I read it and it's good because it's Abercrombie, but not my favorite.  I'm joking. So for real, I might have to go with, this kind of hurts, but I might have to go with The Blade itself, which is the first book in the first law. This is the beginning of the first law trilogy and the beginning of everything in the first law. And for that reason, it's necessary and it's fantastic and it's great. But I'm pretty sure this is also his debut novel, because I don't think he wrote anything before the first law. And this is the first book in the first law. And it kind of feels that way. Like for a debut, like mind bogglingly good, because fuck, this is your first stab at it. Whoa. A lot of people complain about this and I don't disagree that it does feel kind of a little bit all over the place, a little disjointed, a little disconnected. You kind of feel like, where is this going? What is the point of any of this? So I see that and he's definitely gotten better at that about kind of creating more direction in a way that the reader can really feel it or doesn't notice it if it's not there. So The Blade itself is an excellent introduction to this world and his writing style. And so I feel like if you do not like The Blade itself, like I'm not going to say, oh, but keep reading because it gets better. This is really, it does really give you a good sense of what his style is like and what the books are going to be like. It's just not as tight and not as to the point as some of his other books are. It's kind of setting everything up. And whenever you're setting anything up, that can often feel a little bit tiresome. Some of my favorite moments in the entirety of the first law are in the first book. It's great, but it's weaker just because it's it's earlier in his career as a writer. So I think if he wrote it today, it would be much better because he's grown a lot as a writer. So it's still really, really good. When the best four star reads it, there's a lot of kind of, it's not filler. There's just the reader doesn't really get why they're being shown and told things. When you reread it, if you've read all the books, you get it. And you see where all this is going to make sense. The first time through, it's not really there. And to me, a good book should have it the first time through. So it's still a good book. It's still really, really good. And Glock does in it. Glock does great. Some of my favorite Glock to moments of all time are in this book. Let's say then that my next least favorite are those who are counting. You want to check in on my stack. These are the rankings so far. Heroes, then Red Country, and the late itself. Next worst is Sharpen's, which is the collection of short stories. This is next on my list because it's a mixed bag. Some of the short stories here are amazing. And as I mentioned, one of them is based on Red Country and it is superb. In Red Country, one of the characters hires a chronicler scribe to follow him around and to document his heroic exploits, which of course, it's an Abercrombie book, so they are not heroic.  And what he's doing is horrible. And it is not worthy of a heroic telling. But in Sharpen's, one of the short stories is what this chronicler scribe ended up writing about the events of Red Country. And he has written it as though it was heroic and noble, which is just so fun and funny because it's so tongue-in-cheek and it's so Abercrombie because it's so overly heroicized. And you know exactly how not heroic everything actually was in Red Country. So it's just such a great concept and so fun to read. And if you read the audio or if you listen to the audiobook, this whole audiobook is read by the guy who reads all the first law books. So that's great. But the one story that is that, where it's what this chronicler with this scribe wrote about Red Country, Joe Abercrombie himself reads that story. And that's fab. So fab. And at the end, there's an interview with Joe Abercrombie and the guy who narrates all the books, which is just fun if you care about that kind of thing. So yeah, this is, it's really good, obviously. Like it's already like fourth from the bottom. So it's like, it's in the middle there. Some of the short stories here are a bit of a drag, kind of don't go anywhere, or like they're about characters that we've never seen before.  Like I haven't had enough time with them and I didn't instantly feel interested in them.   Seeing Young Lacta, seeing again the heroicized version of what happens in red country. There's, there's several short stories that I really, really enjoyed and overall it was fun to just kind of get little pieces of the world without having a full novel, just kind of having a bit of bit more first law goodness. So it's really good. I really like it, but it's not my favorite. There are eight books to rank and those were the first four. So I guess the top four now. Okay, I think I know the order. I think I've decided. All right, all right. The fourth best is Before They Are Hanged. This is the second book in the first law trilogy. And some of my favorite moments in the first law happen. Okay, some of my favorite moments happen in Egypt, because I should stop saying that. After the blade itself introduces you to the world, then you really get to see kind of a lot more of this world and really get to know these characters and the politics and people go to more places and more stuff happens. And you just really get a sense of how scheming and how deep this goes and the conspiracies get darker and the characters that you kind of thought you knew in the first book, they surprise you again, and things take even darker and twistier turns. So you're like really getting into the meat of it. But it ultimately also it's a middle book. So it kind of still goes nowhere. So at the end of it, you're like, all right, all of that was like pretty juicy, but also like, where is any of this going? I still gave this four stars, but it was like a higher four stars in blade itself. Because again, it's getting darker, it's getting twistier. There's like a lot of interesting moments in character development and a lot of OMG twists that are so good and so, so avacrombie. But again, by the end of it, everyone is even further apart than they were when we started. And you're like, does this all tie up somehow? Where is this going? I love it. But it's fourth best. Third best is The Last Argument of Kings, which is the third and final book in the first law trilogy. And it's the one that I gave five stars to of the trilogy because it does wrap everything up in a way that's just like, holy fuck, oh my God, that really did wrap up. It is longer and I feel like avacrombie's writing, you know, you can see that it's grown. He's starting to tell the story in a more fast paced way. It's tighter.  So wow. And then he ended it in a way that had me just going, fuck, what, what did I just read?  Um, yeah, it's just excellent the way that he ties everything together, leave some loose ends in a way that you're just like, why did you leave this loose? It's better that you did, but why?  And it makes me like the first two books in the trilogy. So that happened a lot last year in a bit this year, where they're like the last book in a trilogy makes me ultimately hate the trilogy, because the first two books in a trilogy make you like start pushing you in direction, make you ask questions about where all this is going, make you wonder how this is going to wrap up. And the first two books in the first long trilogy, I was like, is this gonna tie it together? Is it going to wrap up? And then holy guacamole, it wraps up and it ties things together and you're like, Jesus, fuck, other trilogies I've read where I feel really like there is a direction to this, like I feel like I do see it and I see like I'm asking the right questions and I'm interested in the mystery.   This is the opposite here. I'm gonna go back and like, I shouldn't say gonna, because I've read it twice, I would go back to the first two books and love them more. Whereas with those other trilogies, the first two books, I loved them because I thought I knew where this was going and then it didn't. And now I can't even like the first two books because I know where this is going and it's going nowhere. So with this, it makes me love the first two books more. So when people say, this seems directionless and pointless, I'm like, I know it seems that way the first time.  So well done. Excellent conclusion to a trilogy, in my opinion, which is apparently rare for me to find a conclusion to a trilogy that I think is a good conclusion. All right, we're down to the top two. And I think if you've watched my channel and my Abercrombie videos before, you already know my top two are because my second best used to be my first best, but it has been demoted, Besser cold, which apparently Pierce Brown's least favorite. So you are incorrect, sir. Besser cold is the first standalone after the trilogy. The main character is a female, which is unusual for them to our fantasy and unusual for Abercrombie until recently. And it is a rip roaring revenge story that is definitely, I think, of all of the Abercrombie first law books. This is the grittiest and most violent. I was talking to Amanda from the Nauta Librarian who's making her way through these books, and she read Besser cold. And she was like, that was the darkest one yet. I disagree only because I would agree that it is the grittiest and the most violent, or definitely. But to me, I felt to me, dark is also depressing. And the most depressing to me was Red Country, because it had this like this grizzled kind of worn out feeling to it. So this is the grittiest for sure. It opens and is already like page two. You're just like, blah, I was expecting this, but also I was not ready. The first law trilogy meandering a bit but does wrap up.  It never stops.  It's a revenge story where this female character wants revenge on seven men and she's assembled a crew of like terrible and worse people who altogether she's going to kill those seven men.  And it is a story like only Abercrombie could tell. There is no one to root for here because it's a revenge story. So you tend to want to root for the person who's seeking revenge. I'll account him on a crystal, but she's not a good person. So, Pierce, what is your problem? Why is this not your favorite? What does the hero sound that this doesn't have? Please explain it to me. I don't get it. And my most bestest, best Abercrombie book that I've ever read ever is Little Hatred, which is his newest. And that's just such a delight to know that an author's best work is still ahead of him, that it's not like he wrote the first law trilogy and it's been downhill ever since. This was amazing. It dethroned my former favorite. Besser of Cold was my favorite until Little Hatred came along.  So the way that Red Country is pretty unique in terms of being a grimdark western, here he's taken this grimdark world that he's built and he's pushed it into the industrial revolution kind of background age. And that by itself as a concept is great and it's well executed. He's brought in some new characters because now we're like many years down the line. So a lot of the previous characters have died or too old to be kind of part of it. So they're kids or new characters all together that are not just the next generation or in it. And you get Glockta again. And why did I miss Glockta? But he doesn't just lean on Glockta. He's a less good author. But I've just been like, I'm just going to give you a whole bunch more Glockta because that's what y'all like and we're just going to do a whole bunch more of that. He doesn't do that. He uses Glockta sparingly because yeah, you want to see Glockta. Of course you want to see Glockta. But this is a new story. This is a new cast of characters. It's a new series. It's their story.  But the new characters are incredible. The new plot lines are incredible. The way that the old plot lines do tie into this and do cast a different light on the events. Because a lot of times you know more if you've read the previous books than the characters themselves and what you know about where they've come from and what their parents and grandparents did before them. It's just amazing. It's epic. It's amazing.   I'm so excited for the next book, which is supposed to come out in September, I believe, because I believe he's on a pretty tight schedule and he's not going to let us down. A book a year for this new trilogy. So this came out last September. The next book, which is The Trouble with Peace, supposed to come out in September. I am ready for it. I was ready for it the moment that I finished this one and I need it now. I need it right right now. So if someone gets in the arc of it, that would be great. So if you want to see the final rankings, they are, oh god, we have the heroes, red country, the blade itself, sharp ends, before they are hanged, the last argument of kings, best served cold, and a little hatred.  Let me know all the things. I post videos on Saturdays, sometimes Wednesdays, so like and subscribe and I'll see you when I see you. Bye.


Great. Well, this is building dynamic applications using jQuery mobile. My name is Pat McLaughlin. I'm a technical architect for enterprise solutions at Cititank. We're a company in Chicago. My background is actually in services-oriented distributed web applications. I came up through the C-Sharp.net area. I got my email and blog here. Woo! Let's see here for Microsoft. I needed that, so thank you, guys. I'm going to post links to the demo application and the source code right after this, so we'll check it out. So let's get started. Originally, when I named this talk, I called it Dynamic Applications, but what I really should have called it is Dynamic Solutions. I want to distinguish between a mobile web application or a mobile application and a mobile website, because later we're going to talk about the differences. So there's four questions that I want to answer, and hopefully everyone will have the answers at the end here. That is, what is a dynamic mobile solution? How do dynamic mobile solutions fit into the enterprise? How do enterprise concerns drive the design of a mobile solution? And finally, how to build a dynamic form solution. So what is a dynamic mobile solution? Well, a general definition would be an application or website that can have content changed without reinstalling or redeploying. I think a more specific definition would be a line of business application that can adapt to configurable data models and work order processes. So in layman's terms, we're talking about a mobile solution that has configurable forms. So let's look at a real world example. I've been working on a highly configurable mobile situation for the city of Chicago for about the last year. The mobile solution is a data entry point for an enterprise-wide system that manages city data. The enterprise application is completely configurable per department for the city of Chicago. So what we're talking about is, say, for a fire inspection. A fire extinguisher inspection takes in different values in a fire exit inspection. The code violations that go with a fire tenon inspection are different than the violations that go with a fire drill inspection. And finally, the milestones needed to obtain a business license are different than the milestones we need to obtain a liquor license. So we're talking about having something configurable. So an example of use. The fire department will use a mobile solution for completing inspections. Each inspection will perform multiple, each inspector will perform multiple types of inspections at a given location. So the solution has to render each one of these forms for the inspector, validate the data and send it back to the enterprise. The mobile solution can be used for many different types of work order processes and eventually it will be rolled out to the police, the health and the water departments as well. So how does a dynamic solution fit into the enterprise? Well, the city of Chicago has approximately 2,700 mobile devices. The devices are of many different types. They're blackberries, androids, iPhones, feature phones, tablets and tough books. Any mobile solution that we provide needs to run on many of these types of devices. The enterprise system that the city uses also has approximately 3,000 different configurations based on department and entity type. So that means not only do we have to support different types of devices, but we also have to support all the different configurations. So even on the same types of device it would be impossible to redeploy a solution as configurations are changed and added. So at this point the answer to the problem is a dynamic solution. So how do enterprise concerns drive the design of a mobile solution? Well, the first decision that we have to make is should we be using a mobile website or should we be using a mobile application? Well, in the case of the city we decide we need to use both. Deployment is a large concern with so many devices at the city. So if we can use an HTML5 based online offline website that we can deliver through the mobile browser, that's the best solution. Unfortunately, some of the departments need native functionality as well. Example of this is that the city of Chicago, a demolition inspection, needs pictures with it before you can have a demolition permit. In order to achieve native functionality we use a tool called PhoneGap. Before we talk about PhoneGap though I just want to look at some of the specs of the mobile website. So it's an HTML5 based website. We make use of the offline web application API. We use the web storage API and using both of those we can create a website that can be run in connected or disconnected state. So it's very important, especially at the city of Chicago when there's inspectors going into buildings where they won't have a connection. The inspections still need to be completed. The entity data that they collect will be stored locally and then it will sync with the enterprise system as soon as a connection is available. So onto PhoneGap. We'll just do a little bit about PhoneGap. PhoneGap is a framework for building cross-platform applications. The applications are built in HTML5 and JavaScript and then they're wrapped into native applications. PhoneGap implements native functionality in a platform-specific language and exposes it via JavaScript. So if you're an iOS they'll implement an Objective-C. If you're an Android they'll implement it in Java and then your JavaScript code can call their API and that gives us a cross-platform solution. The one catch about PhoneGap is the mobile website that runs inside of PhoneGap needs to be implemented in a single page, single HTML page. That's where jQuery Mobile comes in. So jQuery Mobile allows us to build a cross-browser website that is compatible with PhoneGap. We are able to keep one code base for both the mobile applications and the mobile websites. So what we do at the city is we check to see are we running inside a browser, we're running inside PhoneGap and we have differences in the code. jQuery Mobile also gives us the ability to render input forms dynamically so redeployment is not necessary. And finally it allows us to create a mobile site based on configurations that has the look and feel of mobile. This is very important because we're using the enterprise site to give us form configurations but we don't want them to look like how they look inside the enterprise application. We want them to have a mobile feel. Now we're under the phone stuff. So how to build a dynamic form solution? So our dynamic form solution has three goals. First of which is create a mobile solution that inputs data based on the configurations in the core enterprise application. Provide offline and online access to the application on device. Finally validate inputs against business logic stored in the core enterprise system. All right. So I've created a demo application to show how we're going to render dynamic forms. This is the first screen. This is a login. So this would act like an inspection app, an inspection application. We pass in a username and password. We would log in. If we're authenticated it would return all the information we need to render dynamic forms. This screen here is a static page.  This is the actual dynamic form here. So what we're looking at here is a form that we created on the fly using a form template that we downloaded. So the form template includes information about what kind of controls to render. So we have the text boxes and then we have the drop down list. Also tells us what's required and also what labels to attach. So what are the challenges for building a dynamic form solution? So we need to get all the entity and form data to the mobile solution so that it can be used in online and offline mode. We need to render unique forms for each entity type and assign values. Finally we need to validate and save the dynamic data back to the core enterprise system. So there's two things I want to define before we start looking at the actual code. The first thing I want to define is an entity. So when we speak of entity we're going to be talking about an object that represents an actual data item in the system. So the examples here are inspections, permits, licenses, or any item that can be bound to a form. Then we have the form templates. Form templates provide us the metadata that describes how to render a dynamic form. So now we're going to look at the dynamic form again here. So on the screen we can see we have three controls. Those controls would come to us in the form template and then we're bound to the entity. As you can see here we have height, 100 feet, so that was bound to the entity using a property. So how does the mobile solution get its data? After we log in we download the entity data and form templates via JSON-based web service. The data that is downloaded specifically for the user that's logged in. The reason we only bring back that data is because we have size issues when we're storing on the device. So we only want to bring back just the necessary amount of information. So for instance we might bring back 50 entities because there's 50 inspections we want to perform, but we might only need two form templates since all the entities might be similar. So after each successful save the web service is called again to update any new data. The reason we do this is to save space as well. So if an inspection passes we don't need to have it on the device anymore and that will save us some space. So now we're going to look at a snippet of JSON. Can everyone see it all right? Fair enough. Excuse me. So we're going to look at some of the properties on this JSON object. So we have the control ID and that's the ID we're going to render the control with. We have the control type. In this case it's a drop-down list. We have default checked. This one only matters when we're rendering a check box. And we have enabled. That tells us whether or not the control is read only. We have the entity. The entity is what we're going to bind the values back to. And then we have the items. So in this list of items these will be all the items that will go into the drop-down list. We have the label. This just tells us what text to render with. We have the property. The property is very important as well because that's the property on the entity we're going to assign the value of this control to. And finally whether it's required or not. So how does the mobile solution render the custom forms? Each entity has a corresponding form template that describes the form. The form template contains a title, description, and a list of controls. And the jQuery mobile page is created in code then added to the container. So we use string templates to render each control. So we're going to look at a code snippet here. What we see here is how to render a text box. So we have the jQuery mobile markup. We have the dig tab, the div tag. We have the label, and then we have the input. Inside of there we have placeholders for all the attributes. We then use regular expressions to assign the control ID and the label. Finally we check if it's required, and then we also add some markup, giving a red asterisk to let the user know that it's required. Finally we close out the div tag and we return this back. Here we're looking at how to render a check box. So the code is very similar, except in this case we have an extra attribute that we use to decide whether or not this should be checked by default. Once again here we use regular expressions to fill in the attributes. One important thing that I want to mention is when we're rendering these controls, the control IDs have to be unique. So the underlying enterprise system that we get the form configurations from takes care of that force in this example. But if it didn't you would have to attach name spaces in order to make each control unique. As we look at some more of the code you're going to see that the control IDs are very important to getting values back out. How does the mobile solution render the custom forms? Well after each page is created it's added to the jQuery mobile page container. So this really is the magic of jQuery mobile when you're making dynamic forms. The first line of code here removes any old pages that have a class of dynamic data page. We then call render.get page template. This is a function that we've created that creates an entire page and this includes looping through the form template control list in order to render each control. And finally we take the entire page as HTML and we append it to the jQuery mobile page container. This is where jQuery mobile does its work. It enhances the page, adds it to the DOM, and that we have an extra page. So once we've created the page we then use an array to keep references to all the controls. As the control is added to a page an entry is also added to the control array and looping through the control array gives us a programmatic way to access each control to retrieve and assign values. So right here I got a JavaScript object that I've created. It's called control and it takes in the ID of the control the property whether it's required, the type, and then the control name which is the label. We don't set the value when we put this control in the array so we have a helper method that allows us to set the value. Now we have the control array here. We have the control array and then we have two helper methods. We can add a control and get a control. Once again when we get the control it's using the control ID so it has to be unique. Also code would break. So how does the mobile solution validate and save data? Well the control array is used to access controls and retrieve values, a required field attribute is part of the configuration of each control. Finally the values are assigned back to the entity and uploaded to the enterprise application via web service. So we're going to look at a snippet of code where the control array is looped through and all the controls are accessed using helper methods. So the code here, you can see here I'm looping through the control array right here and I'm checking the type of the control and then using a helper method based on the type to get the value back out and add that value back into the control array. We do this for check boxes and drop down lists. So this is the way we're able to loop through the form and get the values out without actually knowing what controls are on the page. We're going to take a look at the helper methods too. These all use jQuery selectors, pass in the control ID and then if it's a text box we retrieve it in this manner and so forth for the select value and the check box value. We've got the final save method here. All we do is validate and then we loop through the control array and then we assign the values. So this is the actual demo application. It's a live application and up until about an hour ago it has worked perfectly for about two weeks. So I think everyone can relate to that. So I'm going to give it a shot here and maybe loosen up the talk a little bit here. Normally this would be on a tablet, but unfortunately I don't want to make the screen any smaller. So I'm going to go ahead and log in. And when I log in, the first thing that's going to happen is we're going to call a web service using a jQuery Ajax call. If we're authenticated it's going to return back form templates and all the entities we need. Excellent. So we can see we have three entities here and each entity has an address and that's how I've organized it. This page right here is completely static except for the list view where I've just appended a couple list items. So we're going to click on the first one here and we're going to see this as a fire building inspection. We have three controls. We have the height, the width, and the inspection result. And inside the inspection result we have three values. The height's already been assigned because a property matched from the entity. So I'm going to go ahead and try to save this. We're going to loop through the control array right now and it's going to find that we don't have a value for the width. So I'm going to go ahead and fill that in. I'm going to save it. So now I'm going to go to 3503 North Racine. At a 35 North Racine we're going to render a completely different form using the metadata. So neither of these pages existed before they're rendered. See we have checkboxes, we have sprinklers, fire extinguishers, and then one thing to note here is this dropdown list, although it resembles the other dropdown list, it actually has four items in it. So the form template controls what goes in the dropdowns as well. I'm going to save that and we can go back in and we can see all the items are still bound. What happened there when I went back in is we actually rendered the form again. So we're going to be one of the things we're going to look at to speed up the application. So I'm going to go back to the code for a second or to the presentation. So what improvements can we make to that demo app? Well, performance for one. So we can cache each page after it's rendered so it doesn't need to be recreated. We can add validation. We can provide different types of field validation. Right now we're just doing required fields so that we could have the form template tell us that the type of data it's expecting is an email or a phone and create JavaScript functions to validate it without attaching them to a specific control. One of the main things we need to do, and this is what we do at the city, is we support multiple pages. So we wouldn't just be assigning one dynamic page. We'd be assigning multiple, and with that comes navigation. So we'd be dynamically adding to the nav bar at the bottom so that we can move through all the different pages. So at this time, I'm going to just open up Visual Studio and we're going to look at the code a little bit. As we saw earlier, I'm a Microsoft guy, so I actually build the applications in Visual Studio and see how this looks. Is that readable at all? Nope. Anybody? That's going to take one second. Any better? Great. All right, I want to look at the demo application now and show you, connect all the dots, because I don't know if I explained it well enough how this application is working. So we're going to start at the index page. So the index page is the application. And we'll notice we have two pages in it. We have the login page, then we have the assignments page. What you will notice is we don't even have a placeholder for the dynamic forms. We create the entire page and then we append it to the container. Now we're going to look at the render class. Start at the top. So the render class has a bunch of properties that allow us to create the HTML for the pages. We start with the page template here. So right now we're getting away with having the ID just called dynamic data page. But if we had multiple pages here, we'd have to assign a unique ID to it, or else we wouldn't be able to navigate between the pages. We've got the template here. This is where we have the buttons for saving and canceling. Then we have the start of the form right there. So get page template is what organizes all the code. So we call the property methods here, but then we call render controls. Render controls takes a list of controls from the form template. It loops through and it renders each control right here. So we check the type, and then we call the render method for that type. We got render text box, which we've already looked at, check box. And then we also have render dropdown list. What makes a render dropdown list different is the fact that we're adding items in. And finally, we're going to look at the app code. So the app code starts right here and initializes. We just have some wire up stuff here. And then we have the code for logging in the user. We have a bit of validation code here, and then we have the Ajax call. The Ajax call returns to us a list of entities and form templates, and we pass it into app.load addresses. So right here, I'm taking the entities and the form templates, and I'm storing them in just a variable in the DOM. So I've created a class called state to store those. We then loop through the list of addresses. Sorry, the placeholder for it. We insert the code, and then we refresh the code and enhance it. And that's how we get the address list. And finally, we have the load form function. So whenever you click on an address, I fill in, in the state variable, the current entity and the current form template. We then clear the controls, and then we render the form. After that, we change page to dynamic data page. The rest of the code here is for loading the entity values. We already looked at that. We're looping through the control array, and for each type, we're setting a property value. And then finally, the save.  So that's about it for me. If anyone has any questions, I'm going to have all the code up. Thanks.


Hey, man, you got to check out the scene at the second annual Brit Artisan Market. They have all these far out groovy handmade natural things, and the best part is... Whether you're from the age of Aquarius or a child of the 21st century, there's something for everyone. With both international and local artisans, you won't find a better place to shop for some truly unique holiday gift items. The Artisan Market is an offshoot of our farmers market, and it happens the first Saturday of November, which this year is November 7th. It's from 10 to 3, and this is the second year that we've done it. This year we're going to have about 30 vendors, and they'll sell everything from artisanal olive oil to handmade baby booties. And I think the most interesting thing about the market is that these things truly are handmade. The artisans who make the items are coming to sell them at the market, so you won't find these things anywhere else, which I think is really nice. We never know what the weather will be like in November, so most of the artisans will be inside. We're going to have photographers, we're going to have water colorists, we've got jewelry designers, fiber artists. We're going to have some people who do beautiful, beautiful garden art. We'll have the artisanal food producers, we'll have Victor Andrada providing music, and you can buy his CDs, and our community partner, the Unbound Book Cart. And if the weather's nice, we'll have Steel City Pops. There will be plenty of things to do at the Brit for the whole family. We'll also have our Bella's Story Time, and that's for our preschool visitors, and that will be at 10.30 and 11.30, and then we're going to have a Fall Nature Walk, which will be led by one of our botanists out on the Brit Scape. You can also explore the grounds of Brit, you can explore our pocket prairie, you can explore our pond, the geology wall, and then we're also right next to the botanical gardens, so you can come and explore Brit and the botanic gardens at the same time. Brit Artisan Market is on Saturday, November 7th, from 10 a.m. to 3 p.m. Visit Brit.org for more information. Here's a look at other events happening in and around Fort Worth in the next few weeks. For a listing of more events and city meetings, you always can check the calendar at the city's website.


You've been drinking on my water, dude? No. Like one PAO. Yeah.  Like, I don't know. Maybe, like, no one told them about it. For the mechanics, when you're training, you'll get to the ability to quickly get to the top. Shooter stand by. Point nine, eight. Shooter stand by. Make sure they go back to safety. That's a miss. One point one, four. One point four, five. Eight, eight, zero. Salad. Good Mr. Time? Yeah. Three, four, five. That's a miss. One point one, four. One point four, five. Eight, eight, zero. Salad. Good Mr. Time? Yeah. For Insta. For the Grim! Or he's not eating at all. Do it on the next knee, dude.


Why better opportunities for the youth, you know, and like I said earlier, I was 16 years old. I was not trying to decide whether I should go to bad camp or karate camp.  How I'm going to duck the cops on. Which gang I'm going to join, which gun I'm going to buy, whatever the case, maybe those were the options that I felt I had at the time or that I saw at the time.