text:
Signs Your Gut Is Unhealthy and Why You Should Fix It
by Ferdi Appelgryn | Jul 9, 2018 | Good Reads | 0 comments
Are you feeling down? Do you have joint pain? Are you dealing with itchy eczema? Do you feel constantly bloated? All of these issues — and more — can be traced back to your gut. It turns out that the tens of billions of microbes in your digestive tract are the master puppeteers of your health. Find out what makes these tiny bugs tick, and how you can keep your gut ecosystem healthy and thriving.
RELATED: Get free guides, ebooks, recipes and more to supercharge your health
What is the gut microbiome?
Your body is home to trillions of microscopic organisms — bacteria, fungi, viruses, and other microbes that inhabit almost every part of you. This busy ecosystem of micro-organisms make up what's known as the human microbiome.
Most of your microbes live in your gut, mainly in your intestines and colon. Bacteria are the most studied of the microbes — scientists have discovered over 1,000 species of bacteria in the gut.[1] These bugs do a lot — they digest your food, keep your immune system humming along, protect your intestines from infections, remove environmental toxins from the body, and produce B vitamins and vitamin K, which helps your blood clot.[2]
Everyone's gut microbiome is unique, although certain combinations of microbes — and a diverse mix of them — are the hallmarks of a healthy gut.[3]
Normal gut flora contains small amounts of "bad" bacteria — microbes that cause disease when they overgrow.[4] That's why keeping a good balance between the good and the bad guys is important — too much bad bacteria makes you sick and robs you of feeling your best. You want vibrant communities where the good and bad bacteria work together in harmony.
You get your first dose of microbes as you're being born, when you pass through your mother's birth canal. From there, your microbiome changes during the first couple of years of life, influenced by microbes in breast milk, antibiotics, and your first solid foods. Your gut microbiota stabilizes around the age of 3.[5] This early development of intestinal flora is critical — it sets the tone for your gut health for life.[6]
Scientists have started taking a much closer look at the gut microbiome and its connection to almost everything in the body. A gut that's out of balance can lead to all kinds of serious diseases, including multiple sclerosis, diabetes, depression, rheumatoid arthritis, cancer, autism, heart disease, and asthma.[7] It's actually tough to find a condition that's not connected to gut health in some way.
The signs your gut is unhealthy
If you're feeling or noticing any of the following symptoms, you may have a gut imbalance:
Food sensitivities or allergies
Digestive problems like gas and bloating
Skin issues like acne, eczema, and rosacea
What impacts gut health
Your gut flora, your diet, and the strength of your intestinal lining determine the health of your gut. Using antibiotics too often disrupt your gut bacteria. When you're sick, antibiotics help clear out the bad bacteria, but in the process they wipe out the good bugs too. Some studies have shown that antibiotics can permanently alter intestinal flora.[8] [9]
Keeping your gut in balance is a delicate dance, and there's a lot that can tilt it in the wrong direction. As an adult, the health of your gut microbiome shifts when you:
– Eat processed foods
– Get sick
– Drink alcohol or take drugs
– Experience stress
– Lose or gain weight
– Get older
– Travel overseas or to other new environments
Stress, mood, and the gut — what's the connection?
Have you ever felt nauseous when you've been worried about something? Or had "butterflies" in your stomach when nervous? The brain sends signals to the gut that produces these physical symptoms.
Scientists are discovering that it goes the other way too — when your gut is inflamed or imbalanced, it sends a signal to your brain. You then feel stressed or worried or depressed. It turns out that your gut and your brain are constantly talking to one another.
This back-and-forth communication is known as the gut-brain axis, and occurs primarily along an information superhighway called the vagus nerve. A strong vagus nerve improves the communication between your gut and your brain, so it's vital that you keep it in working order (learn more about how to tone your vagal pathway).
Stress is bad news for the brain-gut axis. Stress signals trigger the release of neurotransmitters and proinflammatory cytokines (molecules that contribute to inflammation and disease), which affect the gut in all kinds of ways.[10][11] Stress can cause:
Intestinal dysmotility (when the muscles and nerves of the digestive system don't work properly)
Holes in the intestine, allowing toxins, bacteria, and food particles to escape and enter your bloodstream
An imbalance in your gut bacteria
Decreased blood flow and oxygenation to the gastrointestinal (GI) tract
This digestive damage can develop into serious GI disorders including inflammatory bowel disease (IBS), peptic ulcers, and food allergies.
You've just come off a round of antibiotics, and at the same time you've been reaching for sugary foods a little too often. You notice you're feeling more blah than usual and a bit low. That's probably no coincidence, thanks again to the gut-brain axis.
A groundswell of research in recent years points to a strong link between what's going on in your gut and various mood and behavioral disorders including depression, autism, and even neurodegenerative diseases.[12] [13] [14] [15] Stomach irritations and gut imbalances send signals to the brain via the central nervous system (CEN), triggering changes in your mood.
A recent study found that transferring the fecal bacteria of depressed people to rats led to depressed behavior in the rats.
Another study divided 40 healthy women into two groups based on their gut bacteria composition (this after analyzing the women's stools). The women with a prevalence of one type of bacteria reported feeling less anxious, stressed, and irritable after looking at negative images compared to the other group, whose guts were dominated by a different kind of bacteria. Scans also showed differences in the women's brains — those who said they felt less stressed showed lower brain volume in areas like the hippocampus than the other group.[16]
Related: How Your Gut Bacteria Control Your Mind
How the gut impacts your weight
You can now blame your gut flora for your excess weight. Research has found that obese people and lean people have different types of microbes in their guts.[17]
One study put genetically-similar mice on a high fat diet. The mice gained or lost weight depending on the types of bacteria in their gut.[18]A diverse mix of bacteria in the gut is also key to staying thin.[19]
Another study looked at 77 pairs of twins — one twin was obese, the other wasn't. The researchers found that the obese twin had different gut bacteria — as well as less bacterial diversity — than their non-obese twin.[20]
Naturally slender people have more of a bacteria from the Bacteroidetes phylum. You can't buy this species as a supplement, but you can hack it by eating foods bursting with antioxidants called polyphenols — found in brightly colored vegetables, coffee, and chocolate.
Gut microbes also make a hormone called FIAF (fasting-induced adipose factor) which tells the body to stop storing fat and burn it instead. To ramp up FIAF production, you want to starve the bacteria of starch and sugar. When bacteria are "hungry," they make more FIAF and you burn fat.[21]
The different digestive conditions
When your gut bacteria is out of balance, your body isn't able to digest food as well, which can lead to various digestive conditions:
IBS: Irritable bowel syndrome (IBS) occurs when the gut and the brain don't communicate properly. Stress or certain foods cause the colon to spasm, so food either gets pushed through the intestines too quickly (diarrhea) or it gets stuck and you get constipated. One theory says that IBS is caused by an overgrowth of bacteria in the small intestine (more on that below). You feel pain and cramping, bloating, and fatigue.[22] [23] [24] It's a vicious cycle — the constant discomfort and embarrassment (IBS sufferers report a lot of gas) makes you feel even more stressed and anxious, but this stress and anxiety makes the symptoms worse. Note that IBS is different from irritable bowel disease (IBD) — a more serious disorder that causes severe inflammation in the bowel. A large study funded by the US government found that cognitive behavioral therapy (CBT) helped IBS sufferers control their mental stress, which eased their symptoms in the long term.[25]
SIBO: Too much bacteria in the small intestine causes small bacterial overgrowth, or SIBO. Symptoms include gas, bloating, diarrhea, autoimmune diseases, and nutrient malabsorption. Recent research suggests that SIBO may be responsible for nearly 80 percent of IBS cases.[26] The small intestine connects the stomach and the large intestine (which includes the colon). Normally, muscular contractions push food through the small intestine to the colon. When these muscles don't work properly, your intestines can't efficiently move bacteria into the colon for elimination. That means the bacteria remains in the small intestine, upsetting the microbial balance. Low stomach acid is another possible cause of SIBO. Doctors prescribe antibiotics to clear out the excess bacteria, but studies show that herbal antimicrobials treat SIBO just as well.[27] Learn more about how to treat SIBO.
Crohn's: Crohn's is a form of irritable bowel disease (IBD) that causes chronic inflammation to your digestive tract. Crohn's typically occurs in the ileum — the final part of the small intestine — although it can affect any part of the GI tract, from the mouth to the anus. Common symptoms include diarrhea, nausea, weight loss, anemia, and stomach pain. This long-term inflammation can lead to ulcers, fistulas, and malnutrition.[28] It's not clear what causes Crohn's — it may be an autoimmune reaction, where your immune system attacks your own intestinal cells, triggered by bacteria in your digestive tract. A recent study found high amounts of three types of gut bacteria in people with Crohn's, suggesting that the right mix of probiotics could control the bad bacteria, and therefore control Crohn's symptoms.[29] Note that the other form of IBD is ulcerative colitis — it has similar symptoms to Crohn's, but only affects the large intestine, while Crohn's can develop anywhere in the GI tract.
Leaky gut: Too much bad bacteria and not enough good bacteria can cause leaky gut — when cracks or holes develop in your intestinal lining, allowing toxins, undigested food particles, and bacteria to pass through and enter your bloodstream. This creates inflammation in the body and over time leads to autoimmune disease. Leaky gut has been linked to type 1 diabetes, IBD, celiac disease, multiple sclerosis, and asthma.[30]
Ways to test your gut
Get to know your poop: It might sound funny, but becoming an expert on your own stools tells you a lot about what's going on in your gut. Check out this handy poop chart to help you identify any problem areas. You want to be looking at the stool's consistency, whether it floats or sinks, its color, and how often you go (once or twice a day is a sign of strong digestion).
Take a gut test: You can now send a fecal sample to a company like Viome — they send you a test kit in the mail, and you pay them a fee to analyze your stools. You'll receive a detailed report with a list of all the bacteria in your gut, how your microbiome compares to other people's, and how to keep your bacteria healthy with supplement and diet recommendations. You can test again — whenever you want really — to monitor your progress and see if any changes you made are working to heal your gut.
What to eat for a better gut
Cleaning up your diet is the most powerful way to starve the bad bacteria and feed the good guys. Read more on how to balance your gut flora. In the meantime, follow these gut-friendly diet tips:
Quit sugar: If you make one change to improve your gut health, make it this. Bad bacteria love sugar and feed off of it. Excess sugar is the prime culprit behind small bacterial intestinal overgrowth (SIBO) and candida (a type of yeast overgrowth). Cut out sugar (that includes the fructose in fruit), low-nutrient carbs, conventional dairy, and alcohol. Learn more about how to kick your sugar habit with Bulletproof-approved alternative sweeteners.
Choose a variety of foods: The hallmark of a thriving gut is a diverse mix of good bacteria. So eating a variety of low-toxin, anti-inflammatory foods ensures no one bacterial strain dominates over the others. Focus on vegetables, high-quality protein, and omega-3 fats. Read more about cleaning up your diet here.
Add MCT oil: Medium-chain triglycerides — the saturated fatty acids found in coconut oil — are strong antifungals, antibacterials, and antivirals.[31][32] Try Brain Octane Oil — it's the most potent extract of coconut oil. Use it in your Bulletproof Coffee, drizzle it over sushi, or blend it in a smoothie.
Feed your good bacteria prebiotics: Prebiotics are what good bacteria (aka probiotics) feed on.[33] This process produces short-chain fatty acids like butyrate, which strengthens your brain and your gut[34][35] (grass-fed butter is full of butyrate — one reason why it's such a big part of the Bulletproof Diet.) You can get prebiotics from vegetables rich in soluble fiber like sweet potatoes, brussels sprouts, and asparagus, as well as coffee and chocolate. Also experiment with foods high in prebiotic resistant starch, like plantain and green banana flour, cooked and cooled white rice, and raw potato starch. Not everyone can tolerate resistant starch, so start slowly and track how you feel (one tablespoon of potato starch a day is a good starting point).
Try this resistant starch recipe: White Chocolate and Raspberry Keto Cake
Get more collagen: Collagen heals and repairs the gut lining, making it easier for your body to absorb nutrients.[36] Eat collagen-rich foods such as bone broth and organ meats, or add a hydrolyzed collagen protein powder to your smoothie (try Collagen Protein.) You can also use Collagelatin to make puddings and jellies, or to thicken soups and sauces.
Related: How to Get More Collagen, and Why Your Skin Needs It to Stay Young
Other ways to heal your gut
Watch out for histamine: Taking probiotic supplements can be a good thing for your gut, but some strains can increase your levels of histamine — the same chemical your body produces during an allergic reaction. Too much histamine causes inflammation in the body. Avoid probiotic supplements that contain Lactobacillus casei, Lactobacillus reuteri, and Lactobacillus bulgaricus. These histamine-producing bacteria are also present in so-called health foods like conventional yogurt and aged or fermented foods. Learn more about the best and worst probiotics.
Be cautious with antibiotics: Western doctors tend to over-prescribe antibiotics for illnesses like the common cold and ear infections that don't even respond to these drugs. The Centers for Disease Control and Prevention (CDC) estimates that physicians are handing out roughly 50 million unnecessary prescriptions each year. Antibiotics kill the pathogenic bacteria in your gut but at the same time sweep away healthy microbes too. If you're on a necessary course of antibiotics, load up on anti-inflammatory foods and prebiotics to get your gut thriving once again.
Related: How to Restore Your Gut After Taking Antibiotics
Hack stress: Stress can impact the gut in all sorts of ways (see above). Learning to manage your stress is a powerful way to heal your microbiome. Carve out time each day to meditate — even just a five-minute meditation can calm your nervous system and give you a sense of wellbeing. Find out more here on how to hack your stress.
Take activated charcoal: Activated charcoal — a form of carbon — has been used for thousands of years to detoxify the body and improve digestive health.[37] Activated charcoal binds to toxins and chemicals in the gut, stopping your body from absorbing them. Take it slowly — too much activated charcoal can give you constipation. Start with 1 or 2 capsules a day. Try: Coconut Charcoal.
Article source: https://blog.bulletproof.com/gut-health-microbiome/


text:
using Signum.Engine.Basics;
using Signum.Engine.Cache;
using Signum.Engine.DynamicQuery;
using Signum.Engine.Maps;
using Signum.Engine.Operations;
using Signum.Entities;
using Signum.Entities.Basics;
using Signum.Entities.Dynamic;
using Signum.Utilities;
using Signum.Utilities.ExpressionTrees;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Reflection;
using System.Text;

namespace Signum.Engine.Dynamic
{
    public static class DynamicTypeLogic
    {
        public static ResetLazy<HashSet<Type>> AvailableEmbeddedEntities = null!;
        public static ResetLazy<HashSet<Type>> AvailableModelEntities = null!;

        public static void Start(SchemaBuilder sb)
        {
            if (sb.NotDefined(MethodInfo.GetCurrentMethod()))
            {
                sb.Include<DynamicTypeEntity>()
                    .WithQuery(() => e => new
                    {
                        Entity = e,
                        e.Id,
                        e.TypeName,
                        e.BaseType,
                    });

                AvailableEmbeddedEntities = sb.GlobalLazy(() =>
                {
                    var namespaces = DynamicCode.GetNamespaces().ToHashSet();
                    return DynamicCode.AssemblyTypes
                    .Select(t => t.Assembly)
                    .Distinct()
                    .SelectMany(a => a.GetTypes())
                    .Where(t => typeof(EmbeddedEntity).IsAssignableFrom(t) && namespaces.Contains(t.Namespace!))
                    .ToHashSet();

                }, new InvalidateWith(typeof(TypeEntity)));

                AvailableModelEntities = sb.GlobalLazy(() =>
                {
                    var namespaces = DynamicCode.GetNamespaces().ToHashSet();
                    return DynamicCode.AssemblyTypes
                    .Select(t => t.Assembly)
                    .Distinct()
                    .SelectMany(a => a.GetTypes())
                    .Where(t => typeof(ModelEntity).IsAssignableFrom(t) && namespaces.Contains(t.Namespace!))
                    .ToHashSet();

                }, new InvalidateWith(typeof(TypeEntity)));

                DynamicTypeGraph.Register();
                DynamicLogic.GetCodeFiles += GetCodeFiles;
                DynamicLogic.OnWriteDynamicStarter += WriteDynamicStarter;
                DynamicCode.RegisteredDynamicTypes.Add(typeof(DynamicTypeEntity));
            }
        }

        public class DynamicTypeGraph : Graph<DynamicTypeEntity>
        {
            public static void Register()
            {
                new Construct(DynamicTypeOperation.Create)
                {
                    Construct = (_) => new DynamicTypeEntity { BaseType = DynamicBaseType.Entity },
                }.Register();

                new ConstructFrom<DynamicTypeEntity>(DynamicTypeOperation.Clone)
                {
                    Construct = (e, _) =>
                    {

                        var def = e.GetDefinition();
                        var result = new DynamicTypeEntity { TypeName = null!, BaseType = e.BaseType };
                        result.SetDefinition(def);
                        return result;
                    },
                }.Register();

                new Execute(DynamicTypeOperation.Save)
                {
                    CanBeNew = true,
                    CanBeModified = true,
                    Execute = (e, _) =>
                    {
                        var newDef = e.GetDefinition();
                        var duplicatePropertyNames = newDef.Properties
                                .GroupToDictionary(a => a.Name.ToLower())
                                .Where(a => a.Value.Count() > 1)
                                .ToList();

                        if (duplicatePropertyNames.Any())
                            throw new InvalidOperationException(ValidationMessage._0HasSomeRepeatedElements1.NiceToString(e.TypeName, duplicatePropertyNames.Select(a => a.Key.FirstUpper()).Comma(", ")));

                        if (!e.IsNew)
                        {
                            var old = e.ToLite().RetrieveAndRemember();
                            if (e.TypeName != old.TypeName)
                                DynamicSqlMigrationLogic.AddDynamicRename(TypeNameKey, old.TypeName, e.TypeName);

                            if (e.BaseType == DynamicBaseType.ModelEntity)
                                return;

                            var oldDef = old.GetDefinition();
                            var newName = GetTableName(e, newDef);
                            var oldName = GetTableName(old, oldDef);

                            if (newName != oldName)
                                DynamicSqlMigrationLogic.AddDynamicRename(Replacements.KeyTables, oldName, newName);

                            var pairs = newDef.Properties
                                .Join(oldDef.Properties, n => n.UID, o => o.UID, (n, o) => new { n, o })
                                .Where(a => a.n!.Type == a.o!.Type); /*CSBUG*/

                            {
                                string ColName(DynamicProperty dp) => dp.ColumnName ?? dp.Name;

                                string replacementKey = (e.BaseType != DynamicBaseType.Entity || old.BaseType != DynamicBaseType.Entity) ? UnknownColumnKey : Replacements.KeyColumnsForTable(oldName);
                                foreach (var a in pairs.Where(a => ColName(a.n!) != ColName(a.o!)))
                                {
                                    DynamicSqlMigrationLogic.AddDynamicRename(replacementKey, ColName(a.o!), ColName(a.n!));
                                }
                            }

                            {
                                string replacementKey = (e.BaseType != DynamicBaseType.Entity || old.BaseType != DynamicBaseType.Entity) ? UnknownPropertyKey : PropertyRouteLogic.PropertiesFor.FormatWith(old.TypeName);
                                foreach (var a in pairs.Where(a => a.n!.Name != a.o!.Name))
                                {
                                    DynamicSqlMigrationLogic.AddDynamicRename(replacementKey, a.o!.Name, a.n!.Name);
                                }

                            }
                        }
                    },
                }.Register();

                new Delete(DynamicTypeOperation.Delete)
                {
                    Delete = (e, _) =>
                    {
                        e.Delete();
                    }
                }.Register();
            }
        }

        public const string UnknownPropertyKey = "UnknownProperty";
        public const string UnknownColumnKey = "UnknownColumn";
        public const string TypeNameKey = "TypeName";

        public static Func<DynamicTypeEntity, DynamicTypeDefinition, string> GetTableName = (dt, def) => def.TableName ?? ("codegen." + dt.TypeName);

        public static string GetPropertyType(DynamicProperty property)
        {
            var generator = new DynamicTypeCodeGenerator(DynamicCode.CodeGenEntitiesNamespace, null!, DynamicBaseType.Entity, null!, new HashSet<string>());

            return generator.GetPropertyType(property);
        }

        internal static List<DynamicTypeEntity> GetTypes()
        {
            CacheLogic.GloballyDisabled = true;
            try
            {
                if (!Administrator.ExistsTable<DynamicTypeEntity>())
                    return new List<DynamicTypeEntity>();

                return ExecutionMode.Global().Using(a => Database.Query<DynamicTypeEntity>().ToList());
            }
            finally
            {
                CacheLogic.GloballyDisabled = false;
            }
        }

        public static void WriteDynamicStarter(StringBuilder sb, int indent)
        {

            var types = GetTypes();
            foreach (var item in types)
                sb.AppendLine($"{item}Logic.Start(sb);".Indent(indent));
        }

        public static Func<Dictionary<string, Dictionary<string, string>>>? GetAlreadyTranslatedExpressions;
        public static Func<Dictionary<string, Dictionary<string, FormatUnit>>>? GetFormattedExpressions;

        public static List<CodeFile> GetCodeFiles()
        {
            List<DynamicTypeEntity> types = GetTypes();
            var alreadyTranslatedExpressions = GetAlreadyTranslatedExpressions?.Invoke();
            var formattedExpressions = GetFormattedExpressions?.Invoke();

            var result = new List<CodeFile>();

            var entities =  types.Select(dt =>
            {
                var def = dt.GetDefinition();

                var dcg = new DynamicTypeCodeGenerator(DynamicCode.CodeGenEntitiesNamespace, dt.TypeName, dt.BaseType, def, DynamicCode.Namespaces);

                var content = dcg.GetFileCode();
                return new CodeFile(dt.TypeName + ".cs", content);
            }).ToList();
            result.AddRange(entities);

            var logics = types.Select(dt =>
            {
                var def = dt.GetDefinition();

                var dlg = new DynamicTypeLogicGenerator(DynamicCode.CodeGenEntitiesNamespace, dt.TypeName, dt.BaseType, def, DynamicCode.Namespaces)
                {
                    AlreadyTranslated = alreadyTranslatedExpressions?.TryGetC(dt.TypeName + "Entity"),
                    Formatted = formattedExpressions?.TryGetC(dt.TypeName + "Entity"),
                };

                var content = dlg.GetFileCode();
                return new CodeFile(dt.TypeName + "Logic.cs", content);
            }).ToList();
            result.AddRange(logics);

            var bs = new DynamicBeforeSchemaGenerator(DynamicCode.CodeGenEntitiesNamespace, types.Select(a => a.GetDefinition().CustomBeforeSchema).NotNull().ToList(), DynamicCode.Namespaces);
            result.Add(new CodeFile("CodeGenBeforeSchema.cs", bs.GetFileCode()));

            return result;
        }
    }

    public class DynamicTypeCodeGenerator
    {
        public HashSet<string> Usings { get; private set; }
        public string Namespace { get; private set; }
        public string TypeName { get; private set; }
        public DynamicBaseType BaseType { get; private set; }
        public DynamicTypeDefinition Def { get; private set; }
        public bool IsTreeEntity { get; private set; }

        public DynamicTypeCodeGenerator(string @namespace, string typeName, DynamicBaseType baseType, DynamicTypeDefinition def, HashSet<string> usings)
        {
            this.Usings = usings;
            this.Namespace = @namespace;
            this.TypeName = typeName;
            this.BaseType = baseType;
            this.Def = def;
            this.IsTreeEntity = def != null && def.CustomInheritance != null && def.CustomInheritance.Code.Contains("TreeEntity");
        }

        public string GetFileCode()
        {
            StringBuilder sb = new StringBuilder();
            foreach (var item in this.Usings)
                sb.AppendLine("using {0};".FormatWith(item));

            sb.AppendLine();
            sb.AppendLine("namespace " + this.Namespace);
            sb.AppendLine("{");
            sb.Append(GetEntityCode().Indent(4));

            if (this.BaseType == DynamicBaseType.Entity)
            {
                var ops = GetEntityOperation();
                if (ops != null)
                {
                    sb.AppendLine();
                    sb.Append(ops.Indent(4));
                }
            }

            if (this.Def!.CustomTypes != null)
                sb.AppendLine(this.Def.CustomTypes.Code);

            sb.AppendLine("}");

            return sb.ToString();
        }

        public string GetEntityCode()
        {
            StringBuilder sb = new StringBuilder();
            foreach (var gr in GetEntityAttributes().GroupsOf(a => a.Length, 100))
            {
                sb.AppendLine("[" + gr.ToString(", ") + "]");
            }
            sb.AppendLine($"public class {this.GetTypeNameWithSuffix()} : {GetEntityBaseClass(this.BaseType)}");
            sb.AppendLine("{");

            if (this.BaseType == DynamicBaseType.MixinEntity)
                sb.AppendLine($"{this.GetTypeNameWithSuffix()}(ModifiableEntity mainEntity, MixinEntity next): base(mainEntity, next) {{ }}".Indent(4));

            foreach (var prop in Def.Properties)
            {
                string field = WriteProperty(prop);

                if (field != null)
                {
                    sb.Append(field.Indent(4));
                    sb.AppendLine();
                }
            }

            if (this.Def.CustomEntityMembers != null)
                sb.AppendLine(this.Def.CustomEntityMembers.Code.Indent(4));

            string? toString = GetToString();
            if (toString != null)
            {
                sb.Append(toString.Indent(4));
                sb.AppendLine();
            }

            sb.AppendLine("}");
            sb.AppendLine();

            return sb.ToString();
        }

        public string? GetEntityOperation()
        {
            if (this.IsTreeEntity)
                return null;

            if (this.Def.OperationCreate == null &&
                 this.Def.OperationSave == null &&
                 this.Def.OperationDelete == null &&
                 this.Def.OperationClone == null)
                return null;

            StringBuilder sb = new StringBuilder();
            sb.AppendLine($"[AutoInit]"); //Only for ReflectionServer
            sb.AppendLine($"public static class {this.TypeName}Operation");
            sb.AppendLine("{");

            if (this.Def.OperationCreate != null)
                sb.AppendLine($"    public static readonly ConstructSymbol<{this.TypeName}Entity>.Simple Create = OperationSymbol.Construct<{this.TypeName}Entity>.Simple(typeof({ this.TypeName}Operation), \"Create\");");

            var requiresSaveOperation = (this.Def.EntityKind != null && EntityKindAttribute.CalculateRequiresSaveOperation(this.Def.EntityKind.Value));
            if ((this.Def.OperationSave != null) && !requiresSaveOperation)
                throw new InvalidOperationException($"DynamicType '{this.TypeName}' defines Save but has EntityKind = '{this.Def.EntityKind}'");
            else if (this.Def.OperationSave == null && requiresSaveOperation)
                throw new InvalidOperationException($"DynamicType '{this.TypeName}' does not define Save but has EntityKind = '{this.Def.EntityKind}'");

            if (this.Def.OperationSave != null)
                sb.AppendLine($"    public static readonly ExecuteSymbol<{this.TypeName}Entity> Save = OperationSymbol.Execute<{this.TypeName}Entity>(typeof({ this.TypeName}Operation), \"Save\");");

            if (this.Def.OperationDelete != null)
                sb.AppendLine($"    public static readonly DeleteSymbol<{this.TypeName}Entity> Delete = OperationSymbol.Delete<{this.TypeName}Entity>(typeof({ this.TypeName}Operation), \"Delete\");");

            if (this.Def.OperationClone != null)
                sb.AppendLine($"    public static readonly ConstructSymbol<{this.TypeName}Entity>.From<{this.TypeName}Entity> Clone = OperationSymbol.Construct<{this.TypeName}Entity>.From<{this.TypeName}Entity>(typeof({ this.TypeName}Operation), \"Clone\");");

            sb.AppendLine("}");

            return sb.ToString();
        }

        private string GetEntityBaseClass(DynamicBaseType baseType)
        {
            if (this.Def.CustomInheritance != null)
                return this.Def.CustomInheritance.Code;

            return baseType.ToString();
        }

        protected virtual string? GetToString()
        {
            if (Def.ToStringExpression == null)
                return null;

            StringBuilder sb = new StringBuilder();
            sb.AppendLine($"static Expression<Func<{this.GetTypeNameWithSuffix()}, string>> ToStringExpression = e => {Def.ToStringExpression};");
            sb.AppendLine("[ExpressionField(\"ToStringExpression\")]");
            sb.AppendLine("public override string ToString()");
            sb.AppendLine("{");
            sb.AppendLine("    return ToStringExpression.Evaluate(this);");
            sb.AppendLine("}");
            return sb.ToString();
        }

        public virtual string GetTypeNameWithSuffix()
        {
            return this.TypeName + (this.BaseType == DynamicBaseType.MixinEntity ? "Mixin" :
                this.BaseType == DynamicBaseType.EmbeddedEntity ? "Embedded":
                this.BaseType == DynamicBaseType.ModelEntity ? "Model" : "Entity");
        }

        private List<string> GetEntityAttributes()
        {
            List<string> atts = new List<string> { "Serializable" };

            if (this.BaseType == DynamicBaseType.Entity)
            {
                atts.Add("EntityKind(EntityKind." + Def.EntityKind!.Value + ", EntityData." + Def.EntityData!.Value + ")");

                if (Def.TableName.HasText())
                {
                    var parts = ParseTableName(Def.TableName);
                    atts.Add("TableName(" + parts + ")");
                }

                if (Def.PrimaryKey != null)
                {
                    var name = Def.PrimaryKey.Name ?? "ID";
                    var type = Def.PrimaryKey.Type ?? "int";
                    var identity = Def.PrimaryKey.Identity;

                    atts.Add($"PrimaryKey(typeof({type}), {Literal(name)}, Identity = {identity.ToString().ToLower()})");
                }

                if (Def.Ticks != null)
                {
                    var hasTicks = Def.Ticks.HasTicks;
                    var name = Def.Ticks.Name ?? "Ticks";
                    var type = Def.Ticks.Type ?? "int";

                    if (!hasTicks)
                        atts.Add("TicksColumn(false)");
                    else
                        atts.Add($"TicksColumn(true, Name = {Literal(name)}, Type = typeof({type}))");
                }
            }

            return atts;
        }

        string Literal(object obj)
        {
            return CSharpRenderer.Value(obj);
        }

        protected virtual string WriteProperty(DynamicProperty property)
        {
            string type = GetPropertyType(property);

            StringBuilder sb = new StringBuilder();

            string? inititalizer = (property.IsMList != null) ? $" = new {type}()" : null;
            string fieldName = GetFieldName(property);

            WriteAttributeTag(sb, GetFieldAttributes(property));
            sb.AppendLine($"{type} {fieldName}{inititalizer};");
            WriteAttributeTag(sb, GetPropertyAttributes(property));
            sb.AppendLine($"public {type} {property.Name}");
            sb.AppendLine("{");
            sb.AppendLine($"    get {{ return this.Get({fieldName}); }}");
            sb.AppendLine($"    set {{ this.Set(ref {fieldName}, value); }}");
            sb.AppendLine("}");

            return sb.ToString();
        }

        private static string GetFieldName(DynamicProperty property)
        {
            var fn = property.Name.FirstLower();

            return CSharpRenderer.EscapeIdentifier(fn);
        }

        private IEnumerable<string> GetPropertyAttributes(DynamicProperty property)
        {
            var atts = property.Validators.EmptyIfNull().Select(v => GetValidatorAttribute(v)).ToList();

            if (property.IsNullable == Entities.Dynamic.IsNullable.OnlyInMemory && !property.Validators.EmptyIfNull().Any(v => v.Type == "NotNull"))
                atts.Add(GetValidatorAttribute(new DynamicValidator.NotNull { Type = "NotNull" }));

            if (property.Unit != null)
                atts.Add($"Unit(\"{property.Unit}\")");

            if (property.Format != null)
                atts.Add($"Format(\"{property.Format}\")");

            if (property.NotifyChanges == true)
            {
                if (property.IsMList != null)
                    atts.Add("NotifyCollectionChanged");

                if (property.Type.EndsWith("Embedded") || property.Type.EndsWith("Entity") && !property.IsLite)
                    atts.Add("NotifyChildProperty");
            }

            if (property.CustomPropertyAttributes.HasText())
                atts.Add(property.CustomPropertyAttributes);

            return atts;
        }

        private string GetValidatorAttribute(DynamicValidator v)
        {
            var name = v.Type + "Validator";

            var extra = v.ExtraArguments();

            if (extra == null)
                return name;

            return $"{name}({extra})";
        }

        protected virtual void WriteAttributeTag(StringBuilder sb, IEnumerable<string> attributes)
        {
            foreach (var gr in attributes.GroupsOf(a => a.Length, 100))
            {
                sb.AppendLine("[" + gr.ToString(", ") + "]");
            }
        }

        private List<string> GetFieldAttributes(DynamicProperty property)
        {
            List<string> atts = new List<string>();
            if (property.IsNullable == Entities.Dynamic.IsNullable.OnlyInMemory)
                atts.Add("ForceNotNullable");

            if (property.Size != null || property.Scale != null || property.ColumnType.HasText())
            {
                var props = new[]
                {
                    property.Size != null ? "Size = " + Literal(property.Size) : null,
                    property.Scale != null ? "Scale = " + Literal(property.Scale) : null,
                    property.ColumnType.HasText() ?  "SqlDbType = " + Literal(Enum.TryParse(property.ColumnType, out SqlDbType dbType) ? dbType : SqlDbType.Udt) : null,
                    property.ColumnType.HasText() && !Enum.TryParse<SqlDbType>(property.ColumnType, out var _) ?  "UserDefinedTypeName = " + Literal(property.ColumnType) : null,

                }.NotNull().ToString(", ");

                atts.Add($"DbType({props})");
            }

            if (property.ColumnName.HasText())
                atts.Add("ColumnName(" + Literal(property.ColumnName) + ")");

            switch (property.UniqueIndex)
            {
                case Entities.Dynamic.UniqueIndex.No: break;
                case Entities.Dynamic.UniqueIndex.Yes: atts.Add("UniqueIndex"); break;
                case Entities.Dynamic.UniqueIndex.YesAllowNull: atts.Add("UniqueIndex(AllowMultipleNulls = true)"); break;
            }

            if (property.IsMList != null)
            {

                var mlist = property.IsMList;
                if (mlist.PreserveOrder)
                    atts.Add("PreserveOrder" + (mlist.OrderName.HasText() ? "(" + Literal(mlist.OrderName) + ")" : ""));

                if (mlist.TableName.HasText())
                {
                    var parts = ParseTableName(mlist.TableName);
                    atts.Add("TableName(" + parts + ")");
                }

                if (mlist.BackReferenceName.HasText())
                    atts.Add($"BackReferenceColumnName({Literal(mlist.BackReferenceName)})");
            }

            if (property.CustomFieldAttributes.HasText())
                atts.Add(property.CustomFieldAttributes);

            return atts;
        }

        private string ParseTableName(string value)
        {
            var isPostgres = Schema.Current.Settings.IsPostgres;
            var objName = ObjectName.Parse(value, isPostgres);

            return new List<string?>
            {
                Literal(objName.Name),
                !objName.Schema.IsDefault() ? "SchemaName =" + Literal(objName.Schema.Name) : null,
                objName.Schema.Database != null ? "DatabaseName =" + Literal(objName.Schema.Database.Name) : null,
                objName.Schema.Database?.Server != null ? "ServerName =" + Literal(objName.Schema.Database.Server.Name) : null,
            }.NotNull().ToString(", ");
        }

        public virtual string GetPropertyType(DynamicProperty property)
        {
            if (string.IsNullOrEmpty(property.Type))
                return "";

            string result = SimplifyType(property.Type);

            if (property.IsLite)
                result = "Lite<" + result + ">";

            if (property.IsMList != null)
                return "MList<" + result + ">";

            var isNullable = (property.IsNullable == Entities.Dynamic.IsNullable.Yes ||
                property.IsNullable == Entities.Dynamic.IsNullable.OnlyInMemory);

            return result + (isNullable ? "?" : "");
        }

        private bool IsValueType(DynamicProperty property)
        {
            var t = TryResolveType(property.Type);
            if (t != null)
                return t.IsValueType;

            var tn = property.Type;
            if (tn.EndsWith("Embedded") || tn.EndsWith("Entity") || tn.EndsWith("Mixin") || tn.EndsWith("Symbol"))
            {
                return false;
            }
            else
            {
                return true; // Assume Enum
            }
        }

        private string SimplifyType(string type)
        {
            var ns = type.TryBeforeLast(".");

            if (ns == null)
                return type;

            if (this.Namespace == ns || this.Usings.Contains(ns))
                return type.AfterLast(".");

            return type;
        }

        public Type? TryResolveType(string typeName)
        {
            switch (typeName)
            {
                case "bool": return typeof(bool);
                case "byte": return typeof(byte);
                case "char": return typeof(char);
                case "decimal": return typeof(decimal);
                case "double": return typeof(double);
                case "short": return typeof(short);
                case "int": return typeof(int);
                case "long": return typeof(long);
                case "sbyte": return typeof(sbyte);
                case "float": return typeof(float);
                case "string": return typeof(string);
                case "ushort": return typeof(ushort);
                case "uint": return typeof(uint);
                case "ulong": return typeof(ulong);
            }

            var result = Type.GetType("System." + typeName);

            if (result != null)
                return result;

            var type = TypeLogic.TryGetType(typeName);
            if (type != null)
                return EnumEntity.Extract(type) ?? type;

            return null;
        }
    }

    public class DynamicTypeLogicGenerator
    {
        public HashSet<string> Usings { get; private set; }
        public string Namespace { get; private set; }
        public string TypeName { get; private set; }
        public DynamicBaseType BaseType { get; private set; }
        public DynamicTypeDefinition Def { get; private set; }
        public bool IsTreeEntity { get; private set; }

        public Dictionary<string, string>? AlreadyTranslated { get; set; }
        public Dictionary<string, FormatUnit>? Formatted { get; set; }

        public DynamicTypeLogicGenerator(string @namespace, string typeName, DynamicBaseType baseType, DynamicTypeDefinition def, HashSet<string> usings)
        {
            this.Usings = usings;
            this.Namespace = @namespace;
            this.TypeName = typeName;
            this.BaseType = baseType;
            this.Def = def;
            this.IsTreeEntity = def != null && def.CustomInheritance != null && def.CustomInheritance.Code.Contains("TreeEntity");
        }

        public string GetFileCode()
        {
            StringBuilder sb = new StringBuilder();
            foreach (var item in this.Usings)
                sb.AppendLine("using {0};".FormatWith(item));

            sb.AppendLine();
            sb.AppendLine($"namespace {this.Namespace}");
            sb.AppendLine($"{{");

            var complexFields = this.Def.QueryFields.EmptyIfNull().Select(a => GetComplexQueryField(a)).NotNull().ToList();
            var complexNotTranslated = complexFields.Where(a => this.AlreadyTranslated?.TryGetC(a) == null).ToList();
            if (complexNotTranslated.Any())
            {
                sb.AppendLine($"    public enum CodeGenQuery{this.TypeName}Message");
                sb.AppendLine($"    {{");
                foreach (var item in complexNotTranslated)
                    sb.AppendLine($"        " + item + ",");
                sb.AppendLine($"    }}");
            }

            sb.AppendLine($"    public static class {this.TypeName}Logic");
            sb.AppendLine($"    {{");
            sb.AppendLine($"        public static void Start(SchemaBuilder sb)");
            sb.AppendLine($"        {{");
            sb.AppendLine($"            if (sb.NotDefined(MethodInfo.GetCurrentMethod()))");
            sb.AppendLine($"            {{");

            if (this.BaseType == DynamicBaseType.Entity)
            {
                sb.AppendLine(GetInclude().Indent(16));
            }

            if (this.Def.CustomStartCode != null)
                sb.AppendLine(this.Def.CustomStartCode.Code.Indent(16));

            if (this.BaseType == DynamicBaseType.Entity)
            {
                if (complexFields.HasItems())
                    sb.AppendLine(RegisterComplexQuery(complexFields).Indent(16));

                var complexOperations = RegisterComplexOperations();
                if (complexOperations != null)
                    sb.AppendLine(complexOperations.Indent(16));
            }

            sb.AppendLine($"            }}");
            sb.AppendLine($"        }}");

            if (this.Def.CustomLogicMembers != null)
                sb.AppendLine(this.Def.CustomLogicMembers.Code.Indent(8));

            sb.AppendLine($"    }}");
            sb.AppendLine($"}}");

            return sb.ToString();
        }

        private string GetInclude()
        {
            StringBuilder sb = new StringBuilder();
            sb.AppendLine($"var fi = sb.Include<{this.TypeName}Entity>()");

            if (!this.IsTreeEntity)
            {
                if (this.Def.OperationSave != null && string.IsNullOrWhiteSpace(this.Def.OperationSave.Execute.Trim()))
                    sb.AppendLine($"    .WithSave({this.TypeName}Operation.Save)");

                if (this.Def.OperationDelete != null && string.IsNullOrWhiteSpace(this.Def.OperationDelete.Delete.Trim()))
                    sb.AppendLine($"    .WithDelete({this.TypeName}Operation.Delete)");
            }

            var mcui = this.Def.MultiColumnUniqueIndex;
            if (mcui != null)
                sb.AppendLine($"    .WithUniqueIndex(e => new {{{ mcui.Fields.ToString(", ")}}}{(mcui.Where.HasText() ? ", e => " + mcui.Where : "")})");

            var queryFields = this.Def.QueryFields.EmptyIfNull();

            if (queryFields.EmptyIfNull().Any() && queryFields.All(a => GetComplexQueryField(a) == null))
            {
                var lines = new[] { "Entity = e" }.Concat(queryFields);

                sb.AppendLine($@"    .WithQuery(() => e => new
    {{
{ lines.ToString(",\r\n").Indent(8)}
    }})");
            }

            sb.Insert(sb.Length - 2, ';');
            return sb.ToString();
        }

        public static string? GetComplexQueryField(string field)
        {
            var fieldName = field.TryBefore("=")?.Trim();

            if (fieldName == null)
                return null;

            if (!IdentifierValidatorAttribute.International.IsMatch(fieldName))
                return null;

            var lastProperty = field.After("=").TryAfterLast(".")?.Trim();

            if (lastProperty == null || fieldName != lastProperty)
                return fieldName;

            return null;
        }

        public string RegisterComplexQuery(List<string> complexQueryFields)
        {
            StringBuilder sb = new StringBuilder();

            var lines = new[] { "Entity = e" }.Concat(this.Def.QueryFields);

            sb.AppendLine($@"QueryLogic.Queries.Register(typeof({this.TypeName}Entity), () => DynamicQueryCore.Auto(
    from e in Database.Query<{this.TypeName}Entity>()
    select new
    {{
{ lines.ToString(",\r\n").Indent(8)}
    }})
{complexQueryFields.Select(f => $".ColumnDisplayName(a => a.{f}, {this.AlreadyTranslated?.TryGetC(f) ?? $"CodeGenQuery{this.TypeName}Message.{f}"})").ToString("\r\n").Indent(4)}
{complexQueryFields.Where(f => this.Formatted?.TryGetS(f) != null).Select(f =>
            {
                var fu = this.Formatted?.TryGetS(f);

                var formatText = fu != null && fu.Value.Format.HasText() ? $"c.Format = \"{fu.Value.Format}\";" : "";
                var unitText = fu != null && fu.Value.Unit.HasText() ? $"c.Unit = \"{fu.Value.Unit}\";" : "";

                return $".Column(a => a.{f}, c => {{ {formatText} {unitText} }})";
            }).ToString("\r\n").Indent(4)}
    );");

            sb.AppendLine();
            return sb.ToString();
        }

        private string RegisterComplexOperations()
        {
            StringBuilder sb = new StringBuilder();
            var operationConstruct = this.Def.OperationCreate?.Construct.Trim();
            if (operationConstruct.HasText())
            {
                sb.AppendLine();

                if (this.IsTreeEntity)
                {
                    sb.AppendLine("Graph<{0}Entity>.Construct.Untyped(TreeOperation.CreateRoot).Do(g => ".FormatWith(this.TypeName));
                    sb.AppendLine("    g.Construct = (args) => {\r\n" + operationConstruct.Indent(8) + "\r\n}");
                    sb.AppendLine(").Register(replace: true);");
                }
                else
                {
                    sb.AppendLine("new Graph<{0}Entity>.Construct({0}Operation.Create)".FormatWith(this.TypeName));
                    sb.AppendLine("{");
                    sb.AppendLine("    Construct = (args) => {\r\n" + operationConstruct.Indent(8) + "\r\n}");
                    sb.AppendLine("}.Register();");
                }
            }

            var operationExecute = this.Def.OperationSave?.Execute.Trim();
            var operationCanExecute = this.Def.OperationSave?.CanExecute?.Trim();
            if (!string.IsNullOrWhiteSpace(operationExecute) || !string.IsNullOrWhiteSpace(operationCanExecute))
            {
                sb.AppendLine();
                sb.AppendLine("new Graph<{0}Entity>.Execute({1}Operation.Save)".FormatWith(this.TypeName, (this.IsTreeEntity ? "Tree" : this.TypeName)));
                sb.AppendLine("{");

                if (!string.IsNullOrWhiteSpace(operationCanExecute))
                    sb.AppendLine($"    CanExecute = e => {operationCanExecute},");

                sb.AppendLine("    CanBeNew = true,");
                sb.AppendLine("    CanBeModified = true,");
                sb.AppendLine("    Execute = (e, args) => {\r\n" + operationExecute?.Indent(8) + "\r\n}");
                sb.AppendLine("}." + (this.IsTreeEntity ? "Register(replace: true)" : "Register()") + ";");
            }

            var operationDelete = this.Def.OperationDelete?.Delete.Trim();
            var operationCanDelete = this.Def.OperationDelete?.CanDelete?.Trim();
            if (!string.IsNullOrWhiteSpace(operationDelete) || !string.IsNullOrEmpty(operationCanDelete))
            {
                sb.AppendLine();
                sb.AppendLine("new Graph<{0}Entity>.Delete({1}Operation.Delete)".FormatWith(this.TypeName, (this.IsTreeEntity ? "Tree" : this.TypeName)));
                sb.AppendLine("{");

                if (!string.IsNullOrWhiteSpace(operationCanDelete))
                    sb.AppendLine($"    CanDelete = e => {operationCanDelete},");

                sb.AppendLine("    Delete = (e, args) => {\r\n" + (operationDelete.DefaultText("e.Delete();")).Indent(8) + "\r\n}");
                sb.AppendLine("}." + (this.IsTreeEntity ? "Register(replace: true)" : "Register()") + ";");
            }

            var operationClone = this.Def.OperationClone?.Construct.Trim();
            var operationCanClone = this.Def.OperationClone?.CanConstruct?.Trim();
            if (!string.IsNullOrWhiteSpace(operationClone) || !string.IsNullOrEmpty(operationCanClone))
            {
                sb.AppendLine();
                sb.AppendLine("new Graph<{0}Entity>.ConstructFrom<{0}Entity>({1}Operation.Clone)".FormatWith(this.TypeName, (this.IsTreeEntity ? "Tree" : this.TypeName)));
                sb.AppendLine("{");

                if (!string.IsNullOrWhiteSpace(operationCanClone))
                    sb.AppendLine($"    CanConstruct = e => {operationCanClone},");

                sb.AppendLine("    Construct = (e, args) => {\r\n" + (operationClone.DefaultText($"return new {this.TypeName}Entity();")).Indent(8) + "\r\n}");
                sb.AppendLine("}." + (this.IsTreeEntity ? "Register(replace: true)" : "Register()") + ";");
            }

            return sb.ToString();
        }
    }

    public struct FormatUnit
    {
        public string? Format { get; set; }
        public string? Unit { get; set; }

        public FormatUnit(string? format, string? unit)
        {
            Format = format;
            Unit = unit;
        }
    }

    public class DynamicBeforeSchemaGenerator
    {
        public HashSet<string> Usings { get; private set; }
        public string Namespace { get; private set; }
        public List<DynamicTypeCustomCode> BeforeSchema { get; private set; }

        public DynamicBeforeSchemaGenerator(string @namespace, List<DynamicTypeCustomCode> beforeSchema, HashSet<string> usings)
        {
            this.Usings = usings;
            this.Namespace = @namespace;
            this.BeforeSchema = beforeSchema;
        }

        public string GetFileCode()
        {
            StringBuilder sb = new StringBuilder();
            foreach (var item in this.Usings)
                sb.AppendLine("using {0};".FormatWith(item));

            sb.AppendLine();
            sb.AppendLine($"namespace {this.Namespace}");
            sb.AppendLine($"{{");
            sb.AppendLine($"    public static class CodeGenBeforeSchemaLogic");
            sb.AppendLine($"    {{");
            sb.AppendLine($"        public static void Start(SchemaBuilder sb)");
            sb.AppendLine($"        {{");

            if (this.BeforeSchema != null && this.BeforeSchema.Count > 0)
                this.BeforeSchema.ForEach(bs => sb.AppendLine(bs.Code.Indent(12)));

            sb.AppendLine($"        }}");
            sb.AppendLine($"    }}");
            sb.AppendLine($"}}");

            return sb.ToString();
        }
    }
}

redpajama_set_name: RedPajamaGithub


As a Manager/Senior Consulting Manager within Cerner's Ambulatory Services Organization you will oversee the execution of technology solutions, continuously advance and drive improvements of professional services related to efficiencies, methodology, scope, and solution capability. You have the opportunity to develop senior-level data migration engineers with deep solution knowledge and/or breadth across solutions while establishing on-going executive level relationships with key strategic clients. You will lead team data migration and implementation while mitigating all escalations for area of responsibility to include resourcing, associate, client and solution. You will develop associates through coaching performance, completing performance reviews, goal setting and development planning. In your role as a Manager/Senior Consulting Manager you drive cross-functional collaboration with internal stakeholders to identify and propose solution enhancements, workflow efficiencies and client relationship strategies that contribute to organizational initiatives.
At Cerner Ambulatory Services, we have two primary goals. One is keeping patients as healthy as possible. The other is keeping them out of the hospital. Because the trend is now toward ambulatory care, meaning medical services provided just about everywhere else.


text:
November 22, 2017 November 22, 2017 Chris Warner BSMW Original Column, Patriots
Patriots Thursday Observations, Raiders Review
New England fans have myriad reasons to give thanks this holiday season, the latest a satisfying 33-8 win over Oakland at Mexico City. The Patriots spent 10 days at altitude, training at the Air Force Academy in Colorado Springs after the previous week's handling of the Broncos. The travel plans seemed to pay off, as New England almost literally raced out to a 17-0 lead at halftime and led 30-0 before the Raiders could find the end zone in the fourth quarter.
At the beginning of the season, these games at Denver and at the Raiders looked like a rough patch for the Patriots. While neither of those teams has lived up to expectations, New England continues to plug away, outscoring both by a total of 74-24.
Another strong all-around effort from all sides brings the Patriots to an 8-2 record. They host the Dolphins next week in search of an even firmer grasp on the AFC East lead.
I got a pie in the oven, so let's move on to our notas de juego...
Team/Player Observations
Braider Nation: Or would that be "Brady-er?" Anyway, hard to have more efficient numbers than what Tom Brady compiled last Sunday. On New England's opening drive that ended in a touchdown pass to Dion Lewis, the quarterback hit his first nine targets. He started the game going 12 for 12 for 91 yards and ended up completing 30 of 37 passes (81 percent, which is high for a free-throw shooter, ridiculous for a QB) for 339 yards and three touchdowns. New England's game plan became clear during their first possession, with a hurry-up pace that made it difficult for the home viewer to breathe, much less a struggling NFL defense 7,200 feet above sea level.
The 16-play drive took over seven minutes off the clock and saw Brady connect on all nine passes to six different receivers. A five-yarder to Brandin Cooks (that short distance served as a misdirect considering the receiver's later contributions). A 10-yarder across the middle to receiver Danny Amendola on third and three. Four divvied up between running backs Rex Burkhead and Lewis. One each to tight ends Martellus Bennett and Dwayne Allen (don't worry, we'll get to Rob Gronkowski in a sec). Lewis scored on a 15-yard play where he caught the ball at the nine and spun inside to avoid linebacker Cory James, making James look like Rocky when he first tried to catch that chicken. Lewis then sliced through two defenders like a carving knife on a turkey to make it 7-0 for the visitors.
And, yes, I am getting hungry.
As strong as that drive looked – and as much as it seemed to tire the hands-on-hips Raiders D – the next touchdown drive exemplified what Brady can do. With 8:55 left in the second quarter, Brady lofted a 52-yard missile to Cooks after the receiver split a double-team of defenders as if they were fresh-baked dinner rolls (ooh, boy). From Oakland's 28, Brady made an underrated play that seemed merely expected of him. As he waited for Gronkowski to get clear of linebacker James, Brady got plastered by uber-defender Khalil Mack, yet somehow shot a hip-level pass to Gronkowski away from coverage. Given the pressure, the timing, and a passing window with a diameter only slightly larger than a Habitrail, the QB showed off many of the qualities that make him great.
As Julian Edelman and Malcolm Mitchell sit on injured reserve, Chris Hogan hasn't been active for weeks. Let's give that the ol' seven-second ponderoo: none of Brady's top three most productive wide receivers from 2016 have been available since Hogan caught five passes vs. the Chargers in Week Eight. Got it? Cool. Back to your regular programming…
The drive ended with a five-yard scoring pass to Amendola, who pulled a full Magellan, circumnavigating the Raiders' zone defense to find open territory near the end line. That made it 14-0, Patriots, with 5:23 remaining in the half. Just an impressive, relentless effort by the offense. You can watch a well-done breakdown of Brady's efficiency vs. Oakland in Brian Baldinger's Instant Playbook, courtesy of the NFL Network.
It's D. Lewis, It's Delightful, It's De-Lovely: When the Patriots signed Lewis in 2015, he seemed like a nice, complementary addition to the backfield. He had played two years with the Eagles, then suffered injuries that prevented him from getting on the field for the Colts and Browns. Well, on Sunday Lewis led the team in rushing with 10 carries for 60 yards, adding four receptions for 28 yards and a TD. Greg Bedard of Boston Sports Journal credited Lewis with nine broken tackles in Bedard's Breakdown (a subscription I highly recommend). Lewis helped extend his team's lead to 27-0 midway through the third quarter as he bolted up the middle for 11- and 10-yard gains on a field goal drive. On the 11-yarder (the one where it looked like he fumbled but he actually lost his red shoe), Lewis bolted past the defensive front, shimmied his way by the linebackers, and bashed into two defensive backs for extra yardage. Lewis engages in Minority Report rushing: it's as if he knows where the defenders will be ahead of time.
Coach Bill Belichick likes smaller running backs because, as he has said, they can be hard to find for a defense. (He was also a huge fan of 5-foot-7 Joe Morris back in the day.) New England's lucky Lewis wasn't too hard to find for them. I guess, especially this week, they should be thankful. Right?
Should I mention Mike Gillislee as a healthy scratch? Guess I just did. Anyhoo…
Thanksgiving Cooks: Good Heavens, I haven't even mentioned Cooks' 64-yard bomberooski yet (highlight here). New England started the third quarter with the ball, as they are wont to do, and got two five-yard completions (Lewis and Amendola) for a first down. Hurrying to the line like kids to the cake table, the offense went deep. Cooks feigned an out route, then dashed down the seam for a wide open touchdown, in the process burning rookie safety Obi Melifonwu as if he were the top layer of marshmallows on mom's sweet potatoes damnit how much longer?
I suppose now is as good a time as any to revisit my pre-draft Patriots pick of Olifonwu as the Freakishly Athletic Guy. I mean, a 44-inch vertical and 11-foot-9 broad jump? Can you blame me?
Melifonwu was no match for Cooks, but the Oakland safety had a lot of company last Sunday, as Cooks pulled in six passes for 149 yards (24.8 avg.). His long touchdown catch served as a reminder to the Raiders that no comeback was about to happen. So far this season, Cooks has 45 catches for 786 yards (17.5 avg.) and four touchdowns. More importantly, he earned the coveted "Nobody works harder" description from Coach Belichick, as noted in this piece by NESN's Doug Kyed.
Fourth And None: Yes, the Raiders are in the midst of what one might call "a rough go of it," but we should not forget how well New England's defense has been playing. After having their own rough go over the first four games, the group has made a turnaround transition more complete than the set of Noises Off. (Ooh, deep cut.) With 4:45 left in the third quarter, Oakland went for it on fourth and one at their own 44 because, hey, why not? Fullback Jamize Olawale got nowhere, as defensive lineman Alan Branch became the bottom row of a human pyramid and line mate Lawrence Guy stalemated his blocker, allowing D-end Adam Butler and cornerback Johnson Bademosi to fire in as safety Patrick Chung wrangled Olawale as if he were an unruly child in the 1970s. An overall team effort that kept the home team hopeless.
By the way, what is the deal with teams not giving the ball to Marshawn Lynch? The man runs like a jacked postman through a pit of weiner dogs, yet coaches don't think he'll convert one yard? Weird.
A Fistful Of Flowers: Another notable play by the defense came at the most opportune time. With the Patriots leading 14-0 in the second quarter, the Raiders embarked on their most cohesive drive of the day to that point, taking 10 plays to move from their own 25 to New England's 17 with just over a minute remaining. On the 11th play, receiver Seth Roberts got the first down at the three, yet inexplicably (and ill-advisedly) struggled to gain extra yardage. As he tried to extract himself from cornerback Jonathan Jones' tackle, linebacker Marquis Flowers punched the ball free. Chung recovered at the seven, ending the scoring threat. Another example of a team effort paying off for the Patriots, with Jones and Flowers entering this season as backups and now filling in for injured starters.
Sack Solo: I suppose it might be time to harden my heart against what a well-tuned offense could do to the Patriots D considering the lack of pressure they provide, but overall they did a fine job varying looks and rushes vs. David Carr, one of the better QBs in the league. Carr ended up completing 28 of 49 passes (57 percent) for 237 yards, one touchdown, and one interception. At halftime, he had connected on eight of 14 passes (57 percent) for only 65 yards. The QB did find himself scrambling on occasion, finally getting corralled on one play as linebacker Kyle Van Noy and end Trey Flowers sandwiched him to share New England's lone sack of the day.
Yes, to be fair, Carr's receivers showcased more drops than a physics class project involving eggs. But Oakland failed to score until trailing by 30.
Did It In A Minute: New England's tendency to score in the waning minutes of the first half continued to amaze. After forcing the aforementioned Roberts fumble with 33 seconds remaining before halftime, the Patriots put out a tester play to the middle of the Raider defense. Once Lewis scurried for 20 yards to the 27, the quest for points began. Brady soon found Amendola for 18 yards and Gronk for 10, setting up Stephen Gostkowski for the longest field goal in franchise history, a high-arcing, 62-yard beauty that had distance to spare. (You can see that highlight on the NFL's Twitter page.)
This makes seven games in a row that the Patriots have scored within the final two minutes of the first half. Two weeks ago at Denver, Brady found Allen for the tight end's first touchdown (and first catch) in a Patriots uniform for a 27-9 lead with 25 seconds on the clock. The week before that, Gostkowski booted a 36-yarder with 20 second remaining to take a 15-7 lead over the Chargers. You get the picture. This is why New England tends to defer the coin toss: to score at the end of the first half, receive the kickoff to start the third quarter, and take a toll on your opponent.
Altitude Kickness: Let's ponder for a moment that a 62-yard attempt puts the line of scrimmage at the 45-yard line. That means the ball is held at the offense's own 48, i.e., Gostkowski kicked that ball from beyond midfield. That's cuckoo. He added a 51-yarder, chip shot 40-yarder, and embarrassingly short 29-yarder in the second half, going four-for-four on the day. Certainly the high elevation helped with distance, but Gostkowski's seven-for-seven day (good on all three extra points) will only help his confidence going forward.
Another strong outing for New England's special teams, especially in comparison to Oakland's punter Marquette King, who only managed to place one of three punts inside the 20 and handled the other two with all the finesse of a finger painter wearing boxing gloves.
A Dwayne On Oakland's Defense: Well, hello again, Mr. Allen. The tight end has seemed to actually join the offense over the past two games, as he had double his season total catches last Sunday (two for 24 yards) and blocked well. Most importantly, he recovered Burkhead's fumble on the opening drive, going after the ball as if it were a Disney Princess doll on Black Friday. All seven of Brady's receivers had multiple catches vs. the Raiders; it seems that Allen has begun to make himself more of a target.
So, looks like it's time to retire our Backup Tight End 2017 Reception Count. For the final time: rookie Jacob Hollister three, Allen three.
From Marsh To November: Good luck to edge defender Cassius Marsh, whom the Patriots released this week. I don't mean that sarcastically: it's difficult enough to lose a job in the NFL, it's more difficult still during the holidays. After New England's season-opening loss to the Chiefs where Marsh got burned on a pass play, I noted I was "still maintaining positive expectations" on the player. After the Pats lost to the Panthers to go 2-2, I said "I continue to expect good things from" Marsh if he "cut down on the mistakes."
Well, that never happened. Marsh played two snaps against the Raiders, one of them the 25-yard run by Lynch with 5:20 left in the half. On that play, Marsh advanced too far into the backfield, creating a lane at the left defensive end spot where he should have remained. This allowed right tackle Vadal Alexander to engage Marsh and turn his body for one second, keeping him away from Lynch just long enough for the running back to follow the seam in the defense and gallop along the sideline. If you get to watch a replay of this run, pause it when Lynch takes the handoff and veers left. You can see that, while Trey Flowers, Branch, and Guy have established their positions along the line of scrimmage (all seeming to step on the blue digital line), Marsh's heels rest two yards upfield. He just never seemed to get in synch with his teammates. Too bad, really. As you can see from previous columns, I had high hopes for the guy.
New England signed Eric Lee off of Buffalo's practice squad. ESPN.com's Mike Reiss has an in-depth look at what the 6-3, 260-pound Lee could bring to the team, as well as a link to a series of tweets reviewing film of Lee as a Texan during their preseason game against the Patriots.
Ted Talks: Kudos to Ted Karras for playing backup center and having no one lament the absence of starter David Andrews. Praise also to LaAdrian Waddle stepping in for starting right tackle Marcus Cannon. Mack got one sack on the day after Brady took a second too long to get rid of the football. Cam Fleming actually came in for Waddle on that play after the latter got his legs trampled in a human pile-up. Again, the Raiders pass defense encourages more throws against it than a backstop, but the ability of the offense to function with 40 percent of its starting O-linemen missing says a lot about team depth and the value of Coach Dante Scarnecchia.
The Dolphins currently rank 17th in passing yards allowed (229 per game) and are tied for 26th in sacks with 17 (with the Patriots!). If the O-line can keep its consistency, this could be another productive day for Brady.
Random Observations
Romo At Home: Commendable job by Jim Nantz and Tony Romo, as expected. Some solid points made with enough humor to keep things entertaining during a game that lost suspense pretty early. Strong broadcast overall, too. Some positives included:
• Romo had a succinct, compassionate summary after Carr's pass bounced off receiver Johnny Holton's helmet and nestled in the arms of Pats safety Duron Harmon. "They gotta catch the ball. Another drop. That's their season!"
• I'm a fan of Romo's tendency to voice what players are saying on replay. After Brady missed Cooks downfield near the end of the half, a replay clearly showed his mouth forming colorful language. Romo's description was, "He says, 'Gosh darn it!'"
• Romo gave a sound prediction at the 6:30 mark of the second quarter, noting that, in terms of scoring, the Patriots "are unbelievable in the final two minutes of the half. We'll see." And indeed we did.
• As noted at the beginning of this column, Brady made an impressive pass to Gronk to set up Amendola's TD. Romo noticed, too, saying on the replay, "That's a great throw there, down and away."
• Strong work by Romo explaining the Patriots' defense when they gave up the touchdown to Amari Cooper with 12 minutes left in the game. Despite having inside help, Malcolm Butler shifted toward the inside of the field, allowing Cooper room on the outside. Simple, clear example of how corners can get beaten.
• I enjoyed how CBS showed Lynch sitting on the bench after the Raiders failed their fourth-and-one attempt, looking about as happy as one might expect. It answered the question, "Hey, where in the hell is Marshawn Lynch?"
• I think all games played in Mexico City should have many more cuts to announcer Armando Quintero's commentating in Spanish. His call on Gostkowski's 62-yarder sounded like the Patriots won the World Cup. Just awesome.
• I typically run down the replays that I would have liked to see, but I'll give CBS a pass here due to New England's frenzied offensive pace. The network wanted to show Lewis' five-yard catch and run that opened the second half but had to stop midway through because the Patriots were already on the line. Good job getting in a quick replay after Lewis lost his shoe. I've watched that play multiple times and it still looks like the ball rolling onto the ground.
With the sweet, a little salty (and, yup, I'm still hungry):
• Nantz pronounces "Estadio Azteca" like he's trying to impress the pretty Spanish teacher at the community school. Or maybe he's auditioning for the stateside version of "Sábado Gigante." (No one tell him it's not around anymore.) Settle down, Nantz.
• Romo said of Oakland, "They have not ran the football good enough this year." Listen, I'm not typically a stickler for grammar (note: I totally am), but this seems a bit much in terms of the whole aw-shucks persona, doesn't it? If a first-grader who was not my child said this, I might let it go. Adults who get paid to talk for a living should do gooder.
• New England's first possession saw a few snafus by the duo. First, Nantz called Burkhead "Buckhead," which is understandable if you're a fan from Atlanta, but not if you're a play-by-play announcer. Romo mentioned Gillislee, mistakenly calling him "Gillespie." A little later on, Nantz noted that the Raiders had converted all three of their third-down attempts when he meant to say the Patriots.
• I mean, it's fine, but it seems a little on the nose to play "La Bamba" going to commercial after Cooks' TD. I'm sure Mexico has a pop song or two they could have broken out.
• I have issues with the network switching over to the Cincinnati-Denver game. Competitive or no, I think a top AFC team's fans, Oakland's historically rabid fans, plus Latin American fans, would have made up a bigger audience for the end of Pats-Raiders than whatever those two orange-clad catastrophes cobbled together. But I guess, as announcer Trent Green said near the end of Cincy's win, "Ultimately, it's about points." Yes, Trent. Yes, it is.
Let's take a commercial break, shall we?
He Can Keep Waiting: In the CBS ad for "Kevin Can Wait," we see Kevin James staring into a turkey's open nethers. I think turkey prop comedy reached its zenith once Joey from "Friends" got his head stuck in one. But what do I know from comedy gold? Carry on, CBS sitcom lineup.
Happy Honda-days: Music can do everything for a commercial. I've had "Holiday Road" stuck in my head all week due to Honda's "Holiday Road Trip" offering, and I don't regret it. Whoa-oh-OH-oh-oh-oh…
Quite A Pair Of Stones: Saw a couple of ads for diamond stores. Can't remember what they were, but I think it's funny how diamonds are still popular. They're rocks. That's it: just old, hard rocks. Apparently DeBeers is losing hold on their diamond monopoly, so maybe they should focus on something else to promote as a pricey commodity. Like, I would love to see them try to market cilantro.
"If the woman you love enjoys the taste of minced green bell peppers soaked in dishwater, hurry to your cilantro store this holiday season to show her how much you care…"
Yes, Virginia, There Is A Whiskey: I would enjoy the Virginia Black whiskey commercial more if I it didn't make me lose my bearings. So, Drake is hitting on Nicole Murphy, who dusts him for Drake's father, right? But, if both Drake and his father have a tumbler of Virginia Black whiskey in their hands, shouldn't she go with Drake? Isn't he closer to the desired demographic? Plus, Drake's dad hands over the whiskey to his son, negating the reason why she should want to be with him. Isn't the drink the point? And why does Drake's dad look so much like a Tim Meadows character?
I don't know. If you told me this was an SNL commercial, I'd have a tough time arguing.
Two Hearts Beat As One: Yes, McDonald's delivery/Uber eats seems like a great idea, but I can't figure out their new commercial with two versions of the same guy. It looks like a creepy crime thriller in the vein of Dr. Jekyll and Mr. Hyde. It appears that what they're saying is, if you order McDonald's breakfast ahead of time, your life will be vastly improved and/or you might not become a topic of "Mindhunter."
Tell you what: skip McDonald's for a week and have a protein bar and a smoothie instead. Just see how it goes.
Buy Celtics: You know, I enjoyed watching last year's Celtics team. They were hard-working and entertaining. But how crazy-fun has watching this year's version become? It seems like Coach Brad Stevens has a group of guys who can consistently execute what he wants to see on the court. Amazing potential.
Talking Dread: Not a bad recent episode of "The Walking Dead," if you edit out the first 12 minutes. I'll never understand how the writers of a zombie show could ever think that a group of people sitting around a table negotiating makes compelling television. Especially if it's a flashback. Really weird start to what eventually became an intriguing show (if you also edit out a tiresome fistfight).
And one of the longest days in TV history gets longer. At this pace, "The Walking Dead" is starting to make "24" feel like time-lapse footage. And yet I continue to watch.
Upcoming Opponent Mascot Etymology: "Dolphin" evolved from the Greek word "delphus," meaning "womb." Weird, I know, but according to this website, the word "Adelphi" means "of the same womb," so it would follow that those who named the animal understood how smart and human-like they are.
Upcoming Opponent Site Etymology: Miami stems from the Native American word "Mayami," from the Calusa language, that means "big water."
As we give thanks today, I wanted to offer condolences to the family of Terry Glenn. The former Patriots receiver died Monday morning in a car accident. He will always be a part of New England sports lore as the first recipient of a Tom Brady touchdown pass. More importantly for the Patriots and their fans, he helped the franchise climb toward respectability in the 1990s. Phil Perry of NBC Sports Boston has a writeup on Coach Bill Belichick's reaction to the news.
The Patriots host Miami Sunday at 1 p.m. Enjoy the weekend and stay safe, everyone.
Chris Warner will bring the pie. You can email him at chris.warner@patriotsdaily.com or tweet @cwarn89.
One thought on "Patriots Thursday Observations, Raiders Review"
Julia Harting says:
Waiting for the weekend! Thank you for your time, I did enjoy reading this!
With or without Patriots, there's a lot to do at the Super Bowl
Deflategate – Where Are They Now?
Borges Suspension Followups
Was Jonny Miller a bigger "Curse" Pusher than Shaughnessy?

redpajama_set_name: RedPajamaCommonCrawl


text:
Home Essays Dark Night of the Soul Summary
Dark Night of the Soul Summary
Topics: Mind, Short story, Into the Wild Pages: 2 (671 words) Published: October 24, 2011
Michael Lanyon
Eric Rupert
The Dark Night of the soul summary
The following is a summary on the short essay The Dark Night of the Soul by Richard E Miller. This short essay is an essay that has been written with a main point always in mind, that reading and writing has very powerful influences people and their imagination but, the act of reading and writing is not being utilized as much in the modern world. Richard has created an essay that proves his point by taking five very different short stories and giving each a twist that helps the reader see the power of reading. As the reader is chronologically going through the essay he or she is given many possible meanings of the essay. The meaning and the relationships that the stories share are not revealed until the last page of the essay. The essay begins with the story of two distraught high scholars named Eric Harris and Dylan Klebold.In this story Miller really shows us the power of imagination. The boys felt like they were left behind and couldn't find a connection in their local high school. This feeling of being lonely drove them to the point of becoming violent. They got back at those people who they felt failed them by stepping into school one morning equipped with automatic guns. The boys went on a rampage. Miller also uses the example of Chris McCandless to further prove his point. McCandless threw away his life and went out on a journey to live by himself in the wilderness because of the stories he read. "Into the Wild" by Jon Krakauer, becomes his survival guide for his trip into the mountains of Alaska. McCandless shows the reader the power that the book had on his imagination. The trip was cut short due to McCandless' over confidence in Krakauer's experience in living in Alaska. Stories can control our imagination which can control people's mind, but writing can help make since of what humans can't process in the mind. Miller shows us...
The Dark Night of the Soul Essay
...by Amber Kramer Summary Essay: The Dark Night of the Soul Richard E. Miller essay "The Dark Night of the Soul" to be an interesting way to think about reading and writing in today's world. Richard uses the violence in the world to question if our educational system is relevant to keeping us safe and whether the power literature can be used to change the tragic event that happen around us every day. Richard begins with a few horrific events such as Columbine high school massacre. He makes us start to think about the motives behind the events. By talking about the possibility that the technological advances could be isolate us into our fantasies. He suggests that reading, writing and, discussing could have changed what had happened at the high school. Then he disproves this thought by telling us how the boys that killed so many people did do these things, but only to support their own ideas. That's about when he starts to mention a much bleaker outlook on how reading and writing are losing power. He states. "If you're in the business of teaching others to read and write your labor is increasingly irrelevant." He explains this well when he says. "Rather than accept the fact that technological advances have taken control of publishing out of the hands of the few and transformed everyone with access to the internet into a potential...
Richard Miller's Dark Night of the Soul Essay
...Richard Miller has a lot to say in The Dark Night Of The Soul but one thing that really stuck out to me was that there is only so much we can do to try and control the behavior of students. Reading and writing isn't going to save every one of their problems. It can have just as much of an effect on someone today as technology can. In most of the stories he shows there is this concept along with many others that have to do with reading and writing. " It's reassuring to think that either the work of the legal system or the educational system can reduce or eliminate altogether the threat of the unpredictable and the unforeseen. This is why we have childproof medicine bottles, penalties for not buckling up, informational literature on family planning for students in junior high: these are all examples of responsible responses to known problems."(421). But what Miller is saying is that there isn't really a response to the "schoolyard massacres". There's only so much you can do to control every single students behavior. You don't know their lifestyle; there are so many different backgrounds. Parents have a very big impact on a child's life, whether it is good or bad, it can have a huge influence on a child. Even children with a strong household with two happily married parents could somehow end up troubled in the end, you just never know. "How invasive would a curricular intervention have to be to succeed in instilling a set of...
Interpretive Essay on The Dark Night of the Soul
...Bailey Price Professor Edward Maietta English 1101 April 17, 2014 Richard Miller's essay "The Dark Night of the Soul", contains a variety of authors and writing styles. He includes five stories all relating to the subjects of violence, racism, crime, ect, of the modern day world. In these five essays Miller gives several shocking examples of how these subjects of violence can have such a large infuence on today's behavior in society. In an enviroment filled with much evil the question poses, "what is the outcome of a society at large that displays these ills?" Some might say it could lead to larger, more threating problems, or maybe it can teach us a lesson and give society rejuvination or peace. The first of Mller's essays begins with the events that occured at Columbine High School in 1999. Two young men, before both commtting suicide killed twelve students and a teacher. In addition to the shootings the planned attack involved a fire bomb and 99 other explosive devices. The personal writings of the perpatrators depict motives of wishing to rival with the Okalahoma City bombing. Instead of just accepting the actualy evidence of something this large many memebers of society such as newsreporters, writers, or movies try to cope by looking for blame of many kinds. Blaming these acts of violnece on violent movies, video games, or a certain kind of music,...
The Dark Night Essay
..."Dark Knight" was a smash hit for it's fame, explosions, and chase scenes, but what really had me on the edge of my seat was perhaps the most riveting villain I had ever seen. The Joker. The Joker is a mob-backed terrorist with suicidal tendencies and a textbook sociopath. He is not reasonable, he's not afraid of anything, and the last thing he cares about in the world is himself. As Alfred explained to Bruce, "Some men just want to watch the world burn". Given the tortured nature of our subject, I felt it fitting to call upon Dr. Sigmund Freud to be our expert into the downward spiral that is the personality of this criminal mastermind. Freud is the father of the psychoanalytic theory. He suggests that childhood experiences shape our personalities. To explore his theory, there are Four Questions you will have to ask about a personality theory. The first question regards the structure of the theory. Freud developed a topographical model to explain personality with three separate parts that interact with one another; the id, the ego, and the superego. The id is carnal in nature and embodies our natural drives. They are like our instincts in that we do not consciously think about them. The superego is like our conscious; we internalize social norms and values and our superego is the partially conscious part of our mind that monitors our thoughts, feelings, and behaviors. The ego is our mostly conscious awareness that is in the middle of a tug of war between...
Dark Night of the Soul Essay
...Pat Key Eric Rupert WRI121 October 11, 2011 Summary Dark Night of the Soul Dark Night of the Soul written by Richard E. Miller is a compilation of essays written about people that express themselves through writings of their own or by others. In Miller's first essay we get a glimpse of Eric Harris and Dylan Klebold's lives and how fantasy becomes reality when Harris and Klebold open fire on Columbine High School murdering many innocent people. Harris writes in his diary that no one is to blame for what they did. Is it possible that thru violent video games and books available they acted out this fantasy of theirs? Yes it is possible. Young people get so involved with violence in video games, television shows and writings that they can become disconnected from society and feel there is no way out but to resort to violence. The Prince of Darkness compares the lives of two writers, one successful and the other not. We have Richard Tull who is unsuccessful in his literary career no matter how hard he tries and Gwyn Barry who Miller refers to as "vapid and soulless" in his writings but becomes a literary success. Tull sets out to destroy his rivals literary fame but is unsuccessful no matter how hard he tries. In Miller's "Following the Word" he writes about Chris McCandless and his journey into the wilderness subsequently leading to his death. Chris McCandless lived...
Essay about Analytical Summary Dark Prophecy
... Promoting Cognitive Development Argosy University Holly Frazier PSYCH260 Introduction Children are a mixture of many parts which intertwine in different ways and change over time. A very crucial aspect of their development is their cognitive development. Cognitive development "is change or stability in mental abilities such as learning, attention, memory, language, thinking, reasoning and creativity and psycho-social development which is change and stability in emotions, personality and social relationships" (Adesola, A. F., PhD., & Olufunmilayo, O. E., PhD., 2013). The influence of what happens in the mind of children has several different theories and explanations. Each of these theories has its strong points and then its questionable explanations. It is vital to optimum Cognitive Development that caregivers take time to understand all theories and apply within the context of the individual child. Theories on Cognitive Development Since the 1800's, scientists and doctors have been intrigued by what influences a persons mental and emotional development. Since then, several fundamental theories on the subject have emerged. Jean Piaget explains childhood cognitive development as happening during a stage of cognitive development called the preoperational stage. "According to Piaget, the stage that lasts from ages 2 to 7 during which children's use of symbolic thinking grows,...
batman the dark night essay
... Final Draft A Hero for All The book Batman the Dark Night tells a story about the crime fighter the batman and how he comes out of retirement to fight crime again. He does not have to start fighting crime again but after hearing how bad the city has become ridden with crime he makes a decision to come back. The book flashes back to him as a boy when he falls down a hole and is surrounded by bats and is scared out of his mind from this adventure. He then is burdened by watching his mother and father being killed by a robber right in front of him. He becomes a crime fighter and is ruthless in the way he does it. He goes to the extreme when he deals with the criminals like holding a villain upside down off a rooftop to get answers about where the leader of the gang is. He then is chastised by the very own people that he is fighting to protect and by the police commissioner who cannot put an end to the crime without the assistance of the batman. He is forced into an end all battle with the only other crime fighter there is Superman. The batman is a hero when it comes to what he does in the book. My idea of what makes a hero probably different from the next person. Lots of people in the world today look up to sports stars and call them heroes but I have a different outlook on what makes a hero. I think a hero is someone who will do whatever it takes to be the best person that they can be no matter what. A hero is a person who looks...
Mythological Themes in the Dark Night Essay
...Mythological Themes in The Dark Night Modern day films have recycled ancient mythological symbols and themes that pre-existed many years ago. Themes in today's films may appear different than those of ancient Greece, but in many ways these themes remain prevalent. One example of a movie that contains mythological and archetypal themes is "The Dark Knight" by Christopher Nolan. This film is about the character Batman or also known as Bruce Wayne, who is in a battle to protect Gotham city from the Joker and other dark forces. The three main mythological themes that are most prevalent in this film are the villain or the trickster, the hero and the mentor. First, one must understand what an archetype or mythological archetype means, in order to examine specific examples. Carl Jung states archetypes are "ideas that constitute to the 'collective unconscious' of humanity and continue to manifest themselves in modern-day symbols, fictional characters, and the like." (Danesi 2002) Basically Jung is saying that we subconsciously take these pre-existing themes and ideas and apply these to modern day characters. In other words, it is a thoughtless action to categorize certain fictional characters, symbols and themes. Symbols and themes are very important in movies, since nobody is told directly who is "bad" or "good" for instance, these conclusions must be made clear for the audience to see for themselves. The Joker...
Madame Bovary and Don Quixote
A Study on Leisure Facilities, Service and Activities Are Suitable and Enough for Elderly in Hong Kong?
Ethics Essay
Free trade Essay
Macroeconomics Essay
Coal Essay
United States Essay


Strategic decision making is the process of selecting a logical and informed choice from the alternative options based on key strategic indicators determining the success of a specific organization strategy. To support this process and provide a common underlying language, in this work, we present an empirically-grounded ontology to support different strategic decision-making processes and extend the ontology to cover the context of managing quality in Rapid Software Development projects. We illustrate the complete ontology with an example.
This work is a result of the Q-Rapids project, which has received funding from the European Union's Horizon 2020 research and innovation program under grant agreement N° 732253. We thank to Q-Rapids industrial partners for participating in our empirical studies to develop the presented ontologies.
© Springer International Publishing AG 2017. This is a post-peer-review, pre-copyedit version of an article published in Advances in Conceptual Modeling. ER 2017. The final authenticated version is available online at: https://doi.org/10.1007/978-3-319-70625-2_11.


Four-time Oscar-winning filmmakers Joel and Ethan Coen (No Country for Old Men, True Grit, Fargo) write and direct Hail, Caesar!, an all-star comedy set during the latter years of Hollywood's Golden Age. Starring Josh Brolin, George Clooney, Alden Ehrenreich, Ralph Fiennes, Jonah Hill, Scarlett Johansson, Frances McDormand, Tilda Swinton and Channing Tatum, Hail, Caesar! follows a single day in the life of a studio fixer who is presented with plenty of problems to fix.
Honestly, I'm sold based on the costuming alone. Hail, Caesar! will reportedly complete the Coens' "Idiot Tetralogy," (formerly the Idiot Trilogy, alternatively the Idiot Quadrilogy) that includes O Brother, Where Art Thou?, Intolerable Cruelty, and Burn After Reading. But if you ask me, this looks like it was a great excuse for the Coens to shoot an entire movie that looks like the dream sequence in Big Lebowski (with Big Lebowski cinematographer Roger Deakins returning for his first Coen Brothers movie since True Grit). He doesn't show up in the trailer, but according to IMDb, there's also a "submarine commander" played by Dolph Lundgren.
Hail, Caesar! opens Feb. 5, 2016.


text:
package view;

import java.awt.*;

import javax.swing.*;
import dgcardZones.DGCardZone;

public class GraveyardPanel extends JPanel {

	private DGCardZone graveyard;
	private JLabel numberOfCards;

	public GraveyardPanel(String description, DGCardZone graveyard){
		this.graveyard = graveyard;
		setLayout(new GridLayout(2,1));
		JLabel name = new JLabel(description);
		setBorder(BorderFactory.createLineBorder(Color.ORANGE));
		setBackground(Color.GRAY);
		add(name);
		numberOfCards = new JLabel(Integer.toString(graveyard.getCards().size()) + " cards");
		add(numberOfCards);

		setVisible(true);
	}

	public void refreshSize()
	{
		numberOfCards.setText(graveyard.getCards().size() + " cards");
	}

	public DGCardZone getGraveyard(){
		return graveyard;
	}
}


Tova Rubin is a psychologist in private practice with a specialty in the Science of Positive Psychology. She is a clinical faculty member at George Washington University. Through her work, Tova hopes to help spread the science of better living, from surviving to thriving.
Tova along with her husband, Robbie Greenblum, are the proud parents of four, the oldest of whom was a Tivnu participant in 2016-2017. Tova is honored to serve on the Tivnu board as it aligns beautifully with her belief that a life of meaning and positive work is both satisfying and healthy.


O' most holy, blessed and adorable Trinity. Father, Son and Holy Spirit, prostrated in spirit before you, I consecrate myself to Your Infinitely wise and lovable Divine Will. With this consecration may You be pleased to grant me the supernatural gift of Your Divine Will. From this day forth, may I receive each day all the graces I will need to live in this supernatural and loving Divine Will.
Finally, grant that I may grow from moment to moment in actually doing Your Divine Will.
Immaculate Heart of Mary, my dearest Mother, you who always said: "Be it done unto me according to Your word" be also my model and teacher. Teach me how to do the Divine Will always.
At the same time, I humbly ask the loving assistance of my Guardian Angel and of my heavenly brothers and sisters. Please help me to reach that state of which it can be said: "Father, may Your Will be done in me as it is in heaven." This I ask through our Lord Jesus Christ, Your Son, who lives and reigns with You, O' Father and the Holy Spirit, One True God forever and ever. Amen.
O' Divine Will of the Father, Son and Holy Spirit that reigned in the hearts of Jesus and Mary, come and reign in my heart today. Amen.


Writer, Reader, Horse Rider, Student, in that order.
Thea's world is turned upside down when her life is saved by a Kitsune. What will happen when she finds herself falling for him, especially when it's against Kitsune law?