text:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NSoup.Nodes;
using NSoup.Helper;

namespace NSoup.Parse
{
    /// <summary>
    /// HTML Tree Builder; creates a DOM from Tokens.
    /// </summary>
    internal class HtmlTreeBuilder : TreeBuilder
    {

        private HtmlTreeBuilderState _state; // the current state
        private HtmlTreeBuilderState _originalState; // original / marked state

        private bool _baseUriSetFromDoc = false;
        private Element _headElement; // the current head element
        private Element _formElement; // the current form element
        private Element _contextElement; // fragment parse context -- could be null even if fragment parsing
        private DescendableLinkedList<Element> _formattingElements = new DescendableLinkedList<Element>(); // active (open) formatting elements
        private List<Token.Character> _pendingTableCharacters = new List<Token.Character>(); // chars in table to be shifted out

        private bool _framesetOk = true; // if ok to go into frameset
        private bool _fosterInserts = false; // if next inserts should be fostered
        private bool _fragmentParsing = false; // if parsing a fragment of html

        public HtmlTreeBuilder()
        {
        }

        public override Document Parse(string input, string baseUri, ParseErrorList errors)
        {
            _state = HtmlTreeBuilderState.Initial;
            return base.Parse(input, baseUri, errors);
        }

        public IList<Node> ParseFragment(string inputFragment, Element context, string baseUri, ParseErrorList errors)
        {
            // context may be null
            _state = HtmlTreeBuilderState.Initial;
            InitialiseParse(inputFragment, baseUri, errors);
            _contextElement = context;
            _fragmentParsing = true;
            Element root = null;

            if (context != null)
            {
                if (context.OwnerDocument != null) // quirks setup:
                {
                    _doc.QuirksMode(context.OwnerDocument.QuirksMode());
                }

                // initialise the tokeniser state:
                string contextTag = context.TagName();
                if (StringUtil.In(contextTag, "title", "textarea"))
                {
                    _tokeniser.Transition(TokeniserState.RcData);
                }
                else if (StringUtil.In(contextTag, "iframe", "noembed", "noframes", "style", "xmp"))
                {
                    _tokeniser.Transition(TokeniserState.RawText);
                }
                else if (contextTag.Equals("script"))
                {
                    _tokeniser.Transition(TokeniserState.ScriptData);
                }
                else if (contextTag.Equals(("noscript")))
                {
                    _tokeniser.Transition(TokeniserState.Data); // if scripting enabled, rawtext
                }
                else if (contextTag.Equals("plaintext"))
                {
                    _tokeniser.Transition(TokeniserState.Data);
                }
                else
                {
                    _tokeniser.Transition(TokeniserState.Data); // default
                }

                root = new Element(Tag.ValueOf("html"), baseUri);
                _doc.AppendChild(root);
                _stack.AddFirst(root);
                ResetInsertionMode();
                // todo: setup form element to nearest form on context (up ancestor chain)
            }

            RunParser();
            if (context != null)
            {
                return root.ChildNodes;
            }
            else
            {
                return _doc.ChildNodes;
            }
        }

        public override bool Process(Token token)
        {
            _currentToken = token;
            return this._state.Process(token, this);
        }

        public bool Process(Token token, HtmlTreeBuilderState state)
        {
            _currentToken = token;
            return state.Process(token, this);
        }

        public void Transition(HtmlTreeBuilderState state)
        {
            this._state = state;
        }

        public HtmlTreeBuilderState State
        {
            get { return _state; }
        }

        public void MarkInsertionMode()
        {
            _originalState = _state;
        }

        public HtmlTreeBuilderState OriginalState
        {
            get { return _originalState; }
        }

        public void FramesetOk(bool framesetOk)
        {
            this._framesetOk = framesetOk;
        }

        public bool FramesetOk()
        {
            return _framesetOk;
        }

        public Document Document
        {
            get { return _doc; }
        }

        public string BaseUri
        {
            get { return _baseUri; }
        }

        public void MaybeSetBaseUri(Element baseEl)
        {
            if (_baseUriSetFromDoc) // only listen to the first <base href> in parse
            {
                return;
            }

            string href = baseEl.AbsUrl("href");
            if (href.Length != 0)
            { // ignore <base target> etc
                _baseUri = href;
                _baseUriSetFromDoc = true;
                _doc.BaseUri = href; // set on the doc so doc.createElement(Tag) will get updated base, and to update all descendants
            }
        }

        public bool IsFragmentParsing()
        {
            return _fragmentParsing;
        }

        public void Error(HtmlTreeBuilderState state)
        {
            if (_errors == null)
            {
                throw new Exception();
            }
            if (_errors.CanAddError)
            {
                _errors.Add(new ParseError(_reader.Position, "Unexpected token [{0}] when in state [{1}]", _currentToken.Type, state));
            }
        }

        public Element Insert(Token.StartTag startTag)
        {
            // handle empty unknown tags
            // when the spec expects an empty tag, will directly hit insertEmpty, so won't generate fake end tag.
            if (startTag.IsSelfClosing && !Tag.IsKnownTag(startTag.Name()))
            {
                Element el = InsertEmpty(startTag);
                Process(new Token.EndTag(el.TagName())); // ensure we get out of whatever state we are in
                return el;
            }

            Element element = new Element(Tag.ValueOf(startTag.Name()), _baseUri, startTag.Attributes);
            Insert(element);
            return element;
        }

        public Element Insert(string startTagName)
        {
            Element el = new Element(Tag.ValueOf(startTagName), _baseUri);
            Insert(el);
            return el;
        }

        public void Insert(Element el)
        {
            InsertNode(el);
            _stack.AddLast(el);
        }

        public Element InsertEmpty(Token.StartTag startTag)
        {
            Tag tag = Tag.ValueOf(startTag.Name());
            Element el = new Element(tag, _baseUri, startTag.Attributes);
            InsertNode(el);
            if (startTag.IsSelfClosing)
            {
                _tokeniser.AcknowledgeSelfClosingFlag();
                if (!tag.IsKnownTag()) // unknown tag, remember this is self closing for output
                {
                    tag.SetSelfClosing();
                }
            }
            return el;
        }

        public void Insert(Token.Comment commentToken)
        {
            Comment comment = new Comment(commentToken.Data.ToString(), _baseUri);
            InsertNode(comment);
        }

        public void Insert(Token.Character characterToken)
        {
            Node node;
            // characters in script and style go in as datanodes, not text nodes
            if (StringUtil.In(CurrentElement.TagName(), "script", "style"))
            {
                node = new DataNode(characterToken.Data.ToString(), _baseUri);
            }
            else
            {
                node = new TextNode(characterToken.Data.ToString(), _baseUri);
            }
            CurrentElement.AppendChild(node); // doesn't use insertNode, because we don't foster these; and will always have a stack.
        }

        private void InsertNode(Node node)
        {
            // if the stack hasn't been set up yet, elements (doctype, comments) go into the doc
            if (_stack.Count == 0)
            {
                _doc.AppendChild(node);
            }
            else if (IsFosterInserts)
            {
                InsertInFosterParent(node);
            }
            else
            {
                CurrentElement.AppendChild(node);
            }
        }

        public Element Pop()
        {
            // todo - dev, remove validation check
            if (_stack.Last.Value.NodeName.Equals("td") && !_state.GetType().Name.Equals("InCell"))
            {
                throw new InvalidOperationException("pop td not in cell");
            }
            if (_stack.Last.Value.NodeName.Equals("html"))
            {
                throw new InvalidOperationException("popping html!");
            }
            Element last = _stack.Last.Value;
            _stack.RemoveLast();
            return last;
        }

        public void Push(Element element)
        {
            _stack.AddFirst(element);
        }

        public DescendableLinkedList<Element> Stack
        {
            get { return _stack; }
        }

        public bool OnStack(Element el)
        {
            return IsElementInQueue(_stack, el);
        }

        private bool IsElementInQueue(DescendableLinkedList<Element> queue, Element element)
        {

            IEnumerator<Element> it = queue.GetDescendingEnumerator();

            while (it.MoveNext())
            {
                Element next = it.Current;
                if (next == element)
                {
                    return true;
                }
            }
            return false;
        }

        public Element GetFromStack(string elName)
        {
            IEnumerator<Element> it = _stack.GetDescendingEnumerator();
            while (it.MoveNext())
            {
                Element next = it.Current;
                if (next.NodeName.Equals(elName))
                {
                    return next;
                }
            }
            return null;
        }

        public bool RemoveFromStack(Element el)
        {
            return _stack.Remove(el);
        }

        public void PopStackToClose(string elName)
        {
            while (_stack.Last != null)
            {
                if (_stack.Last.Value.NodeName.Equals(elName))
                {
                    _stack.RemoveLast();
                    break;
                }
                else
                {
                    _stack.RemoveLast();
                }
            }
        }

        public void PopStackToClose(params string[] elNames)
        {
            while (_stack.Last != null)
            {
                if (StringUtil.In(_stack.Last.Value.NodeName, elNames))
                {
                    _stack.RemoveLast();
                    break;
                }
                else
                {
                    _stack.RemoveLast();
                }
            }
        }

        public void PopStackToBefore(string elName)
        {
            while (_stack.Last != null)
            {
                if (_stack.Last.Value.NodeName.Equals(elName))
                {
                    break;
                }
                else
                {
                    _stack.RemoveLast();
                }
            }
        }

        public void ClearStackToTableContext()
        {
            ClearStackToContext("table");
        }

        public void ClearStackToTableBodyContext()
        {
            ClearStackToContext("tbody", "tfoot", "thead");
        }

        public void ClearStackToTableRowContext()
        {
            ClearStackToContext("tr");
        }

        private void ClearStackToContext(params string[] nodeNames) {
            LinkedListNode<Element> node = _stack.Last;
        while (node != null) {
            Element next = node.Value;
            if (StringUtil.In(next.NodeName, nodeNames) || next.NodeName.Equals("html"))
            {
                break;
            }
            else
            {
                _stack.Remove(node);
                node = node.Previous;
            }
        }
    }

        public Element AboveOnStack(Element el)
        {
            //assert onStack(el);
            IEnumerator<Element> it = _stack.GetDescendingEnumerator();
            while (it.MoveNext())
            {
                Element next = it.Current;
                if (next == el)
                {
                    it.MoveNext();
                    return it.Current;
                }
            }
            return null;
        }

        public void InsertOnStackAfter(Element after, Element input)
        {
            _stack.AddAfter(_stack.Find(after), input);
        }

        public void ReplaceOnStack(Element output, Element input)
        {
            ReplaceInQueue(_stack, output, input);
        }

        private void ReplaceInQueue(LinkedList<Element> queue, Element output, Element input)
        {
            queue.AddAfter(queue.Find(output), input);
            queue.Remove(output);
        }

        public void ResetInsertionMode()
        {
            bool last = false;

            IEnumerator<Element> it = _stack.GetDescendingEnumerator();
            while (it.MoveNext())
            {
                Element node = it.Current;

                if (_stack.FindLast(node).Previous == null)
                {
                    last = true;
                    node = _contextElement;
                }

                string name = node.NodeName;

                if ("select".Equals(name))
                {
                    Transition(HtmlTreeBuilderState.InSelect);
                    break; // frag
                }
                else if (("td".Equals(name) || "td".Equals(name) && !last))
                {
                    Transition(HtmlTreeBuilderState.InCell);
                    break;
                }
                else if ("tr".Equals(name))
                {
                    Transition(HtmlTreeBuilderState.InRow);
                    break;
                }
                else if ("tbody".Equals(name) || "thead".Equals(name) || "tfoot".Equals(name))
                {
                    Transition(HtmlTreeBuilderState.InTableBody);
                    break;
                }
                else if ("caption".Equals(name))
                {
                    Transition(HtmlTreeBuilderState.InCaption);
                    break;
                }
                else if ("colgroup".Equals(name))
                {
                    Transition(HtmlTreeBuilderState.InColumnGroup);
                    break; // frag
                }
                else if ("table".Equals(name))
                {
                    Transition(HtmlTreeBuilderState.InTable);
                    break;
                }
                else if ("head".Equals(name))
                {
                    Transition(HtmlTreeBuilderState.InBody);
                    break; // frag
                }
                else if ("body".Equals(name))
                {
                    Transition(HtmlTreeBuilderState.InBody);
                    break;
                }
                else if ("frameset".Equals(name))
                {
                    Transition(HtmlTreeBuilderState.InFrameset);
                    break; // frag
                }
                else if ("html".Equals(name))
                {
                    Transition(HtmlTreeBuilderState.BeforeHead);
                    break; // frag
                }
                else if (last)
                {
                    Transition(HtmlTreeBuilderState.InBody);
                    break; // frag
                }
            }
        }

        // todo: tidy up in specific scope methods
        private bool InSpecificScope(string targetName, string[] baseTypes, string[] extraTypes)
        {
            return InSpecificScope(new string[] { targetName }, baseTypes, extraTypes);
        }

        private bool InSpecificScope(string[] targetNames, string[] baseTypes, string[] extraTypes)
        {
            IEnumerator<Element> it = _stack.GetDescendingEnumerator();
            while (it.MoveNext())
            {
                Element el = it.Current;
                string elName = el.NodeName;
                if (StringUtil.In(elName, targetNames))
                {
                    return true;
                }
                if (StringUtil.In(elName, baseTypes))
                {
                    return false;
                }
                if (extraTypes != null && StringUtil.In(elName, extraTypes))
                {
                    return false;
                }
            }

            throw new InvalidOperationException("should not be reachable.");
            //return false;
        }

        public bool InScope(string[] targetNames)
        {
            return InSpecificScope(targetNames, new string[] { "applet", "caption", "html", "table", "td", "th", "marquee", "object" }, null);
        }

        public bool InScope(string targetName)
        {
            return InScope(targetName, null);
        }

        public bool InScope(string targetName, string[] extras)
        {
            return InSpecificScope(targetName, new string[] { "applet", "caption", "html", "table", "td", "th", "marquee", "object" }, extras);
            // todo: in mathml namespace: mi, mo, mn, ms, mtext annotation-xml
            // todo: in svg namespace: forignOjbect, desc, title
        }

        public bool InListItemScope(string targetName)
        {
            return InScope(targetName, new string[] { "ol", "ul" });
        }

        public bool InButtonScope(string targetName)
        {
            return InScope(targetName, new string[] { "button" });
        }

        public bool InTableScope(string targetName)
        {
            return InSpecificScope(targetName, new string[] { "html", "table" }, null);
        }

        public bool InSelectScope(string targetName)
        {
            IEnumerator<Element> it = _stack.GetDescendingEnumerator();
            while (it.MoveNext())
            {
                Element el = it.Current;
                string elName = el.NodeName;
                if (elName.Equals(targetName))
                {
                    return true;
                }
                if (!StringUtil.In(elName, "optgroup", "option")) // all elements except
                {
                    return false;
                }
            }

            throw new InvalidOperationException("should not be reachable.");
            //return false;
        }

        public Element HeadElement
        {
            set { this._headElement = value; }
            get { return _headElement; }
        }

        public bool IsFosterInserts
        {
            get { return _fosterInserts; }
            set { this._fosterInserts = value; }
        }

        public Element FormElement
        {
            get { return _formElement; }
            set
            {
                this._formElement = value;
            }
        }

        public void NewPendingTableCharacters()
        {
            _pendingTableCharacters = new List<Token.Character>();
        }

        public List<Token.Character> PendingTableCharacters
        {
            get { return _pendingTableCharacters; }
            set { this._pendingTableCharacters = value; }
        }

        /// <summary>
        /// 11.2.5.2 Closing elements that have implied end tags
        /// When the steps below require the UA to generate implied end tags, then, while the current node is a dd element, a
        /// dt element, an li element, an option element, an optgroup element, a p element, an rp element, or an rt element,
        /// the UA must pop the current node off the stack of open elements.
        /// </summary>
        /// <param name="excludeTag">If a step requires the UA to generate implied end tags but lists an element to exclude from the process, then the UA must perform the above steps as if that element was not in the above list.</param>
        public void GenerateImpliedEndTags(string excludeTag)
        {
            while ((excludeTag != null && !CurrentElement.NodeName.Equals(excludeTag)) &&
                    StringUtil.In(CurrentElement.NodeName, "dd", "dt", "li", "option", "optgroup", "p", "rp", "rt"))
            {
                Pop();
            }
        }

        public void GenerateImpliedEndTags()
        {
            GenerateImpliedEndTags(null);
        }

        public bool IsSpecial(Element el)
        {
            // todo: mathml's mi, mo, mn
            // todo: svg's foreigObject, desc, title
            string name = el.NodeName;
            return StringUtil.In(name, "address", "applet", "area", "article", "aside", "base", "basefont", "bgsound",
                    "blockquote", "body", "br", "button", "caption", "center", "col", "colgroup", "command", "dd",
                    "details", "dir", "div", "dl", "dt", "embed", "fieldset", "figcaption", "figure", "footer", "form",
                    "frame", "frameset", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html",
                    "iframe", "img", "input", "isindex", "li", "link", "listing", "marquee", "menu", "meta", "nav",
                    "noembed", "noframes", "noscript", "object", "ol", "p", "param", "plaintext", "pre", "script",
                    "section", "select", "style", "summary", "table", "tbody", "td", "textarea", "tfoot", "th", "thead",
                    "title", "tr", "ul", "wbr", "xmp");
        }

        // active formatting elements
        public void PushActiveFormattingElements(Element input)
        {
            int numSeen = 0;
            Element remove = null;
            IEnumerator<Element> iter = _formattingElements.GetDescendingEnumerator();
            while (iter.MoveNext())
            {
                Element el = iter.Current;
                if (el == null) // marker
                {
                    break;
                }

                if (IsSameFormattingElement(input, el))
                {
                    numSeen++;
                }

                if (numSeen == 3)
                {
                    remove = iter.Current;
                    break;
                }
            }

            if (numSeen == 3)
            {
                _formattingElements.Remove(remove);
            }

            _formattingElements.AddLast(input);
        }

        private bool IsSameFormattingElement(Element a, Element b)
        {
            // same if: same namespace, tag, and attributes. Element.equals only checks tag, might in future check children
            return a.NodeName.Equals(b.NodeName) &&
                // a.namespace().equals(b.namespace()) &&
                    a.Attributes.Equals(b.Attributes);
            // todo: namespaces
        }

        public void ReconstructFormattingElements()
        {
            int size = _formattingElements.Count;
            if (size == 0 || _formattingElements.Last.Value == null || OnStack(_formattingElements.Last.Value))
            {
                return;
            }

            Element entry = _formattingElements.Last.Value;
            int pos = size - 1;
            bool skip = false;
            while (true)
            {
                if (pos == 0) // step 4. if none before, skip to 8
                {
                    skip = true;
                    break;
                }
                entry = _formattingElements.ElementAt(--pos); // step 5. one earlier than entry
                if (entry == null || OnStack(entry)) // step 6 - neither marker nor on stack
                {
                    break; // jump to 8, else continue back to 4
                }
            }
            while (true)
            {
                if (!skip) // step 7: on later than entry
                {
                    entry = _formattingElements.ElementAt(++pos);
                }

                if (entry == null)
                {
                    throw new InvalidOperationException("entry is null."); // should not occur, as we break at last element
                }

                // 8. create new element from element, 9 insert into current node, onto stack
                skip = false; // can only skip increment from 4.
                Element newEl = Insert(entry.NodeName); // todo: avoid fostering here?
                // newEl.namespace(entry.namespace()); // todo: namespaces
                newEl.Attributes.AddRange(entry.Attributes);

                // 10. replace entry with new entry
                _formattingElements.AddBefore(_formattingElements.Find(entry), newEl);
                _formattingElements.Remove(entry);

                // 11
                if (pos == size - 1) // if not last entry in list, jump to 7
                {
                    break;
                }
            }
        }

        public void ClearFormattingElementsToLastMarker()
        {
            while (_formattingElements.Count > 0)
            {
                Element el = _formattingElements.Last.Value;
                _formattingElements.RemoveLast();
                if (el == null)
                {
                    break;
                }
            }
        }

        public void RemoveFromActiveFormattingElements(Element el)
        {
            LinkedListNode<Element> it = _formattingElements.Last;

            while (it != null)
            {
                if (it.Value == el)
                {
                    _formattingElements.Remove(it);
                    break;
                }
                it = it.Previous;
            }
        }

        public bool IsInActiveFormattingElements(Element el)
        {
            return IsElementInQueue(_formattingElements, el);
        }

        public Element GetActiveFormattingElement(string nodeName)
        {
            IEnumerator<Element> it = _formattingElements.GetDescendingEnumerator();
            while (it.MoveNext())
            {
                Element next = it.Current;
                if (next == null) // scope marker
                {
                    break;
                }
                else if (next.NodeName.Equals(nodeName))
                {
                    return next;
                }
            }
            return null;
        }

        public void ReplaceActiveFormattingElement(Element output, Element input)
        {
            ReplaceInQueue(_formattingElements, output, input);
        }

        public void InsertMarkerToFormattingElements()
        {
            _formattingElements.AddLast(new LinkedListNode<Element>(null));
        }

        public void InsertInFosterParent(Node input)
        {
            Element fosterParent = null;
            Element lastTable = GetFromStack("table");

            bool isLastTableParent = false;

            if (lastTable != null)
            {
                if (lastTable.Parent != null)
                {
                    fosterParent = lastTable.Parent;
                    isLastTableParent = true;
                }
                else
                {
                    fosterParent = AboveOnStack(lastTable);
                }
            }
            else
            { // no table == frag
                fosterParent = _stack.First.Value;
            }

            if (isLastTableParent)
            {
                if (lastTable == null)
                {
                    throw new InvalidOperationException("lastTable is null.");
                }

                lastTable.Before(input);
            }
            else
            {
                fosterParent.AppendChild(input);
            }
        }

        public override string ToString()
        {
            return "TreeBuilder{" +
                       "currentToken=" + _currentToken +
                       ", state=" + _state +
                       ", currentElement=" + CurrentElement +
                       '}';
        }

        public Tokeniser Tokeniser
        {
            get { return _tokeniser; }
        }
    }
}


It is the future, and the slang word for refugees is "skunks". Even though there is no indication as to how far ahead in time A Nest Of Skunks is set, our imagination does not have to work very hard at all to believe that society has disintegrated to that level, where we liken asylum seekers to an animal known for its repulsive stench. In fact, we often forget that events in the play are not actually taking place in the here and now, being so used to prevailing sociopolitical attitudes towards the needy that are already full of contempt.
The script, by James Balian and Roger Vickery, is taut, confrontational and stimulating. It appeals to our decency, demanding that we think about the repercussions of political decisions with compassion and rationality. Convincing parallels are drawn between Nazism and how public ideology is currently evolving, and in its dystopic vision, we see that it takes only a few small steps before fascism ascends again. A Nest Of Skunks is gripping drama, with compelling twists and turns that provide food for thought, along with excellent entertainment. Director Travis Green creates a powerful statement with the text, and although a couple of crucial plot revelations require greater clarity, his storytelling is nonetheless affecting.
There are accomplished performances in the piece, most notably by Brendan Miles whose robust presence and emotional authenticity, ensure that the show is held together by our tremendous empathy for his character Stephen. There are slight issues with the portrayal of language barriers between cultures in the play, but they do not dampen our enthusiasm for Miles' very moving interpretation of a man in turmoil and desperation.
Refugees are used as pawns in the quest for power by those in the business of government. We are made to fear the weak. Instead of providing help, we turn against the innocent, employing harsh and cruel measures in the name of protecting our self-interest. A Nest Of Skunks demonstrates that resistance is the only instrument we have that could turn the tide. Characters in the play make radical decisions to do the right thing, but what is required of us is only reason, so that we may triumph against lies and greed, and all the irrationality peddled by fear-mongers who wish to undermine the best of our immortal human spirit.


Bell & Associates Consulting Firm has insurance agents located throughout Mississippi, Louisiana, Alabama, Florida, Tennessee, and Texas. To request information about insurance coverage, request a quote. If you are interested in becoming an agent give us a call or fill out the form and we will get back with you soon.


Brooklyn's 1838 Green-Wood Cemetery, a National Historic Landmark, was the precursor of New York's Central Park and is one of America's most picturesque landscapes. PBDW collaborated with Green-Wood to create several new buildings designed to carry out the intentions of the historic landscape in an architectural vocabulary worthy of the Cemetery's exceedingly high precedent for design.
The monumental glass windows of the Hillside Mausoleum, which is cut into a sharply sloping site, bring the landscape through the greenhouse enclosure and make the space an extension of the outdoors. The transparency of the envelope, the glass pyramids, and blocks of crypts at the top entry of the mausoleum further integrate it with its surroundings.
The Columbarium is conceived as a garden pavilion organized within a semi-circular wood and glass structure, enclosing a central meditation space set in a 150-foot reflecting pool. Following the form of an existing hemicycle of urn burials and integrated with the circulation between Green-Wood's great Gate and it renovated Chapel, the Columbarium expands the inventory of commemorative structures in Green-Wood's extraordinary landscape making possible a new experience of space, light, water and flowers by its pool and under its vine-covered pergolas.
The program for the addition to an existing 1950s crematorium located near the Cemetery's main entry and adjacent to Richard Upjohn's 1860 triple-portal gate included a second chapel, further expansion of the Cemetery's mausoleum and columbarium capacity, replacement of all cremation equipment, and new building systems. The new façade extends over the original entry to give the building a unified presence. Its low massing, strong horizontals, and shifting planes engage the surrounding Arcadian landscape, while the new design respects the original building's modernist vocabulary of limestone and white marble trim. The materials and details of the new façade relate the expanded structure to adjacent contemporary structures, while the brown granite rainscreen connects it to the Belleville brownstone of Upjohn's exuberant entrance.


text:
Moderna, Inc. – amerykańskie przedsiębiorstwo biotechnologiczne z siedzibą w Cambridge pod Bostonem.

Charakterystyka
Moderna powstała w 2010 roku pod nazwą ModeRNA jako owoc współpracy akademickiej pojedynczych naukowców. Początkowo działała przy Uniwersytecie Harvarda. Pomysłodawcą jej zawiązania był biolog Derrick Rossi, który w ciągu dwóch lat pozyskiwał partnerów: Timothy'ego Springera, Kennetha Chiena i Roberta Langera. Jednak kluczową rolę w błyskawicznym wejściu firmy do grona globalnych graczy było dołączenie Ormianina Noubara Afeyana z Flagship Ventures – funduszu inwestującego w badania medyczne. To on zaangażował Stéphane Bancela – francuskiego biotechnologa z doświadczeniem biznesowym na kierowniczych stanowiskach dużych firm branży biotechnicznej i farmaceutycznej. W analizach społeczno-gospodarczych pierwszych lat pandemii media wskazują, że mała – zawiązana oddolnie przez pojedynczych naukowców – emigrantów w pierwszym pokoleniu, firma z powodzeniem stawiła czoła gigantom z wieloletnią tradycją i nieporównywalnie większymi zasobami finansowymi na początku pandemii jak Pfizer/BioNTech i Oxford/Astra Zeneca – konsorcja utworzone przez przedsiębiorstwa i instytucje z wieloletnią tradycją.

Działalność Moderny koncentruje się na odkrywaniu i opracowywaniu leków i technik szczepień opartych wyłącznie na informacyjnym RNA (mRNA). W 2020 roku w związku ze światową pandemią COVID-19 przedsiębiorstwo, przy udziale dwóch amerykańskich instytucji rządowych Narodowego Instytutu Alergii i Chorób Zakaźnych (NIAND, National Institute of Allergy and Infectious Diseases wchodzącego w skład Narodowych Instytutów Zdrowia) i biura BARDA (Biomedical Advanced Research and Development Authority wchodzącego w skład Departamentu Zdrowia i Opieki Społecznej Stanów Zjednoczonych), opracowało jedną z pierwszych zaaprobowanych w USA i UE szczepionek przeciw COVID-19 o nazwie mRNA-1273.

Przedsiębiorstwo zatrudnia 830 osób (2019, łącznie z pionem produkcyjnym).

Przypisy

Linki zewnętrzne
 Oficjalna strona przedsiębiorstwa

Amerykańskie przedsiębiorstwa farmaceutyczne
Przedsiębiorstwa biotechnologiczne
Przedsiębiorstwa z siedzibą w Cambridge (Massachusetts)
Spółki notowane na NASDAQ

redpajama_set_name: RedPajamaWikipedia


text:
Preview: Blues and Bullets
I love The Untouchables, it's one of my favourite films of all time and the Prohibition is an era of American history I've always found fascinating. The Mafia, the many […]
I love The Untouchables, it's one of my favourite films of all time and the Prohibition is an era of American history I've always found fascinating. The Mafia, the many branches and families forming syndicates and boozing up the dry nation against the very few cops they couldn't buy. It's amazing stuff really. I've watched documentaries, films, TV series and now played a games with those characters.
Blues and Bullets is a third person adventure game set twenty years after the fall of Al Capone at the hand of Elliot Ness and his Untouchables. I first saw it at Rezzed 2015 and recently received a press code for both of the currently released episodes. As you know very well, I don't review episodic titles until the full season releases, but that doesn't stop me from doing a nice preview and talk about the episodes and tell you what I thought about them…and share a metric ton of images from my playthrough.
Retirement plan: open a diner with a cool name!
Blues and Bullets—by the way awesome name for a Noir game—sees Elliot Ness retired in the town of Santa Esperanza as the owner of the Blues and Bullets diner, where his pies are a sensation. In flashbacks during Prohibition, he's still on Santa Esperanza and A Crowd of Monsters, the developers, mention they were as accurate as they could with the people and places they had access to, so Santa Esperanza is the Chicago replacement.
But it's not historically accurate either as this takes place in an alternate history—which is fairly obvious as the characters didn0t live the lives we all know they did—one where the Hindenburg still exists, aloft the city as a giant floating hotel.
Episode titles and images are very noir. Love it!
At the start of the game a burly black man called Milton visits Ness and brings him a single bullet, one he left in Capone's house twenty years prior. Meeting his former archenemy the retired and sickly Mafioso hires Ness to find his granddaughter, mentioning he doesn't care what happens to him as long as the girl is safe. Someone kidnapped her and he wants her back and safe.
We actually see the girl several times in the story, particularly at the very start of the game when we meet the many children trapped by a strange cult whose members were deer skulls as masks, torture and kill children they fear have "been bad." The little girl we see, who we later identify or at least guess to be Capone's granddaughter, takes a lockpick from a small boy and attempts and fails to escape. It's a dark scene that sets the tone for the episodes to come. Violence against children is one of the things I dislike the most so this opening scene and all other featuring this "cult" made my skin crawl. I'm actually impressed at how easily they made me feel uncomfortable but in doing so I instantly connected with the little girl and empathised with her, wanting to keep her safe and on her captors' good side.
Some of the red does look a bit off against the stark black & white backgrounds
The game isn't just dark but moody and between the locations you visit, the amazing music and the way the story goes it feels like a classic Detective Thriller mixed in with a Spy one at times. You visit a Russian submarine disguised as someone else. How more Bond can you get? But there's also a lot of introspection, distrust on allies and enemies alike and gruesome murders so the Noir detective story atmosphere is also there.
This opening scene also shows us what the visual style is like, completely black and white, as you would expect in the 50s but with some colours showing, such as Elliot Ness' red tie, or a yellow butterfly outside the dungeon where the cult holds the children, or the copious amounts of blood you see as the game progresses and things turn darker. I would have liked more colours showing than just red, but aside from that yellow butterfly and some fireworks you see in the distance from the Hindenburg hotel, the only one you ever see is red, bright shiny red.
Look at that face, he wouldn't hurt anyone!
Blues an Bullets, while incorporating other mechanics—more on that in a bit—I primarily third person choice-based adventure, where you're presented with multiple options on dialogues and actions and the game records and alters events depending on what you picked. But it's closer to Life is Strange than it is to Telltale's own brand of storytelling games. The reason for this is that while it features choices it also has some very interesting deductive puzzles. At certain stages in the episodes you have to investigate crime scenes or an evil lair to find clues, then you pull up your deduction board and put the clues in the right place as if pinning photos to a board and thus figuring out how things happened at the scene, reconstructing it all based on the evidence. It's fairly cool though in the first episode it's underutilised and even in the second you only have two of these, when I personally would've preferred to see more of these analytical moments, perhaps with more clues to match with a given investigative branch. The investigations themselves deal with some of the darker elements of this alternate world and I really mean dark.
Blues and Bullets also has shooting elements. The first one is during a flashback that Elliot Ness has of breaking into Capone' house in a drunken stupor that makes it hard for him to walk but somehow still makes him perfectly capable of aiming a gun and takin out half of Capone's security on his own without breaking a sweat. These third-person shooting moments are on-rails, meaning you just have to clear the current wave to advance. To be fair, the first one felt tacked on and didn't quite match the tone of the flashback, particularly considering that Elliot Ness could barely walk yet was gunning men down like Rambo. The second one happens during a very cool and poignant self-reflection scene where Ness delivers a fantastic and very Noir monologue about the city and how corrupt it is and how it used to be a good place until Capone arrived. As he mentions the Mafioso and his men, you have a shootout with these imaginary mobsters. It feels odd, and once again slightly out-of-place, interrupting the strong monologue to shoot at some random mooks.
Way too much chili sauce, but the dude had it coming!
In episode two, the shootings make a lot more sense in the context of the story and characters. I just hope they up the challenge in them for the coming episodes as these don't pose any difficulty. It's almost impossible to die in these and once you have an NPC shooting partner later in the episode, you don't even have to take part in the shootouts, because even with their terrible aim, they'll eventually whittle down the enemies.
The game also has copious amounts of quick-time events and button mashes to perform actions, such as fighting. But the punches, kicks and other moves lack any weight or speed behind them so the combat feels staged and fake, breaking immersion tremendously. This is much more apparent in episode two than in the first one. Also, I hate quick-time events…and I think most of us do at this point.
Elliot Ness…sauced!
The last spot of weirdness in mechanics was in episode two, where a nightmare sequence turns the game into a first person exploration horror. You move, open doors, follow the hallways to reach the next set of disconcerting imagery. While the sequence itself is awesome and has some evil voiceover of the darker parts of Ness' subconscious, it clashes with the playing and visual style of the overall game. Having said so and even the previous paragraphs, I do applaud the attempt of mixing things up.
I immediately recognised Elliot Ness' voice actor, Mr. Geralt of Rivia, Doug Cockle. I recognised him because he's doing the same voice. Now, before you call foul play I will say one thing. A Noir video game or film or TV series without a detective with a gravelly voice is missing something, you need that voice, that Geralt voice, so I'm not even a bit bothered by it, because it just works so well.
Shooty shooty…while completely sauced!
I just wished some of the conversation choices made sense. One of the recurring ones is "Irony," where instead of saying something ironic Ness just throws out a non-sequitur or a random insult. It's not an irony.
Finally, while the visual style is phenomenal and feels like a proper Noir, with deep shadows hiding dark secrets and the feeling you're being dragged along against your choice, the characters lack any convincing facial animations, including lip-sync. The latter is particularly bad, but to be honest not enough to ruin he experience for me. I don't usually mind this kind of thing.
For some reason love the contrast in this image, the shadows falling over them and the emotional state. Awesome!
Second episode down and this lovely sculpture!
An eye for an eye and this game gets darker!
Yes, those are claws…yes that was weird!
The last shootout in the second episode has enemy waves and a gatling gun…it's ludicrous
If you don't fight, Capone will eventually kill them on his own
We didn't start the fire!
Burning on top of the dark city!
There's bullet time here…because!
Those are some really thin wrists!
Weird and creepy…mostly weird.
Now it's Amnesia: Elliot's Descent
Look Ma, no legs!
Dark Ness laying down the law!
Dark Ness doesn't play around
So this is how they got the ledger?
By the way, your wife and I…
Yes, this gets very gruesome and dark
What does he do with humans?
If you have a gun just use it!
That's a Tommy Gun point blank, still standing!
Headshots kill in one go, but the blood spatter comes out from a random place
We all live in a Russian submarine, Russian subarine!
Russian bad dude
White…skull?
The inside of a Russian sub!
Love this scene, feels straight out of Casablanca for some reason!
Russian sub is impressive!
Concept art for these creeps!
No matter what you pick, no happy ending for you.
Yeah…Bruno…
You gave him a basket of puppies?
This scene is just freaking creepy
Episode 1 diorama!
I knew it was you Geralt!
In other words, don't talk back and look imposing!
Loved the real newspaper here!
This dude is a sick bastard!
Ugh…QTE
Once you've figure it all out, time to reproduce the sequence of events!
Ew, ew, ew!
Making sense of this gruesome stuff
Yeah, I don't want to find him…he look freaking dangerous!
Gore Island, what a name!
Wazuuuup!
So the letters are covers?
Before the shooting, I was digging this scene, the monologue
Capone asking for help, that's a new one
Capone's Japanese garden is lovely
Yeah, I don't want that job!
The city spreads below!
Geek, Lawful Geek
Hindenburg Hotel
The tram of true Noi-ness
Hmmm, lovely!
Lots of missing kids
Those two cops are awful people!
Ness is like Yoda, during combat he's awesome, afterwards he's back to shambling
Ness does some effective shooting!
Looking for trouble!
Yep, drunk as hell!
You've got the cop experience, this'll be easy!
Overall I'm really digging Blues and Bullets, and while I always like it when developers try to mix things up and add new mechanics to a formula, A Crowd of Monsters needs to make sure the additions fit with the overall gameplay, and the tone of the game they're playing. The lack of challenge in the shooting segments, and the endless waves you fight in episode two become rather silly and detract from the moody story and wonderful Noir atmosphere they're crafting.
Posted on April 1, 2016 0 By Kevin	Gaming Posted in Gaming Tagged #A Crowd of Monsters, Adventure, Al Capone, Blues and Bullets, Choice-based, Elliot Ness, First Person Horror, Flashbacks, Gaming, Noir, Preview, Prohibition, The Untouchables, Third Person Shooter, Video game
Next Post Preview: Steve Jackson's Sorcery – Episode 3: The Seven Serpents
Previous Post Review: Zheros

redpajama_set_name: RedPajamaCommonCrawl


The Find Welcomes Artist Wade Pearlman!
Found at The Find Today! High End Italian Dining Table has a metal base and nail head trim on the table top. Beautiful piece is made even more distinct when paired with handcrafted Industrial Farm Side Chairs from Wine Barrel Designs Collection. The Find is open today from 10:00 a.m. until 5:00 p.m.
Found at The Find Today! Vintage Starburst Dinnerware by Franciscan Ware is a highly sought after pattern and we have a beautiful set in excellent condition! Visit The Find today and get it for yourself before it's gone! The Find is open today from 10:00 a.m. until 5:00 p.m.
Found at The Find Today! Fabulous Collection of Vintage Jewelry is a must have for any collector or vintage clothing connoisseur. Enjoy a wide variety of beautiful necklaces, earrings, and bracelets in styles and designs you won't Find anywhere else. The Find is open today from 10:00 a.m. until 5:00 p.m.
Found at The Find Today! Antique Lovell Standing Clothes Wringer is a piece of washday history! This great piece is easily refinished or simply enjoy as is. Clothes Wringer will make a great addition to any home with a vintage décor theme. Find is open today from 10:00 a.m. until 5:00 p.m.
Found at The Find Today! Vintage Metal Lunch Kettle will make a charming addition to your vintage décor' or rustic kitchen design. Check out this piece and many others available today from our huge selection of vendors at The Find! The Find is open today from 10:00 a.m. until 5:00 p.m.


text:
Ten Stories, 112-Feet Tall: Downtown Toms River Complex Set for Planning Board Hearing
A proposed mixed-use redevelopment project proposed for Water Street in downtown Toms River. (Photo: Toms River Township)
A mixed-use development on Toms River's downtown waterfront that would instantly become the township's largest building, besting the OceanFirst Bank headquarters building which will stand at 97-feet tall, is set for a hearing before the planning board later this month.
In what is expected to be a marathon hearing on a project that some residents view as controversial, the Capodagli Group, represented by local attorney Robert C. Shea, will pitch the transformational redevelopment plan to board members Dec. 15.
Proponents of the plan say the project will kick off a new era of revitalization of Toms River's downtown area, make the area more attractive for young residents and attract a host of new businesses to town. It is also a major step in redeveloping the waterfront, which includes the added benefit of the creation of flood management areas to future-proof the downtown district against rising sea levels.
Those who oppose the development primarily argue that the building is simply too large for Toms River, and would modify the character of the township from a suburban community to a more dense, urbanized center reminiscent of Red Bank. Some residents have also complained about significant tax incentives being offered to Capodagli, including an abatement plan that would see the developer paying a $392,747 flat rate payment for a complex worth tens of millions of dollars. Capodagli would also acquire one parcel of land required for the project – owned by the Toms River Parking Authority – for $560,000, but would purchase the former Red Carpet Inn property for just $1. The same property was purchased by taxpayers for $3.3 million.
While many aspects of the complex have been discussed openly at public meetings, the formal filing of the planning board application provides some extra details on what is being proposed as part of the project. Specifically:
The entirety of the property is located in the Downtown Waterfront Phase 1 Redevelopment Area within the Village Business Zone.
Capodagli is proposing to construct mixed-use building consisting of approximately 17,000 square feet of retail and commercial space and parking deck on the first two-stories with two eight story "towers" spaced about 100 feet apart and oriented perpendicular to the Toms River where it bends to the north before splitting to surround Huddy Park.
The complex will include 285 residential units, consisting of 44 studio apartments, 141 one-bedroom apartments, 56 two-bedrooms apartments, one three-bedroom unit, 22 two-bedroom units designated as affordable housing, and 21 three-bedroom units designated as affordable housing.
The commercial space is intended to be occupied by a restaurant, coffee shop, fitness center, co-workspace, pet day-care and a wash-press-fold service.
A public park with a walking path will be built along the riverfront.
The NJ Department of Environmental Protection is requiring a portion of the bulkhead at the former Red Carpet Inn property to be rebuilt, and a living shoreline consisting of rip-rap stone and planted slopes in terraces to transition to boardwalks at two levels – one that serves as a waterfront promenade and another that leads to the large patio with outdoor seating adjacent to the entrances of commercial spaces.
The redeveloper is proposing to add a sidewalk along the Herflicker Boulevard frontage to connect to the boardwalk along the riverfront park. The sidewalks along Irons Street and the former Red Carpet Inn frontage on Water Street will be enhanced with streetscape improvements.
The project requires a variance from a rule in the township's redevelopment plan that sets a 45-foot building height minimum.
"The intention of the plan was to prevent redevelopment projects that would only be one story," a notice filed with the board said. "However, the height of a portion of the subject building fronting on Water Street is one story and 25 feet in height, while the total height is ten stories and 112 feet in height. The overall height of the building is dictated by its use as a two-level parking deck with retail spaces and the proposed height is consistent with the heights of existing buildings on Water Street."
No relief is required for the height of the building with reference to the maximum provided in the redevelopment plan.
Capodagli is also requesting a variance from the minimum building setback limit included in the redevelopment plan, which requires that buildings be stepped back by 10 feet above heights of 40-feet, 80-feet and 120-feet respectively, the notice said. The intent of the limit was to temper the impact of height as viewed from the abutting public sidewalk by requiring greater setbacks for higher portions of the building. But the highest points of the complex comply, and the remaining portions are located behind existing one- and two-story buildings for the north tower and ranges from 20 feet to 50 feet from Herflicker Boulevard for the south tower, where no other buildings are located.
The developer will seek a number of more routine "bulk" variances and design waivers, which is common in major applications before the board. The full public notice is available from the township.
The hearing will be held Dec. 15 at 6 p.m. at the township municipal complex, 33 Washington Street.
Related Topics10 Story BuildingCapodagli GroupDowntown Toms RiverfeaturedToms River NJ NewsWaterfront Redevelopment


text:
Q: SQL Insert won't insert on all fields I have PHP generating an HTML form and I'm trying to write a script that will update the information in the database. For some reason it works on some of the fields and not others.
Code which won't work:
PHP-Form that users can change details within
echo"<form name='details'>";
echo"
Surname: <input type='text'id='surname' value='".$row['Surname']."'/>
;

Telephone: <input type='text'id='phone' value='".$row['Telephone']."'/>
;

Postcode: <input type='text' id='postcode' value='".$row['Postcode']."'/>
;

House/Flat Number: <input type='text' id='number' value='".$row['Number']."'/>
";

AJAX - sends changes to server via querystring
    var sname = document.getElementById('surname').value;
    var tel = document.getElementById('phone').value;
    var num = document.getElementById('number').value;
    var pcode = document.getElementById('postcode').value;

  var queryString = "?username=" + username +"&email="+email....";
  ajaxRequest.open("GET", "url" + queryString, true);
  ajaxRequest.send(null);

PHP - execute update command
//connect to server
...
//get variables
$sname = $_GET['sname'];
$pcode = $_GET['pcode'];
$tel = $_GET['tel'];
$num=$_GET['num'];

//process update
$update ="UPDATE User SET Surname='$sname',Telephone='$tel',Number='$num',
Postcode='$pcode' WHERE Username='$username'";

//if query, display success
if(mysqli_query($update))
{
echo"success";
}
else
{
echo"error";
}
//else display error

The query executes fine, but the values aren't displaying within the database. My other variables (username, password etc) all update fine. All database fields are type VARCHAR(80).
EDIT: I do have the query being executed. This still results in the surname, postcode, number and telephone field not being updated.

A: Ignoring for the moment all the other issues with this code and approach (SQL injection issues, GET vs. POST issue, etc.), and dealing with the update not changing things as expected, there are a couple of things to check.

*

*Try outputing the update query in your logs and make sure that it actually looks like what your expecting.  It could be that the values you're meaning to push across the wire are not making it into the query or that.

*Verify that running the query by hand in an standalone SQL client (mysql, squirrel, etc...) Actually updates a record.  It's entirely possible that a valid update query may not match any records.  (Say the username value you're looking for does not match one that's in the database.

*Not knowing your infrastructure, I'd suggest some sanity checks: Are you actually pointing at the right database?  Do you have a your update wrapped in a transaction that's rolling back? etc ...
A few other tips:

*

*I would suggest looking at PDO, in particular how Prepared Statements work.  The kind of query you're building above is someone to run off with all your data or worse.  While not a panacea, prepared statements are a solid first step.

*Take a look at Jquery's Ajax functions.  In particular the post method.  It provides a simple interface for making ajax calls without having to construct special url strings.  Plus, switching to a POST will avoid your data showing up in webserver logs files.

redpajama_set_name: RedPajamaStackExchange


This fund was established through the generosity of the late Cornell Meek, a 1938 graduate in electrical engineering. Cornell described himself as a "medium" student with a great fondness for the relationships he established with fellow students and professors while at Washington State College.
During his years at WSC, Mr. Meek funded his own education with help from many people including two named in this endowed scholarship. The first is Sherman C. Markley, superintendent of buildings and grounds at WSU until his retirement in 1966. Sherman recommended Cornell, in Cornell's sophomore year, for the job of "night electrical trouble shooter." The Markley and Meek families remained close friends for life.
The second is Charles W. McPhail, who employed Cornell part-time prior to 1938 during vacations, and permanently from 1942 until 1946. At that time he made it possible for Mr. Meek to assume a portion of the contracting company which subsequently enabled him to fund this scholarship. Cornell died in his home in Gig Harbor, October 3, 2003.
The income from this Fund provides one or more scholarships to juniors and seniors with any major within the School of Electrical Engineering and Computer Science. Recipients must demonstrate both financial need and "good character," as determined by the scholarship selection committee.


Where to order martensitic stainless steel? Offer sheet, tape 1.4922, the price is determined by the technological features of production without the inclusion of additional costs. You can order products in non-standard settings. We have the best ratio of price and quality for the entire range of products. In the segment of high-temperature martensitic steel company Evek GmbH — best supplier.
Stainless steel heat-resistant martensitic steel. The basis of the alloy — iron: its share is about 75%. The composition doped with chromium, manganese, molybdenum, vanadium. Specific gravity of 7.8 g/cm3. The addition of molybdenum and vanadium give the steel better corrosion resistance to pitting and crevice corrosion in chloride environments. The carbon content in the range of 0.17 — 0.23% provides higher rigidity.
We offer you to buy a sheet, tape 1.4922 the vendor Evek GmbH. Full compliance with the international quality standards. Supplier Evek GmbH offers to buy a sheet, tape 1.4922, price today best.


Explore the nation's only industrial power canal still in use for its original purpose. Built in 1845 to harness the water power of the Savannah River, the Augusta Canal offers history, recreation and unique experiences along miles of towpath, trail, and waterway. Enjoy the canal on foot, by bicycle, canoe or kayak.
Once the second largest cotton exchange in the world, the 1886 building was the site of the business activity of cotton famers, brokers and buyers. Today it is the downtown branch of Georgia Bank and Trust.
U.S. President Woodrow Wilson lived here from 1860–1870, the longest period spent in one residence, while his father served as pastor of the First Presbyterian Church.
Built in 1797 by a prominent tobacco merchant, this house is an outstanding example of late 18th-century architecture.
This 60-acre cemetery is the resting place for more than 300 Confederate soldiers and seven generals as well as poet James Ryder Randall. Its easter wall was a defensive line for the city in 1864 and bears patches from wartime cannon emplacements.


text:
Role of homoeopathic medicines in prostate enlargement: A retrospective observational study
Girish Gupta, Santosh Singh
Gaurang Clinic and Centre for Homoeopathic Research, Lucknow, Uttar Pradesh, India
Girish Gupta
Gaurang Clinic and Centre for Homoeopathic Research, B 1/41, Sector A, Near Novelty (Aliganj), Kapoorthala, Aliganj, Lucknow - 226 024, Uttar Pradesh
Background: Prostatic enlargement (prostatomegaly) is a common condition in aging men which can be progressive and lead to acute urinary retention and ultimately need for surgery. Although clinical evidence of disease occurs less commonly, symptoms of prostatic obstruction are also age related and if untreated affect quality of life. Patients with huge prostatic enlargement mostly undergo surgical intervention. Objective: To assess the usefulness of homoeopathic medicines in patients with huge prostatomegaly, a clinical study was conducted at Gaurang Clinic and Centre for Homoeopathic Research, Lucknow, India. Materials and Methods: A total of 116 patients have been shortlisted with prostate weight above 50 g, out of which 61 were found fit for the study. The medicines have been selected on the basis of principles of Homoeopathy. Prostate weight and postvoid residual urine (PVRU) on ultrasonography were assessed before and after treatment. Results: After comparing pre- and post-treatment results, the difference in mean values of prostate weight and PVRU were 67.47 ± 2.78-60.15 ± 3.62 (P < 0.001) and 91.61 ± 11.91-65.94 ± 9.01 (P = 0.009), respectively, which were found statistically significant. Lycopodium (n = 21), Pulsatilla (n = 7), and Nux vomica (n = 3) were found to be most useful medicines. Conclusion: Results obtained from the study are encouraging with findings that almost 64% of patients reduced their prostatic weight significantly. However, such study with inclusion of more parameters is needed for further validation of the role of homoeopathic medicines.
Keywords: Homoeopathy, Lycopodium, Post void residual urine volume, Prostate weight, Prostatomegaly, Pulsatilla, Retrospective study
Gupta G, Singh S. Role of homoeopathic medicines in prostate enlargement: A retrospective observational study. Indian J Res Homoeopathy 2016;10:266-71
Gupta G, Singh S. Role of homoeopathic medicines in prostate enlargement: A retrospective observational study. Indian J Res Homoeopathy [serial online] 2016 [cited 2020 Jan 23];10:266-71. Available from: http://www.ijrh.org/text.asp?2016/10/4/266/194323
Prostatic enlargement (prostatomegaly) is one of the most common conditions in elderly men. This condition is rarely life-threatening but often affects the individual's quality of life in varying degrees. As men age, the incidence of prostatomegaly increases. Autopsy data indicate that over 90% of men >80 years of age have histological evidence of benign enlargement of the prostate. [1]
About 75% of men >50 years of age have symptoms arising due to prostatic enlargement and 20%-30% of men reaching 80 years of age require surgical intervention for its management. [2],[3] It affects the quality of life similar to other chronic diseases such as diabetes mellitus, hypertension, and heart disease. [4],[5] Even depression of mood is supposed to occur more in patients of prostatomegaly. [6] Patients with classical symptoms of prostatic enlargement are treated with α-blockers to relieve in lower urinary tract symptoms. Even α-blockers in combination with 5 α-reductase inhibitor are able to decrease the disease up to some extent, but their cost-effectiveness is still questionable [7] and even their prolonged use can cause sexual dysfunction and ultimately affects quality of life. [8] Surgical interventions, though beneficial, are costly and have their own complications. [9],[10] Prevention of disease progression is one of the main goals of treatment.
Homoeopathy is based on natures law of cure which implies "A weaker dynamic affection is permanently extinguished in the living organism by a stronger one, if the latter (whilst differing in kind) is very similar to the former in its manifestations" means that the similar remedy is able to cure the patient because in nature too it has been observed that a weaker disease is automatically removed if the same patient contracts a similar but stronger disease. [11] Today, Homoeopathy is the 2 nd most used health-care system in the world. [12]
Gupta et al. [13],[14] published their clinical work on benign prostatic hyperplasia and had shown the usefulness of homoeopathic medicines. Patients with more than 20 g of prostate in ultrasonography were enrolled in the study, and prostate weight was the only parameter for assessment of treatment. No literature is available on role of homoeopathic medicines in patients with enlarged prostate with more than 50 g of weight so far in which two parameters, i.e., prostate weight and postvoid residual urine (PVRU), have been taken together. Taking presence and severity of symptoms into consideration, cases of huge enlargement of the prostate mostly undergo surgical intervention. Drug treatment can defer surgical intervention in prostatomegaly and is widely practiced.
To assess the usefulness of homoeopathic medicines in patients with huge prostatomegaly, a clinical study was conducted at Gaurang Clinic and Centre for Homoeopathic Research, Lucknow, India.
The study was conducted at Gaurang Clinic and Centre for Homoeopathic Research, Lucknow. Cases were shortlisted from the outpatient department record files from April 1995 to June 2015.
To assess the status of progression of disease, per abdominal ultrasonography for prostate weight and PVRU volume was done at registration and after every 3 months till the patient continued treatment.
More than 50 g of prostate weight on ultrasonography was the only inclusion criterion for the study.
A total of 667 cases of benign prostatic hyperplasia screened during the period, out of which 116 patients have been shortlisted with more than 50 g of prostate weight on ultrasonography. Rest 551 cases excluded due to prostatic weight <50 g on ultrasonography. Out of 116 who have been shortlisted, 61 found fit for the study as their pre- and post-treatment ultrasonography reports were kept safe in files [Figure 1].
Figure 1: Study flow diagram
Out of 55 patients who were dropped out, 22 were excluded due to unavailability of pre- or post-ultrasonography reports (though their case file was complete and findings were written manually) and 33 were excluded due to unavailability of PVRU volume in either pre- and/or post-treatment ultrasonography reports provided by an ultrasonologist.
The age of all 61 patients shortlisted for the study at the time of registration ranged from 50 to 86 years with mean (± standard error [SE]) of 66.66 ± 1.07 years.
The selection of constitutional medicine was done by repertorizing the rubrics obtained from life space investigation guided by totality of presenting signs and symptoms on the basis of "Principle of Similia," [11] using complete repertory with the help of Hompath Classic software in every case. [15] Selected constitutional medicine was dispensed in 30C, 200C, and 1000C potency according to the need of individual case, followed by placebo twice daily. Sabal serrulata mother tincture was given in every case due to its unquestioned value in prostatic enlargement. [16] A periodic biweekly or monthly follow-up of the cases was done till entire duration of treatment. The repetition of dose of selected medicine/second prescription was based on the response of the patient to the first prescription as mentioned in Kent's 12 observations. [17]
The average follow-up period of the whole study was 228 days, with mean (± SE) of 311.90 ± 31.42 days. Taking the views from ultrasonologists, changes more than 2 g in pre- and post-treatment prostate weight was considered for assessment of treatment. Decrease and increase of prostate weight more than 2 g in posttreatment ultrasonography reports in comparison to pretreatment report were considered as case of improvement and worsened, respectively, while changes within 2 g were considered as status quo.
Data were summarized as mean ± SE. Pre- and post-treatment data were compared by paired t-test. A two-tailed P < 0.05 was considered statistically significant. Analyses were performed on IBM SPSS Statistics software (Windows version 17.0).
The pre- and post-treatment prostate weight and PVRU of all 61 patients are summarized in [Table 1]. Paired t-test for the difference in mean of pre- and post-treatment prostate weight was found statistically significant (P < 0.001). Difference in mean of pre- and post-treatment PVRU also was found statistically significant (P < 0.009). After treatment, both prostate weight and PVRU were found to be decreased. On comparing, paired t-test showed significant decrease in both mean weight (10.9%) (mean ± SE: 67.47 ± 2.78 vs. 60.15 ± 3.62, mean difference [MD] = −7.32 ± 1.91, t = 3.83, P < 0.001) and PVRU (28.0%) (mean ± SE: 91.61 ± 11.91 vs. 65.94 ± 9.01, MD = −25.67 ± 9.49, t = 2.70, P = 0.009).
Table 1: Pre- and post-treatment status (mean±standard error, n=1)
The age and duration of treatment of patients ranged from 50 to 86 years and 78 to 1288 days, respectively, with mean (± SE) of 66.66 ± 1.07 years and 311.90 ± 31.42 days, respectively, and median of 65 years and 228 days, respectively.
Out of 61 patients, 39 (63.89%) improved, 7 (11.48%) remained status quo, and 15 (24.6%) worsened.
The details of prescribed medicine are summarized in [Table 2] which shows that two medicines were frequently prescribed to patients. These were Lycopodium (49.2%) and Pulsatilla (16.4%) accounting for 65.6% of the total medicines prescribed.
Table 2: Prescribed medicines and their effects (n=61)
The data of patients who were dropped out are given below. Total number of patients was 22; the age and duration of treatment of patients ranged from 41 to 90 years and 20 to 1426 days, respectively, with mean (± SE) of 70.82 ± 2.60 years and 279.55 ± 59.25 days, respectively, and median of 74 years and 208 months, respectively.
After treatment in 22 cases, prostate weight decreased while PVRU increased. On comparing, paired t-test showed significant decrease (24.5%) in mean weight (mean ± SE: 66.11 ± 2.82 vs. 49.90 ± 4.12, MD = −16.21 ± 3.16, t = 5.13, P < 0.001). However, mean PVRU did not differ between the two periods (mean ± SE: 118.78 ± 31.17 vs. 122.88 ± 24.39, MD = 4.10 ± 34.84, t = 0.12, P = 0.908), rather it increased by3.3%.
At final evaluation of 22 patients, 18 (81.8%) showed improvement, 2 (9.1%) patients worsened, and 2 (9.1%) remained status quo.
This was a retrospective study which has shown positive results in both diagnostic parameters of prostatomegaly, i.e., weight of prostate and PVRU.
This was a unique type of work in Homoeopathy as patients having enlarged prostate more than 50 g on ultrasonography have been included in the study. In the present study, the mean ± SE of the first parameter (prostate weight) at entry and end of follow-up was 67.47 ± 2.78 and 60.15 ± 3.62, respectively. The result showed decrease of 10.9% in prostate weight which is statistically highly significant (P < 0.001). Similarly, the means (± SE) of PVRU at entry and the end of follow-up were 91.61 ± 11.91 and 65.94 ± 9.01, respectively. This also showed decrease of 28% in PVRU which is also statistically significant (P = 0.009). The results support the fact that homoeopathic medicines are useful in reducing the prostate weight and PVRU in cases of prostatomegaly.
In the previous work of Gupta et al., [18],[19] both parameters, prostate weight and PVRU, were decreased after homoeopathic treatment; however, in the present study, pre- and post-treatment difference in prostate weight is statistically more significant (P < 0.001) as it was only significant decrease in previous studies (P < 0.01) by Gupta et al. [17],[18] and (P = 0.005) by Oberai et al. [20] Similarly, pre- and post-treatment changes in PVRU were not statistically significant (P > 0.05) in the previous studies by Gupta et al. [18],[19] and (P = 0.06) by Oberai et al. [20] while it is statistically significant (P = 0.009) in the present study. Constitutional medicine along with organopathic medicine may be the reason for better results as it was prescribed in every case in the present study. [21] Another reason for the better response in the present study may be of variable time frames of follow-up according to the demand of case, whereas in the previous studies, this time was limited to 1 year only.
For clinical improvement status, International Prostate Symptom Score was assessed in every follow-up in the previous study by Gupta et al., [17],[18] while in the present study, it was not universally followed in every case hence not taken as parameter for clinical improvement though more than 75% patients reported improvement in classical symptoms such as increased frequency of urination, hesitancy, and urgency before urination.
The most useful trial medicines in this study were Lycopodium and Pulsatilla, which are common to the constitutional medicines used in the previous studies by Gupta et al., [18],[19] Oberai et al., [20] and Reddy et al. [22] However, in the present study, S. serrulata mother tincture was also prescribed to the patients which was not used in the previous studies by Gupta et al., [18],[19] Oberai et al., [20] and Reddy et al. [22]
The above findings suggest that addition of S. serrulata mother tincture with homoeopathic constitutional medicines produced better response to the treatment by not only checking but also reverting the progression of prostatic enlargement effectively.
The outcome of this evidence-based study is encouraging. It proves that Homoeopathy can provide a safe, nonsurgical, and effective treatment to cases of huge prostatomegaly. However, randomized control trials are needed to further validate the role of homoeopathic medicines in case of huge prostatomegaly.
Berry SJ, Coffey DS, Walsh PC, Ewing LL. The development of human benign prostatic hyperplasia with age. J Urol 1984;132:474-9.
Roehrborn CG, Siami P, Barkin J, Damião R, Becher E, Miñana B, et al. The influence of baseline parameters on changes in international prostate symptom score with dutasteride, tamsulosin, and combination therapy among men with symptomatic benign prostatic hyperplasia and an enlarged prostate: 2-year data from the CombAT study. Eur Urol 2009;55:461-71.
Parsons JK, Kashefi C. Physical activity, benign prostatic hyperplasia, and lower urinary tract symptoms. Eur Urol 2008;53:1228-35.
Parsons JK, Carter HB, Partin AW, Windham BG, Metter EJ, Ferrucci L, et al. Metabolic factors associated with benign prostatic hyperplasia. J Clin Endocrinol Metab 2006;91:2562-8.
Michel MC, Heemann U, Schumacher H, Mehlburger L, Goepel M. Association of hypertension with symptoms of benign prostatic hyperplasia. J Urol 2004;172:1390-3.
Clifford GM, Farmer RD. Drug or symptom-induced depression in men treated with alpha 1-blockers for benign prostatic hyperplasia? A nested case-control study. Pharmacoepidemiol Drug Saf 2002;11:55-61.
Lepor H. Medical treatment of benign prostatic hyperplasia. Rev Urol 2011;13:20-33.
Clifford GM, Farmer RD. Medical therapy for benign prostatic hyperplasia: A review of the literature. Eur Urol 2000;38:2-19.
Roos NP, Wennberg JE, Malenka DJ, Fisher ES, McPherson K, Andersen TF, et al. Mortality and reoperation after open and transurethral resection of the prostate for benign prostatic hyperplasia. N Engl J Med 1989;320:1120-4.
Doll HA, Black NA, McPherson K, Flood AB, Williams GB, Smith JC. Mortality morbidity and complications following transurethral resection of prostate for benign prostatic hypertrophy. J Urol 1992;147:1566-73.
Hahnemann S. Organon of Medicine. 6 th ed. New Delhi B. Jain Publishers; 1994.
Chapman E. Homeopathy. In: Jonas WB, Levin JS, editors. Essentials of Complementary Medicine. Philadelphia: Lipincott Williams Wilkins (CD ROM); 1999.
Gupta G. Ultrasonographic assessment of benign prostate hypertrophy cases in response to homoeopathic drugs. Asian Homoeopath J 1994;4:10-7.
Gupta G, Naveen G, Vijay S, Madhu C, Mohan S. Evidence based study on cases of benign prostatic hyperplasia in response to homoeopathic drugs. Homoeopath Herit 2006;31:31-41.
Shah J. Complete Repertory of Hompath Classic (Version 8.0);Mumbai: Mind Technologies; 2006 (CDROM).
Boericke W. Pocket Manual of Homoeopathic Material Medica and Repertory. 9 th ed. New Delhi: B. Jain Publishers; 1994.
Kent JT. Lectures on Homoeopathic Philosophy. New Delhi: B. Jain Publishers; 2008.
Gupta G, Singh JP, Tandon S, Singh S, Nayak C, Singh Hari, et al. Evidence based clinical study to assess the usefulness of homoeopathic medicines in patients of Benign prostatic hyperplasia. Indian J Res Homoeopathy 2010;449-56.
Gupta G, Singh JP, Tandon S, Singh S, Nayak C, Singh Hari, et al. Evidence based clinical study to assess the usefulness of homoeopathic medicines in patients of Benign prostatic hyperplasia. Am J Homoeopath Med 2012;105:63-9.
Oberai P, Roja V, Ramesh D, Arya DD, Reddy GR, Sharma SK, et al. Homoeopathic medicines in the management of benign prostatic hyperplasia: A multicentric prospective observational study. IJRH 2012;6:16-25.
Hati AK, Paital B, Naik KN, Mishra AK, Chainy GB, Nanda LK. Constitutional, organopathic and combined homeopathic treatment of benign prostatic hypertrophy: A clinical trial. Homeopathy 2012;101:217-23.
Reddy GR, Oberai P, Singh V, Nayak C. Treating benign prostatic hyperplasia in elderly men with homoeopathy-A series of eleven cases. Indian J Res Homoeopathy 2009;3:37-40.
Gupta G
Singh S
Post void residual urine volume
Prostate weight
Prostatomegaly
Retrospective study


text:
Edoardo Garzena (Torí, 4 de maig de 1900 - Torí, 26 de maig de 1984) va ser un boxejador italià que va competir en els anys posteriors a la Primera Guerra Mundial.

El 1920 va prendre part en els Jocs Olímpics d'Anvers, on guanyà la medalla de bronze de la categoria del pes ploma, del programa de boxa.

Entre 1921 i 1927 passà a lluitar com a professional, amb un balanç de 15 victòries, 8 derrotes i 4 per decisió.

Referències

Medallistes italians als Jocs Olímpics d'estiu de 1920
Boxejadors italians
Esportistes torinesos
Morts a Torí
Morts el 1982


Fill out our PROPERTY SEEKER and we will find your preferred property for sale in the Algarve and Portugal.
The Algarve has a wonderful choice of Properties for Sale in a variety of locations, near the golf course, in the heart of the countryside, or on one of the several exquisitely planned resorts.
Please select from the left menu to navigate AlgarveWeb.


text:
News Students Go Back In Time! 30.11.2022
Collyer's welcomed Dr Jodie Fisher from the University of Plymouth to the college to run a workshop with geology, environmental science, and biology students.
Dr Ian Carr, Collyer's head of geology and assistant director of faculty, explained: "Jodie was due to give the workshop in February, but unfortunately Storm Eunice closed all Sussex schools and colleges. On that occasion, she gave a talk via Zoom from the Horsham Premier Inn lounge!
"However, this time we were delighted to finally welcome Jodie to the college in person, to run a fascinating workshop on using microfossils to track climate change. Microfossils are studied as part of the A-level Geology course, so it was a great opportunity for our students to learn about their uses from an expert."
Jodie, who is also founder of the 'Girls into Geoscience' group, brought samples of microfossils to the workshop, and gave students the rare chance to analyse them using binocular microscopes.
The session was part of the Kirsty Brown Series, which focus on geology and the environment, in memory of geologist and marine biologist Kirsty Brown, who studied geology at Collyer's and was also a former colleague of Ian Carr. The fund is generously covering the costs of trips, talks and a number of activities in this area, to help educate and inspire young people.
Ian Carr, who is also Collyer's Sustainability Co-ordinator, added: "Colossal thanks to Jodie, the science technicians Philip Hardy and Tammy Wilson, and Geology Curriculum Support Officer Penny Fenton for making this day possible. They have been brilliant!"
Dr Jodie Fisher (front) with Collyer's students


text:
How to Succeed in an Interview for an Internal Job Position
by Chris Miksen
Match an external candidate's professionalism and you might find yourself agreeing to the new position.
Whether you've been with an organization for one year or 20 years, moving to another position within the company typically requires an interview. If the company's considering external candidates, your inside knowledge might give you the advantage, but don't let it go to your head. Pretending you're a new blood with some secret knowledge of the company's inside workings gives you the best chance to land the job.
Explain why you can make the jump from your current position to a new one within the company. Stay away from statements that you can't reinforce with solid examples or prior experience. For instance, suppose you're a salesperson interviewing for the position of sales manager. Explaining you know how to manage a team and get results from people might sound good, but unless you have that experience, these statements might sound hollow. Instead, explain you know what it takes to make sales from years of success in the position. You would tap into your outstanding people skills to coach your team to use your knowledge and experience to be productive. You could expand on that by citing a previous situation in which you helped a co-worker increase her sales.
Go into the interview with your weaknesses in mind. Although you're interviewing for a position within a company you already work for, the interviewer may not know what kind of employee you are. Even if she does, she may want to know that you can take an accurate stock of your shortcomings, especially if you're gunning for a management position. Have two weaknesses in mind, and show how you're improving those weaknesses.
Counter your weaknesses with two strengths. Mention strengths that relate directly to the position you're after. Forget about strengths that won't factor into or will play only a small part in that position. You need to convince the interviewer that you have what it takes to succeed in your new job, not the one you already have. For example, suppose you're a programmer interviewing to be a game designer. You have great talent for writing clean code, but that's not a valued skill for a designer. A better strength to tout would be your ability to take a bunch of different ideas and plans and assimilate them into one big, organized picture.
Talk about current challenges associated with the position and explain clearly how you would fix them. For instance, put yourself in the shoes of a general manager in a successful chain restaurant. You're interviewing for a district manager position. Several restaurants in the district are losing money. Point that out before touching on ways you'd put the eateries back in the black by using strategies that have helped your restaurant succeed. Remember that the position in question will always have room for improvement, even if it's something small. It's your job to find out what needs improved and then brainstorm how to implement those improvements.
Approach the interview as professionally as possible. You might interview with someone who you know and talk to on a regular basis, so it's easy to walk into the interview in a complacent manner. But don't think of yourself as the leading candidate for the new job, and don't believe that your relationship with the interviewer means you can skip the professionalism. Dress like you would for any other interview, sit upright, maintain eye contact and answer questions in a serious manner. Don't joke it up with the interviewer, or put little thought into your answers. Act like you're competing with a list of qualified candidates; your goal is to convince the interviewer that you're the hands-down best choice for the job.
In order to cite challenges associated with the position you're after, you may need to talk to other employees who are more knowledgeable of the situation. For example, you're likely aware of the problems that plague your department, but less knowledgeable of problems in other departments
Do not make note of weakness that will take you out of the running for the job. Throwing in the fact that your leadership could use some work when you're interviewing to become a supervisor will likely hurt your chances.
Hull Strategies LLC notes you may face questions regarding past performance issues you've had with the company and advises explaining how you've grown and learned from those situations.
CBS Money Watch: Why Do I Have to Interview for an Internal Promotion?
Hull Strategies: Ace the Internal Job Interview
Located in Pittsburgh, Chris Miksen has been writing instructional articles on a wide range of topics for online publications since 2007. He currently owns and operates a vending business. Miksen has written a variety of technical and business articles throughout his writing career. He studied journalism at the Community College of Allegheny County.
What Are Some Weaknesses That Could Affect Job Performance?
What to Take to a Barbizon Interview
How to Email a Follow-Up Letter After an Interview
What If You Can't Think of a Weakness in an Interview?
Icebreaker Topics at a Job Interview
How to Write a Personal Profile for an Interview
What Should You Say Is Your Strongest Attribute in an Interview?
How to Greet Your Interviewers
Unique Ways to Stand Out at Executive Job Interviews
Promotion Interview Questions
Acceptable Strengths & Weaknesses in Job Interviews
How to Write Internal Resumes
Resumes & Cover Letters for a Change of Career
How to Write an Email Seeking a Job
Resume Tips After Being Fired
What to Take to a Retail Interview


text:
Chenu Alexis
Isabelle Crossley
Etudes Studio launches eyewear line
In June, Etudes Studio presented its 11th fashion show on the rooftops of Paris and took the opportunity to launch its new line of glasses. Led by the design-trio Aurélien Arbet, Jeremie Egry, José Lamali, the Paris-based brand has embarked on this new adventure after several fruitful collaborations, including with the brand Retrosuperfuture.
Etudes Studio's new eyewear line - Adam Katz Sinding
"We were looking for more experience, the stage of creation, which consists of imagining new shapes and new models that really represent us," said Aurélien Arbet. "Always with the same idea of bringing a new idea into a timeless silhouette."
The glasses feature minimal structures, metalwork, and a nod to some brand signatures such as the carnation on the temples of the glasses which is the same as the brand uses on its sweaters and pants. The brand's "é" logo also features and Etudes Studio's first glasses launch shows the values of the band and presents a collection with a wearable and unisex spirit.
The line is designed in Paris and produced and distributed by Peter & May (founded by Laura Le Bihan and Xavier Matrand), which also produces eyewear for Jacquemus. The Etudes Studio eyewear line is made in China.
The eyewear line retails from Etudes Studio's store on Rue Belleyme in Paris' third arrondissement and its counter in Galeries Lafayette as well as in around half of brand's global resellers. It is also available across Peter & May's network of opticians with exclusive rights given to Marc Le Bihan stores for the first few weeks of the launch. The brand will also take part in the upcoming Silmo trade show which will run from September 27 to 30 at Paris' Nord-Villepinte.
"Our aim is to bring a more fashionable vision to opticians," said Arbet. "This is what we reflected in our collection which includes models sold with a separate chain which can be clipped on to the frames."
The brand's glasses retail for €255 ($281.19) a pair and each model is limited to 300 models which gives the line an accessible creative positioning. New models will be released after the brand's January 2020 runway show and will focus on acetate.
Etudes Studio was launched in 2012 and generates over €3 million in sales. The brand retails through its dedicated e-commerce shop and across 120 multi-brand outlets across the world.
The Kooples in eyewear debut via Retrosuperfuture deal
Creative energy, sophisticated design mark end of Milan Fashion Week Men
Rising star Marcelo Burlon shines in Milan
Renzo Rosso's Red Circle acquires majority stake in Retrosuperfuture eyewear brand
Retrosuperfuture launches collaboration sunglasses with The Webster at Lane Crawford
Gosha Rubchinskiy launches eyewear
Retrosuperfuture debuts collaboration eyewear with Mark Gonzales
Carhartt WIP and Retrosuperfuture unveil 4th collaboration


text:
Tom Shanahan
College Football Share
This may be year we see best of Kendall Hinton
Wake Forest quarterback's breakout in 2016 ended with season-ending injury
Photo: Kendall Hinton
Wake Forest should be welcoming back one of the most dynamic quarterbacks in the nation in 2018. Kendall Hinton has Lamar Jackson-like electricity with his feet and possesses a stronger arm than opponents understand.
In one of Wake Forest's spring scrimmages, Wake Forest coach Dave Clawson profusely praised his defense, yet on that day Hinton still managed to run for 109 yards on 13 carries.
Click here for the AllSportsDiscussion link
The 6-foot, 195-pound redshirt junior from Southern Durham High came out of the spring listed as the No. 1 quarterback to replace John Wolford, who threw for 3,192 yards as a senior last fall. Redshirt sophomore Jamie Newman is No. 2 and true freshman Sam Hartman, who enrolled in January after graduating early, is No. 3.
But instead of Wake Forest and Clawson feeling secure, they're still hoping Hinton can reach his potential in 2018. The problem hasn't been effort or commitment. It was a season-ending injury in the third game of the 2016 season.
Hinton had shown plenty of flashes once he arrived in Winston-Salem. He started two games as a true freshman in 2015 while mostly backing up John Wolford.
In 2016, Wolford was the returning starter while splitting time with Hinton in season-opening wins over Tulane and Duke. But in the Duke victory, Hinton played the final two-and-a-half quarters to lead the 24-14 upset in his hometown. He ran for 63 yards on 11 carries and completed 6-of-11 passes for 133 yards.
Clawson named Hinton his starter for the third week against Delaware at home. Wake Forest improved to 3-0, but without Hinton. He suffered a knee injury that ended his season. He was later granted a medical redshirt, which makes him a redshirt junior instead of down to his final season.
Wolford took advantage of the open door. He finished 2016 leading Wake Forest to its first bowl game since 2011 and a 7-6 record. The maturity he gained led to him holding the starting job in 2017. He threw for 3,192 yards as Wake Forest finished 8-5.
Now Hinton faces holding off two younger quarterbacks rather than unseating a returning starter. Wake Forest's rebuilding success under Clawson has improved to higher-ranked quarterbacks.
Newman was the No. 16-ranked dual-threat quarterback in the nation in the Class of 2017. Hartman was the No. 12 pro-style quarterback in 2018. The only reason Hinton wasn't ranked higher than the No. 26 dual-threat QB in 2015 was his lack of height, which is actually shorter than 6-0 despite how he is listed.
Clawson at least has more depth at quarterback than he's ever had in Winston-Salem if Hinton hasn't yet locked down the starting job.
"I think the gap between all of those guys probably got tight through the spring," Clawson said. "Kendall had a really good spring. Just the spring game was erratic. The scrimmage the week before, he was 12 of 18, and the practice we had on Tuesday after the spring game, he was really sharp. I mean, he probably hit 9 percent of his passes there."
In the spring game on April 7, Newman (6-4, 235) led the Gold team to a 26-6 victory. He threw for 128 yards.
Hinton ran for 118 yards, but in the 40-degree temperature with misty rain he completed only 5-of-17 passes for 21 yards. But the running yards might have been more if it wasn't hands off the quarterback.
"Kendall was erratic (passing)," Clawson said. "He can make plays with his feet. If it was live today, he may have scored two or three touchdowns."
Hinton has the feet to slice up a field in the manner of Lamar Jackson, Louisville's 2016 Heisman Trophy winner and 2018 first-round NFL draft pick of the Baltimore Ravens.
What remains to be seen is if he can hit enough passes and can stay healthy.
I invite you to follow my stories on Twitter @shanny4055
tom.shanahan.965 shanny4055 tomshanny4055@gmail.com
Tom Shanahan is an award-winning sportswriter and the author of "Raye of Light". Tom spent the bulk of his career in San DIego writing for the San Diego Union-Tribune. He has covered NCAA Tournaments, Super Bowls, Rose Bowls, the NBA Finals and the World Series in a career that included writing for Voice of San Diego, the San Diego Hall of Champions and Chargers.com. He contributes to the Detroit Free Press, Raleigh News & Observer, MLB.com, Rivals.com and the National Football Foundation's Football Matters. He won multiple first-place awards from the San Diego Press Club and first place from the Copley News Service Ring of Truth Awards. The National Football Foundation/San Diego Chapter presented him its Distinguished American Award in 2003. USA Track and Field's San Diego Chapter presented its President's Award in 2000.
Raye of Light: Jimmy Raye, Duffy Daugherty, the integration of college football and the 1965-66 Michigan State Spartans. It explains Duffy Daugherty's pioneering role and debunks myths that steered recognition away from him to Bear Bryant.
By Tom Shanahan; Foreword by Tony Dungy; August Publications
http://shanahan.report/a/the-case-for-duffy-and-medal-of-freedom
David Maraniss, Pulitzer Prize winner and biographer: "History writes people out of the story. It's our job to write them back in."
Click here for the link to purchase book from August Publications
Tags Wake Forest, Kendall Hinton, Dave Clawson, Sam Hartman, Jamie Newman, Southern Durham, College Football,
Todd Peat Sr parental advice has been to step back
Mariota path to Heisman began with Bob Apisa
McNeill recognizes path Raye helped clear to Birmingham
Four Hall of Fame Horsemen of Michigan State
Dantonio is Michigan State Destination Man
Graves sheds new light on Michigan State 1974 goal line stand
Herm Edwards on understanding the Sixties
Arizona State coach Herm Edwards offered an observation about young athletes, breaking into his...
Click here for July 31 Free Press story on Men of Sparta at Traverse City Film FestivalA decade ago...
Pierre moves from emergency RB to game plan
DURHAM, N.C. – Two weeks ago Nicodem Pierre moved from quarterback to running back as an...
Coach K explains difference between defending and reigning
DURHAM, N.C. – Duke's "reigning national champions" opened their Cameron Indoor Stadium doors...
Virginia Tech tests Duke and newfound stature
DURHAM, N.C. — This is how far David Cutcliffe has lifted Duke's once hapless football program: The...
Duke bounce back may depend on Jefferson return
Duke basketball entered Monday night's loss to Syracuse ranked 167th in the nation in defensive...
Sirk injury may make Jones the starter
DURHAM, N.C. – On Tuesday afternoon, Duke offensive coordinator Zac Roper discussed the rapid...
A half-century ago the NFL Draft was so low key and simple NFL commissioner Pete Rozelle stood at a...
A look back to 2002 at Fox as new Carolina head coach
CHARLOTTE, N.C. -- The Carolina Panthers' practice field and the coaches' offices in Ericsson...
Men of Sparta website and trailerSome Shanahan Report readers have asked for an update on the...
Michigan State and Big Ten top nation at doubling up
We've always known Michigan State football coach Mark Dantonio and basketball...
Six cases for Michigan State Hall of Fame
A key debate point among Pro Football Hall of Fame voters basically applies to any athletics hall....
Homecoming weekend honors national championship teams
Michigan State's 1965 and 1966 national championship teams broke too much ground to be limited to a...
Raye MLK Day guest on Drive with Jack
Jimmy Raye was a guest on Martin Luther King Day on The Drive with Jack and Tom on their sports talk...
No Inspector Renault moments around Izzo
Sportswriters are both romantics and cynics. That's why Inspector Renault, a cynical character in...
Welcome to the Conference of Pioneers
To Kevin Warren: Welcome to the Big Ten Conference. Congratulations on being named the historic...
Michigan State halfback Clinton Jones' election to the College Football Hall of Fame earlier this...
Here is why CFP selections angered Woody
If you think the College Football Playoff committee selecting Alabama, Clemson, Ohio State and...
Miami turns into a team to like
\We suddenly have reason to root for Miami, thanks to Georgia castoff Mark Richt as the Hurricanes'...
My 2008 story on San Diego sports legend and DB Cooper
Watching the recent History Channel documentary on D.B. Cooper reminded me of a story I wrote in...