text:
module Locomotive
  module Render

    extend ActiveSupport::Concern

    protected

    # Render a Locomotive page from the the current site and both the params[:page] / params[:page_path]
    # attributes OR the request fullpath if those params are not present.
    # If the page corresponds to a redirect, then a 301 or 302 redirection is made.
    # If the page is templatized, the target content entry is retrieved and attached to the
    # Liquid context.
    #
    # @param [ String ] path The path can be forced (optional)
    # @param [ Hash ] assigns The liquid context passed to the page can be enhanced by assigns coming from the controller for instance.
    #
    def render_locomotive_page(path = nil, assigns = {})
      if request.fullpath =~ /^\/#{Locomotive.mounted_on}\//
        render template: '/locomotive/errors/404', layout: '/locomotive/layouts/not_logged_in', status: :not_found
      else
        @page ||= self.locomotive_page(path)

        if @page.present? && @page.redirect?
          self.redirect_to_locomotive_page and return
        end

        render_no_page_error and return if @page.nil?

        output = @page.render(self.locomotive_context(assigns))

        self.prepare_and_set_response(output)
      end
    end

    # Redirect to the url given by the redirect_url field of the
    # Locomotive page. If we are in the editing mode, the "_edit" prefix
    # will be added as well.
    #
    def redirect_to_locomotive_page
      redirect_url = @page.redirect_url

      redirect_url = "#{redirect_url}/_edit" if self.editing_page?

      redirect_to(redirect_url, status: @page.redirect_type)
    end

    # Render the page which tells that no page exists.
    # This case should not happen since all the sites contains
    # the "Page Not Found" page.
    #
    def render_no_page_error
      render template: '/locomotive/errors/no_page', layout: false
    end

    # Prepare and set the response object for the Locomotive page retrieved
    # from the path. The caching (with Varnish for instance) if defined is done here.
    # It is also here that the content type of the request is set (html or json).
    # Behind the scene, it just calls simply the Rails render method.
    #
    # @param [ String ] The rendered Locomotive page
    #
    def prepare_and_set_response(output)
      flash.discard

      response.headers['Content-Type']  = "#{@page.response_type}; charset=utf-8"
      response.headers['Editable']      = 'true' unless self.editing_page? || current_locomotive_account.nil?

      if @page.with_cache?
        fresh_when etag: @page, last_modified: @page.updated_at.utc, public: true

        if @page.cache_strategy != 'simple' # varnish
          response.headers['Editable']      = ''
          response.cache_control[:max_age]  = @page.cache_strategy
        end
      end

      render text: output, layout: false, status: page_status unless performed?
    end

    # Tell if the current Locomotive page is being edited.
    #
    # @return [ Boolean ] True if being edited.
    #
    def editing_page?
      !!@editing
    end

    # Get the symbol matching the status of the current Locomotive page.
    # It can be either :ok or :not_found (404)
    #
    # @return [ Symbol ] :ok if the page is not the "Page not found" one.
    #
    def page_status
      @page.not_found? ? :not_found : :ok
    end

    # Get the Locomotive page matching the request and scoped by the current Locomotive site
    #
    # @param [ String ] path An optional path overriding the default default behaviour to get a page
    #
    # @return [ Object ] The Locomotive::Page
    #
    def locomotive_page(path = nil)
      # TODO: params[:path] is more consistent
      path ||= (params[:path] || params[:page_path] || request.fullpath).clone

      path = self.sanitize_locomotive_page_path(path)

      current_site.fetch_page path, current_locomotive_account.present?
    end

    # Clean the path that can be understood by Locomotive in order to retrieve
    # the matching Locomotive page (see the locomotive_page method)
    #
    # @return [ String ] The path to the Locomotive page
    #
    def sanitize_locomotive_page_path(path)
      path = path.split('?').first # take everything before the query string or the lookup fails
      path.gsub!(/\.[a-zA-Z][a-zA-Z0-9]{2,}$/, '') # remove the page extension
      path.gsub!(/^\//, '') # remove the leading slash

      path = 'index' if path.blank? || path == '_edit'

      path
    end

    # Build the Liquid context used to render the Locomotive page. It
    # stores both assigns and registers.
    #
    # @param [ Hash ] other_assigns Assigns coming for instance from the controler (optional)
    #
    # @return [ Object ] A new instance of the Liquid::Context class.
    #
    def locomotive_context(other_assigns = {})
      assigns = self.locomotive_default_assigns

      global_assigns = Locomotive.config.context_global_drop.inject({}) do |h, v|
        drop = ('@' + v).to_sym
        h[v] = self.instance_variable_get(drop)
        h
      end

      # proxy drops
      assigns.merge!(Locomotive.config.context_assign_extensions).merge!(global_assigns)

      # process data from the session
      assigns.merge!(self.locomotive_flash_assigns)

      assigns.merge!(other_assigns)

      if defined?(@page) && @page.templatized? # add instance from content type
        content_entry = @page.content_entry.to_liquid
        ['content_entry', 'entry', @page.target_entry_name].each do |key|
          assigns[key] = content_entry
        end
      end

      # Tip: switch from false to true to enable the re-thrown exception flag
      ::Liquid::Context.new({}, assigns, self.locomotive_default_registers, false)
    end

    # Get the assigns from the flash object (session). For instance, once
    # a new content entry has been submitted, the new instance is available
    # after redirecting the user to the success locomotive page.
    #
    # @return [ Hash ] The sanitized assigns from the flash object
    #
    def locomotive_flash_assigns
      assigns = flash.to_hash.stringify_keys

      if entry_id = assigns.delete('submitted_entry_id')
        entry = Locomotive::ContentEntry.find(entry_id) rescue nil

        if entry
          assigns[entry.content_type.slug.singularize] = entry.to_liquid
        end
      end

      assigns
    end

    # Return the default Liquid assigns used inside the Locomotive Liquid context
    #
    # @return [ Hash ] The default liquid assigns object
    #
    def locomotive_default_assigns
      {
        'site'              => current_site.to_liquid,
        'page'              => @page,
        'models'            => Locomotive::Liquid::Drops::ContentTypes.new,
        'contents'          => Locomotive::Liquid::Drops::ContentTypes.new, # DEPRECATED
        'current_page'      => self.params[:page],
        'params'            => self.params,
        'path'              => request.path,
        'fullpath'          => request.fullpath,
        'url'               => request.url,
        'now'               => Time.now.utc,
        'today'             => Date.today,
        'locale'            => I18n.locale.to_s,
        'default_locale'    => current_site.default_locale.to_s,
        'locales'           => current_site.locales,
        'current_user'      => Locomotive::Liquid::Drops::CurrentUser.new(current_locomotive_account)
      }
    end

    # Return the default Liquid registers used inside the Locomotive Liquid context
    #
    # @return [ Hash ] The default liquid registers object
    #
    def locomotive_default_registers
      {
        controller:     self,
        site:           current_site,
        page:           @page,
        inline_editor:  self.editing_page?,
        current_locomotive_account: current_locomotive_account
      }
    end

  end
end


Recently we held the second of four Visionmaker programs, The Vision of the Heart. It was well attended, with many of those who took Vision 2010 returning for the second installment. These programs were quite different and the remaining two programs will be as well.
The feedback has been very positive for both offerings. "Life altering," has been mentioned as a positive outcome from the work so far.
The Vision of the Heart focussed on Angeles Arrien's model of The Four-Chambered Heart. Anatomically, the heart has four distinct chambers and in some traditional societies, these chambers have been recognized with visionary functions.
The full, open, clear and strong heart are the home of vision. When we are full, open, clear and strong-hearted, we can see what has heart and meaning.
If the heart becomes half, closed, filled with doubts, or weakens, it becomes difficult to see who or what is most important to our happiness and well-being.
The Vision of the Heart program focussed on unburdening the heart and reclaiming our visionary compass. We worked with practices of reflection, dialogue, time in nature, ritual and journeying as the access points to seeing next steps in personal leadership, relationships, work and community involvement.
Our next offering is The Cycle of Visionmaking, September 25, 26 in Toronto. The Cycle of Visionmaking program will feature the central practices of vision work. You are most welcome to join us, whether you have participated in other workshops with us, or if it is your first time. The groups are friendly and inclusive.
For more information, please visit our website at www. extraordinaryconversations.com. I hope to see you there.
Posted on May 10, 2010 by Patrick O'Neill and filed under Updates.
Many of you have asked, "Where the heck is the book?"
It's currently out in the world seeking a publishing home. I never thought it would take this long to go from what I believed to be a finished manuscript to a book available for purchase. As a first time author, there is a lot I don't know about publishing a book.
1. What you think is obvious and clear doesn't make it so because of the strength of your belief. Feedback strengthens your ability to connect.
2. Telling people that a book is coming needs to be carefully managed so that there isn't such a long gap between blabbing about it and delivering the product. Duh.
3. There's more to publishing than just writing a book. It's a business in the middle of massive changes. Ultimately, art and commerce must converge. An author needs to understand the requirements of both writing and marketing. I'm learning.
4. Reading ain't what it used to be. People seem to want their spiritual nutrition in concentrated, easily digestable bites. The Visionmaker is demanding and that goes against the trend.
5. Finding the right partnership between an author and a publisher is like meeting your mate. It requires tenacity, resiliency and commitment.It can take a while.
6. Rejection is normal. You can't take it personally or see it as a condemnation of your work.
7. The process of writing is initiatory. It demands that you create something from nothing every day. Whether your work gets published or not, you are a stronger person as a result.
8. Persistance is everything. Taking positive steps every day keeps the process of creativity rolling along and staves off the temptation to become impatient.
9. Sometimes, it's better to give yourself some time to re-read your manuscript several months after you think it's finished. You'll discover a whole world of ways to improve on what you thought was perfect. You see things on the page that were previously invisible, revelations that are less than becoming. Self-hynosis is an early stage of delusion.
10. Never tell anyone that you have completed a second book prior to publishing the first one. Ooops.
Posted on March 3, 2010 by Patrick O'Neill and filed under Updates.


Dispatch #1: Months of preparation and training are now behind us. We had our final group Q&A meeting for the members of the expedition. Everyone looked extremely strong and ready to go. Here's a run down of the team roster.
Our team is preparing their gear, wrapping up loose ends at work and running those last few miles to get the last burn before leaving. Next stop, Kathmandu Nepal!


Our Dental Clinic Is Located Only 12 Minutes from Frankston. We Have Been Providing The Best Dental Care to The Community In The Frankston for Years. Speak To Dentists You Can Count On, Call The Smile Place Today!
Frankston is a suburb of Melbourne in Victoria, located about 55 km south east of the Melbourne CBD and just north of the Mornington Peninsula. Frankston is a part of the local government area of the City of Frankston. Frankston is often referred to as the gateway to the Mornington Peninsula as a result of its location. Frankston is well known for its beach and fast growing city.
and bring it with you on your first visit with us.


[prMac.com] 360Works, one of the foremost FileMaker product developers formally announces their newest creation, AdminAnywhere (v1.03), a tool that enables remote, reliable and user-friendly administration for FileMaker Server 8 or 9. Specifically built and optimized for mobile devices such as the iPhone, Treo, or similar, the tool bridges the lines of communication between the server and the ability to remotely administer to its needs, anywhere in the world (with internet access).
Jesse Barnum, President of 360Works provided this insight: "With the mobile devices gaining huge traction in the marketplace, the timing seemed perfect to launch a product that allowed FileMaker server support personnel to unchain themselves from their desks. With AdminAnywhere, you can be alerted and fix FileMaker server-based issues on-the-fly. All we've done is place the tools typically available to you on your laptop or desktop, in the palm of your hand. Not that we recommend administering a database while skiing down a mountain in Colorado, but it can be done just as easily as if you were sitting in your office chair staring at the monitor - just with a bit more excitement, of course."
Jesse Barnum adds: "The 360Works team prides itself on the fact that as an administrator you can count on AdminAnywhere to offer the same rich functionality whether you're using your iPhone or at your desk. There is no watered-down featured set, you can rely on AdminAnywhere to remain consistent no matter where it's being accessed. Since it's a 'bookmarkable' URL and keychain-compatible, opening and closing databases take only three clicks and about five seconds. You're able to administer multiple servers with a simply click on a separate browser tab - it's just that easy.
It was our goal to take the notion of remote FileMaker server administration to the next level, providing a powerful product in a straightforward, uncomplicated package. We believe AdminAnywhere does just that."
360Works is offering an exclusive limited-time 10% discount to members of the FMPug community. The discount expires 15 December 2007.
360Works, a FileMaker Platinum Business Alliance member, has been providing FileMaker-based solutions for over 11 years. Located outside Atlanta, GA, the company provides both shrink-wrapped and custom database designs solutions for clients such as NASA, Bernard Hodes Group, US Marines, Make-A-Wish foundation among many others. The company is credited for its forward-thinking solutions, dedication and incredible client service.


Shot in March 2008, then slowly trickled into international markets starting in 2010, 6 Souls casts Julianne Moore as a widowed, grieving psychiatrist who encounters a strange patient with apparent multiple-personality disorder -- and whose other personalities appear to be murder victims. It opens locally on Friday at the Cinemark Valley Fair in West Valley.
At the time of this posting, 6 Souls was batting an impressive .000 at Rotten Tomatoes, having earned not a single "Fresh" review out of 14 posted. Keith Phipps of Time Out New York described it as "ill-conceived in ways unimagined even in the loopy extremes of similarly head-scratching, head-shrinking films;" Chuck Bowen of Slant Magazine opines, "You'll wish that a demon would just hurry up and displace [Moore]'s soul already, if only to put an end to all the phony theological bickering."
If you're feeling brave enough to see it anyway, share with us whether you think the five-year wait for 6 Souls was worth it.


text:
John C. Maxwell: 4 Ways to Help Your Team Surge Forward
By John C. Maxwell | January 26, 2015 | 0
Perhaps you wouldn't be surprised to know that a locomotive traveling 55 mph could crash right through a 5-foot-thick steel-reinforced concrete wall without stopping. But do you realize that the same train, starting from a stationary position, wouldn't be able to roll over an inch-thick block placed in front of its driving wheel?
There's an important lesson here that applies to your work as a leader: The size of your problem generally isn't your problem. Instead it's a lack of momentum that's stalling you at the train yard. Without momentum, even the smallest obstacle can prevent you from moving forward. But with it you can plow through anything.
A couple of years ago I met Alan Mulally, the former CEO of Ford Motor Co. In 2006 Mulally took over a company that was $12.7 billion in the red and contemplating a federal bailout request. Only four years later, profits had jumped to $6.6 billion, the most in a decade. By the time he left Ford in July 2014, the automaker's first-quarter net income was $989 million, marking the 19th consecutive profitable quarter. With the rest of Detroit reeling, Mulally had accomplished the turnaround without federal money.
Imagine my excitement when I got to sit down with him and ask how he did it. The answer was actually pretty simple. He asked his managers to file weekly color-coded status reports: green for good, yellow for trouble and red for failing.
Given Ford's state, you would think Mulally saw all sorts of red in that conference room. But at his first meeting, he was inundated with green. Mulally looked at his team and asked how everything could be so good in a company that had just lost $12 billion. Surely there were a few problem areas that needed special attention.
But Mulally's team refused to budge. No one wanted to report failure to the new CEO.
Still, Mulally stuck with the process. Finally, after a couple of weeks, one manager held up a bright red light, indicating problems with a new vehicle launch. All of the managers at the table held their breath, waiting to see how Mulally would respond.
He began to clap. Vigorously. Mulally knew he'd broken the culture of fear and blame that had permeated the company. He turned to the executive and asked what the group could do to help more. The manager briefly explained his situation, and within minutes his colleagues had rallied around the problem to offer solutions and resources to get the launch back on track.
At the next meeting, the room was a rainbow of green, yellow and red, and Mulally realized the turnaround had begun—not because the situation had changed, but because the attitudes had changed.
He later explained in an interview with National Public Radio's Marketplace, "The minute that people don't feel safe, the minute they get yelled at, or it's them [and not the issue] that you're going after, then everything will always be green and you'll know nothing."
I love that story because it highlights an important truth in leadership. Most people walk around flashing green lights even when they are struggling. They keep lying to themselves and others, and they keep failing. That institutional dishonesty prevented Ford's momentum. Mulally had the vision, honesty and commitment to get people on his team. The shift in attitude and new feeling of corporate safety is what got the company chugging again.
Remove the Blocks to Momentum
Consider your own corporate culture and scrutinize your team for signs that people are being less than straightforward with you. If you need to make breakthroughs with your staff, consider these actions:
Set an expectation of clear accountability. It's pretty tough to encourage accountability if no one knows what he or she is responsible for. Take away any confusing gaps in responsibility, and your people will adapt to new roles and grow in their current ones. The entire team will benefit. People are more likely to own up to a problem when they know what they own.
Recognize and applaud transparency. The moment Mulally clapped his hands and offered assistance rather than punishment to his struggling manager is the moment everything changed at Ford. In that instant, Mulally began to develop trust with his people. Without trust it is impossible to build relationships. Without relationships you cannot inspire change.
Focus on solutions. When your people learn that you are more concerned about solving problems than casting blame, you'll win their confidence. Model a solution-oriented attitude, and your team will follow.
Unleash the resources of your team. Mulally demonstrated a very important aspect of leadership—getting people to work as a team. Each week the entire group took a grand view of all projects to determine what needed special help and who in the room could supply it. Mulally encouraged his managers to be generous with their time, expertise, resources and ideas; in other words, to act like a team. As the leader, you are in the best position to encourage this.
In physics, the first law of motion says that a body at rest will remain at rest, and a body in motion will remain at the same uniform speed unless an external force acts upon it. Consider your own company. Is it stuck? Is it inching along? Worse… is it speeding downhill?
You are the external force. Initiate the conversations that can spark a turnaround—discussions of clear accountability, teamwork, trust and transparency. That's how momentum starts.
Are you a good leader? Check out the 15 traits of a terrible boss to see if there's anything you should fix, stat.
John C. Maxwell, an internationally respected leadership expert, speaker, and author who has sold more than 18 million books, has been named an inaugural SUCCESS Ambassador. Dr. Maxwell is the founder of EQUIP, a non-profit organization that has trained more than 5 million leaders in 126 countries worldwide. A New York Times, Wall Street Journal and BusinessWeek; best-selling author, Maxwell has written three books that have sold more than a million copies.
https://www.success.com/author/john-c-maxwell/
John C. Maxwell: The New ABCs of Loving Your Job
John C. Maxwell: 5 Reasons Why Dreams Don't Take Flight
John C. Maxwell: Instead of Complaining, Remember These 10 Things
← How to Use Sad Visions for a Happier NowHow to Solve 3 of Tech's Biggest Time-Wasters →

redpajama_set_name: RedPajamaCommonCrawl


text:
using System;
using System.Text.RegularExpressions;
using JetBrains.Annotations;
using JetBrains.Diagnostics;
using JetBrains.ReSharper.Feature.Services.Daemon;
using JetBrains.ReSharper.Psi;
using JetBrains.ReSharper.Psi.CodeAnnotations;
using JetBrains.ReSharper.Psi.CSharp;
using JetBrains.ReSharper.Psi.CSharp.Impl.Resolve;
using JetBrains.ReSharper.Psi.CSharp.Tree;
using JetBrains.ReSharper.Psi.Resolve.ExtensionMethods;
using JetBrains.Util;

namespace Roflcopter.Plugin.AssertionMessages
{
    [ElementProblemAnalyzer(
        typeof(IInvocationExpression),
        HighlightingTypes = new[] { typeof(InvalidAssertionMessageHighlighting) })]
    public class InvalidAssertionMessageProblemAnalyzer : ElementProblemAnalyzer<IInvocationExpression>
    {
        private readonly ContractAnnotationProvider _contractAnnotationProvider;
        private readonly AssertionMethodAnnotationProvider _assertionMethodAnnotationProvider;
        private readonly AssertionConditionAnnotationProvider _assertionConditionAnnotationProvider;

        public InvalidAssertionMessageProblemAnalyzer(CodeAnnotationsCache annotationsCache)
        {
            _contractAnnotationProvider = annotationsCache.GetProvider<ContractAnnotationProvider>();
            _assertionMethodAnnotationProvider = annotationsCache.GetProvider<AssertionMethodAnnotationProvider>();
            _assertionConditionAnnotationProvider = annotationsCache.GetProvider<AssertionConditionAnnotationProvider>();
        }

        protected override void Run(
            IInvocationExpression invocationExpression,
            ElementProblemAnalyzerData data,
            IHighlightingConsumer consumer)
        {
            var arguments = invocationExpression.Arguments;

            // Short circuit exit:
            if (arguments.Count < 1)
                return;

            var resolveResult = invocationExpression.InvocationExpressionReference.Resolve();

            if (resolveResult.DeclaredElement is IMethod method)
            {
                // Following 'FDTApplicator..ctor' and 'CSharpControlFlowGraphInspector.PatchContextByObsoleteAnnotatedMethodCall'

                var functionDefinitionTable = _contractAnnotationProvider.GetInfo(method);

                if (functionDefinitionTable != null || _assertionMethodAnnotationProvider.GetInfo(method))
                {
                    if (resolveResult.Result.IsExtensionMethodInvocation())
                    {
                        var thisArgumentInfo = (ExtensionArgumentInfo)invocationExpression
                            .ExtensionQualifier.NotNull("seems to be escaped by the positive resolution");

                        var conditionType = GetConditionTypeForParameter(thisArgumentInfo, functionDefinitionTable);

                        if (conditionType != null)
                        {
                            var conditionExpression = thisArgumentInfo.Expression;
                            Assertion.Assert(arguments.Count > 0);
                            var nextToConditionArgument = arguments[0];

                            CheckMessageArgument(conditionExpression, conditionType.Value, nextToConditionArgument, consumer);
                        }
                    }
                    else
                    {
                        for (var i = 0; i < arguments.Count - 1; i++)
                        {
                            var argument = arguments[i];
                            var nextArgument = arguments[i + 1];

                            var conditionType = GetConditionTypeForParameter(argument, functionDefinitionTable);

                            if (conditionType != null)
                            {
                                var conditionExpression = argument.Value;
                                CheckMessageArgument(conditionExpression, conditionType.Value, nextArgument, consumer);
                            }
                        }
                    }
                }
            }
        }

        private ConditionType? GetConditionTypeForParameter(
            ICSharpArgumentInfo argumentInfo,
            [CanBeNull] FunctionDefinitionTable functionDefinitionTable)
        {
            var matchingParameter = argumentInfo.MatchingParameter;
            if (matchingParameter != null)
            {
                var parameter = matchingParameter.Element;

                if (functionDefinitionTable != null)
                {
                    var conditionType = GetContractAnnotationConditionTypeForParameter(functionDefinitionTable, parameter);

                    if (conditionType != null)
                        return conditionType;
                }

                return GetAssertionConditionAnnotationConditionType(parameter);
            }

            return null;
        }

        [Pure]
        private static ConditionType? GetContractAnnotationConditionTypeForParameter(
            FunctionDefinitionTable functionDefinitionTable,
            IParameter parameter)
        {
            foreach (var row in functionDefinitionTable.Rows)
            {
                if (row.FunctionReturn == ContractAnnotationValue.HALT)
                {
                    if (row.Input.Count == 1)
                    {
                        var contractAnnotationValue =
                            row.Input[0].ParameterName == parameter.ShortName ? row.Input[0].Value : (ContractAnnotationValue?)null;

                        switch (contractAnnotationValue)
                        {
                            case ContractAnnotationValue.TRUE:
                            case ContractAnnotationValue.FALSE: return ConditionType.TrueOrFalseCheck;
                            case ContractAnnotationValue.NULL:
                            case ContractAnnotationValue.NOT_NULL: return ConditionType.NullEqualityCheck;
                        }
                    }
                }
            }

            return null;
        }

        private ConditionType? GetAssertionConditionAnnotationConditionType(IParameter parameter)
        {
            var assertionConditionType = _assertionConditionAnnotationProvider.GetInfo(parameter);

            switch (assertionConditionType)
            {
                case AssertionConditionType.IS_TRUE:
                case AssertionConditionType.IS_FALSE: return ConditionType.TrueOrFalseCheck;
                case AssertionConditionType.IS_NULL:
                case AssertionConditionType.IS_NOT_NULL: return ConditionType.NullEqualityCheck;
            }

            return null;
        }

        private static void CheckMessageArgument(
            ICSharpExpression conditionExpression,
            ConditionType conditionType,
            ICSharpArgument nextToConditionArgument,
            IHighlightingConsumer consumer)
        {
            if (nextToConditionArgument.Value is ICSharpLiteralExpression literalExpression)
            {
                if (literalExpression.ConstantValue.AsString() is { } message)
                {
                    var nullabilityEqualityPostfixLength = MatchNullabilityEqualityPostfix(message);

                    if (nullabilityEqualityPostfixLength.HasValue)
                    {
                        int messagePostfixLength = 0;

                        if (conditionType == ConditionType.NullEqualityCheck)
                        {
                            // For not null/null assertions we strip the postfix away.

                            messagePostfixLength = nullabilityEqualityPostfixLength.Value;
                        }

                        CheckMessageExpression(conditionExpression, literalExpression, message, messagePostfixLength, consumer);
                    }
                }
            }
        }

        private static readonly Regex EndsWithNotNull = new Regex(" *!= *null$");
        private static readonly Regex EndsWithIsNull = new Regex(" *== *null$");

        [Pure]
        private static int? MatchNullabilityEqualityPostfix(string message)
        {
            var endsWithNotNullMatch = EndsWithNotNull.Match(message);
            if (endsWithNotNullMatch.Success)
                return endsWithNotNullMatch.Length;

            var endsWithIsNullMatch = EndsWithIsNull.Match(message);
            if (endsWithIsNullMatch.Success)
                return endsWithIsNullMatch.Length;

            return null;
        }

        private static void CheckMessageExpression(
            ICSharpExpression conditionExpression,
            ICSharpLiteralExpression messageExpression,
            string message,
            int messagePostfixLength,
            IHighlightingConsumer consumer)
        {
            var conditionExpressionText = conditionExpression.GetText();

            var messageConditionPart = message.Substring(0, message.Length - messagePostfixLength);

            if (!EqualsIgnoringWhitespace(messageConditionPart, conditionExpressionText))
            {
                consumer.AddHighlighting(new InvalidAssertionMessageHighlighting(
                    messageExpression,
                    messagePostfixLength,
                    conditionExpressionText));
            }
        }

        [Pure]
        private static bool EqualsIgnoringWhitespace(string a, string b) =>
            StringUtil.CutSpaces(a).Equals(StringUtil.CutSpaces(b), StringComparison.Ordinal);

        private enum ConditionType
        {
            TrueOrFalseCheck,
            NullEqualityCheck,
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
Q: cypress.visit is redirecting to the same domain with the suffix __/ I have a problem using Cypress when running tests on our staging domain. For some reason Cypres browser opens the correct website but then immediately changes the url to the absolute domain and appends __/ at the end:
https://stagingdomain.com/administrators/login becomes https://stagingdomain.com/__/
On production this does not happen, the test passes correctly. Sidenote: Our staging environment is only accessible behind our corporate VPN, but besides that everything else is the same

  it('Gets, types and asserts', function () {
    cy.visit('https://stagingdomain.com/administrators/login');

    cy.contains('ADMIN LOGIN');

    cy.url().should('include', 'administrators');
  });

});

I have followed all security measures provided on Cypress' documentation but none seem to be resolving this issue. Wondering if anyone else has faced the same challenge and has been able to overcome it

A: Turns out this was a known issue with Cypress which was since addressed in version 3.4.1

A: This is still any issue in 5.1.0.
I clearly have a page redirect to index.php which is in http://url.com/site/
Instead of redirecting to http://url.com/site/index.php like it should. The page is redirected to http://url.com/__/index.php which does not exist. It seems to be an issue with the doc root rewrite.
I also tried adding these to my cypress.json with no luck:
{
  "baseUrl": "http://url.com/site/index.php",
  "experimentalSourceRewriting": true
}

As a workaround, I simply redirect the user again and they check if the session is valid by getting to my secure page after my login.

redpajama_set_name: RedPajamaStackExchange


text:
Just recently (autumn 2003), browsing in the library, I came across a book of Japanese haiku. These are short poems, made up of 17 syllables and usually written as three lines, with five syllables on the first and last lines and seven on the middle line. Apparently, the structure suits Japanese, though it's awkward if you try and write one in English. Traditionally, the poems are normally linked to one of the four seasons or the New Year and have a basis in the natural world: rivers, cherry blossom, birds, insects, mountains, and that sort of thing. They use contrast between things - such as soft/hard, big/small, general/specific - a great deal and often conjure up a visual picture. If you're interested, it's worth looking at several books because you'll come across some of the more famous haiku translated by different people, and you'll quickly understand the difficulties they faced in translating them.
I couldn't resist having a go myself, so here are my haiku on the subject of libraries. They're not very good, and a lover of the real thing would probably be appalled, but never mind. If you think you can do better, and you almost certainly can, have a go. It's great fun.
Closing the cover
I lose my quiet thoughts and
hear the library.
I put this one first because it seems closest to the spirit of what a haiku should be. It came from the experience itself, and reading it afresh takes me straight back to that moment in the library when the thought occured to me.
Classification -
dividing the many worlds
falls to a barcode.
I'm taking liberties with this one because the barcode doesn't really classify - it's just an identifier. And, my poetic licence hasn't come through yet. Tut, tut.
Sit and imagine
books classified by colour -
rainbows on the shelves.
This was one Sunday in the library whilst thinking about what classification is all about (I had been struggling with Mr Dewy's one-dimensional effort at the time). It seemed to me that, as a piece of interventionist art, we could classify the books differently. Sadly, I didn't have the nerve to do this in practice. Some small voice in my head told me that not all of the weekday staff would be art lovers and that they might not appreciate the deep profundity of what they saw on the Monday morning.
Catalogue records -
just like an old vinyl disc
peppered with scratches.
Any large catalogue maintained by lots of people is usually a bit of a mess and Suffolk's is an impressive example. This haiku, though, isn't as cynical as it might at first appear - vinyl had a real life and warmth to it. Do we want a sterile perfection? (I think the librarians might disagree with me here.)
Clatter of keyboards
caught in a web of fibre -
so still are the books.
I'm explaining too much with all these. Decide for yourself if computers in libraries are a good thing. Progress or a category error?
Splendid ladybird -
in some fictional world
a librarian.
Why on earth did I think of this one? Where did it come from? Isn't creativity wonderful. If only I could extend the word count from eight to a quarter of a million I could write a novel. Does anybody want to buy the film rights?
Security loop
microwaving all the books
Ding! Egg-heads soft boiled.
That last one was meant as a joke. The heating effect from the security scanners is quite minimal, so don't worry too much when you walk through them.
Return to contents page


text:
Q: NServiceBus retrying message even though no exception I got a wierd problem with NServiceBus retying the message X number of times although no exception is thrown in the handler. There is some information out there dealing with the NHibernate session and the NSB ambiant transaction. Since no error is thrown I'm not 100% sure of the problem and thus can't really decide on what to do.
I got NSB configured with Castle Windsor like so:
IWindsorContainer container = new WindsorContainer(new XmlInterpreter());
container.Install(new ContainerInstaller());
container.Install(new UnitOfWorkInstaller(AppDomain.CurrentDomain.BaseDirectory, Castle.Core.LifestyleType.Scoped));
container.Install(new FactoryInstaller(AppDomain.CurrentDomain.BaseDirectory));
container.Install(new RepositoryInstaller(AppDomain.CurrentDomain.BaseDirectory));

Configure.With()
    .CastleWindsorBuilder(container)
    .FileShareDataBus(Properties.Settings.Default.DataBusFileSharePath)
    .MsmqTransport()
        .IsTransactional(true)
        .PurgeOnStartup(false)
    .UnicastBus()
         .LoadMessageHandlers()
         .ImpersonateSender(false)
     .JsonSerializer();

The UnitOfWorkInstaller registers the unit of work (the NHibernate session) like so:
public void Install(IWindsorContainer container, IConfigurationStore store)
{
    var fromAssemblyDescriptor = AllTypes.FromAssemblyInDirectory(new AssemblyFilter(_installationPath));
    container.Register(fromAssemblyDescriptor
        .IncludeNonPublicTypes()
        .Pick()
        .If(t => t.GetInterfaces().Any(i => i == typeof(IUnitOfWork)) && t.Namespace.StartsWith("Magma"))
        .WithService.AllInterfaces()
        .Configure(con => con.LifeStyle.Is(_lifeStyleType).UsingFactoryMethod(k => k.Resolve<IUnitOfWorkFactory>().Create())));
}

So each time a message arrives the same unit of work is used for all the repositories. I read that manually rolling back the current transaction results in an error (I don't really know why) and I also know that NSB creates a child container for every transport message and that this child container is disposed after the processing of the message. The problem is that when the child container is disposed the unit of work is disposed this way:
    public void Dispose()
    {
        if (!_isDisposed)
        {
            DiscardSession();
            _isDisposed = true;
        }
    }

    private void DiscardSession()
    {
        if (_transaction != null && _transaction.IsActive)
        {
            _transaction.Dispose();
        }
        if (Session != null)
        {
            Session.Dispose();
        }
    }

My handlers are structured like this: (the _unitOfWork is passed as a constructor dependency)
    public void Handle(<MessageType> message)
    {
        using (_unitOfWork)
        {
            try
            {
                // do stuff
                _unitOfWork.Commit();
            }
            catch (Exception ex)
            {
                _unitOfWork.Rollback();

                // rethrow so the message stays in the queue
                throw;
            }
        }
    }

I found out that if I don't commit the unit of work (which flushes the session and commit the transaction) I got an error saying that the message has retried beyond the max retry count bla bla bla...
So it seems to be linked with the NHibernate session and the way it's created and disposed of but since it's created within the unit of work I can't really use the session factory. I read that I could use the IMessageModule to create and dispose the session but again I don't know if this is the right way to go since I don't understand what's causing the error in the first place.
So to recap:

*

*I'm using a scoped unit of work so that all the handler dependencies using it will share the same instance (thx to the child container, BTW: I've setup the unit of work as transient thinking that the child container will treat all transient object as singleton within that container but I saw that the unit of work wasn't shared so this is why it's setup as scoped)

*I'm wrapping my handler in a using(_unitOfWork) { } statement to dispose the unit of work after each processing.

*When the unit of work get's disposed, the NHibernate session is also disposed

*If I don't explicitly call Commit on the _unitOfWork, the message retries beyond the max retry count and then an error is thrown.
What is causing this behavior? and is the IMessageModule is the answer for this?

A: I think I narrowed it down a bit... I removed all of the using(_unitOfWork), the _unitOfWork.Commit() and the _unitOfWork.Rollback() and let the NSB TransactionScope do the work of commit or rollback the transaction since the NHibernate's Session was enlisting in the NSB transaction scope.
I also started to use the NHibernate session's transaction (Session.Transaction) instead of grabbing a reference to it through Session.BeginTransaction() and using this one. I've copy/pasted my UoW implementation so you can see the differences (the old code is in comments).
I don't know if my changes account for anything but using the Session's transaction and removing the flushes since it's taking care of within the transaction commit seems to have solved the problem... I don't have to explicitly call the Commit method in order for the message to be successfully processed anymore. Here is my UoW implementation:
public class NHibernateUnitOfWork : INHibernateUnitOfWork
{
    //private ITransaction _transaction;
    private bool _isDisposed;
    private bool _isInError;

    public ISession Session { get; protected set; }

    public NHibernateUnitOfWork(ISession session)
    {
        Contract.Requires(session != null, "session");
        Session = session;

        //_transaction = Session.BeginTransaction();

        // create a new transaction as soon as the session is available
        Session.BeginTransaction();
        _isDisposed = false;
        _isInError = false;
    }

    public void MarkCreated(Object entity)
    {
        // assert stuff

        try
        {
            Session.SaveOrUpdate(entity);
            //Session.Flush();
        }
        catch (HibernateException ex)
        {
            HandleError();
            throw;
        }
    }

    public void MarkUpdated(Object entity)
    {
        // assert stuff

        try
        {
            Session.Update(entity);
            //Session.Flush();
        }
        catch (HibernateException ex)
        {
            HandleError();
            throw;
        }
    }

    public void MarkSavedOrUpdated(Object entity)
    {
        // assert stuff

        try
        {
            Session.SaveOrUpdate(entity);
            //Session.Flush();
        }
        catch (HibernateException)
        {
            HandleError();
            throw;
        }
    }

    public void MarkDeleted(Object entity)
    {
        // assert stuff

        try
        {
            Session.Delete(entity);
            //Session.Flush();
        }
        catch (HibernateException ex)
        {
            HandleError();
            throw;
        }
    }

    public void Commit()
    {
        // assert stuff

        try
        {
            //Session.Flush();
            //_transaction.Commit();
            Session.Transaction.Commit();
        }
        catch (HibernateException ex)
        {
            HandleError();
            throw;
        }
    }

    public void Rollback()
    {
        // assert stuff

        try
        {
            //if (!_transaction.WasRolledBack)
            //{
            //    _transaction.Rollback();
            //}
            Session.Transaction.Rollback();
        }
        catch (HibernateException ex)
        {
            HandleError();
            throw;
        }
    }

    public void Dispose()
    {
        if (!_isDisposed)
        {
            DiscardSession();
            _isDisposed = true;
        }
    }

    private void DiscardSession()
    {
        //if (_transaction != null && _transaction.IsActive)
        //{
        //    _transaction.Dispose();
        //}
        if (Session != null)
        {
            try
            {
                // rollback all uncommitted changes
                if (Session.Transaction != null && Session.Transaction.IsActive)
                {
                    Session.Transaction.Rollback();
                }
                //Session.Clear();
                Session.Close();
            }
            catch (Exception)
            { }
            finally
            {
                Session.Dispose();
            }
        }
    }

    private void HandleError()
    {
        _isInError = true;
        //if (_transaction != null && _transaction.IsActive)
        //{
        //    _transaction.Rollback();
        //}
        if (Session.Transaction != null && Session.Transaction.IsActive)
        {
            Session.Transaction.Rollback();
        }
    }

    // assert methods
}

Does any of this makes sense? I still don't know what caused the error in the first place but it seems to have to do with disposing the NHibernate Session before the transaction scope finishes.


text:
Case Comment – Available Remedies for Breach of Fiduciary Duties and Breach of Confidence
By Matthew Stainsby
In Genesis Fertility Centre Inc. v. Yuzpe, 2019 BCSC 233, the Supreme Court of British Columbia reviewed the law on fiduciary duties and the appropriate remedies when such claims are made out.
Four doctors practiced in reproductive medicine together in Vancouver, pursuant to a shareholders' agreement. The shareholders' agreement contained a "shotgun clause," requiring the other shareholder not invoking the clause to either sell their shares in Genesis or buy out the remaining shares. In this case, three shareholders evoked this clause. The fourth shareholder, who had only recently joined Genesis, elected to buy out the other three shareholders rather than sell her shares. There was then a 60-day period during which the purchase was to complete.
The central issue in this case was whether the three departing physicians could take steps during this 60-day period to be able to continue their practices in competition with Genesis after the 60-day period had completed. Genesis claimed that they could not, and seeks damages as a result. The plaintiffs also sought damages for breach of contract, breach of the duty of honest performance, conversion and civil conspiracy, all of which were rejected by the trial judge.
The trial judge found that only certain of the actions taken by the "Departing Physicians" were in breach of their fiduciary duties and the duty of confidence owed to Genesis. This included the use of confidential information obtained by a member of Genesis' senior management and provided to the Departing Physicians. At paragraph 291 of the decision, the trial judge held as follows:
[291] I have found that the Departing Physicians breached their fiduciary duty to Genesis to act fairly in the following ways:
a) By entering into employment agreements with Ms. Wylie and Ms. St. Pierre and other Genesis employees while the Departing Physicians continued to be directors of Genesis without making proper disclosure of that fact to Genesis
b) By utilizing confidential information of Genesis in the preparation of Olive's business plan
c) By utilizing confidential information of Genesis in connection with hiring Genesis employees
One of the complicating factors in this case was that doctors have duties to their patients that may take precedence over the fiduciary duties they might otherwise owe. The trial judge noted that the jurisprudence recognizes that the nature of the fiduciary duties owed in a corporation must be modified to accommodate the fiduciary and other ethical duties owed to patients and the ethical responsibilities of professionals. So while many of the actions complained of by Genesis may have otherwise been breaches (in another field wherein the additional ethical duties were not owed), the trial judge found the Departing Physicians not to have breached those duties.
With respect to damages, at paragraph 277 the trial judge reiterated that a plaintiff that establishes breaches of fiduciary duty and breach of confidence is entitled to compensation, either as damages for losses incurred or by an order requiring the defendant to account for any gains wrongfully obtained. The trial judge also found that the Departing Physicians had the right to set up a competing clinic within which to practise and that the benefit they obtained came from that lawful activity.
The trial judge determined that the authorities make it clear that "the court must therefore fashion a remedy that is appropriate to the wrong established." While the plaintiffs sought disgorgement of all benefits earned by the defendants for a period of two years, at paragraphs 313 to 314, the trial judge found that "[this] ignores the contractual rights of the Departing Physicians to compete with Genesis" and that it "fails to recognize that the defendants are only required to disgorge any benefits they received from their breach of duty. They are not required to disgorge any benefits they obtained from lawful activity on their part."
While the plaintiffs advanced a claim for damages ranging from $1,071,949 to $1,278,050 for losses attributable to the defendants' wrongful conduct, it was awarded equitable compensation totaling $187,000, which amount was primarily made up of a $100,000 award for disruption to Genesis and a breach of confidence.
Also of note is the trial judge's comments at paragraph 295, wherein he states that "Genesis was the only entity to which any of the defendants owed a fiduciary duty. The plaintiffs have conflated the various duties owed and thereby seek remedies that are not available to them."
This case illustrates the importance of properly framing a claim and ensuring the proper parties are proceeding against the alleged wrongdoers.
Matt Stainsby
Lindsay Kenney LLP – Vancouver Office
This article is intended to be an overview of the law and is for informational purposes only. Readers are cautioned that this article does not constitute legal or professional advice and should not be relied on as such. Rather, readers should obtain specific legal advice in relation to the issues they are facing.
Our Corporate Succession Lawyers (video)
Dispute Resolution Case Comment – Available Remedies for Breach of Fiduciary Duties and Breach of Confidence See All Blog Categories
Business and Real Estate Law
Estate Planning and Litigation
Motor Vehicle Accident and Injury Claims


text:
B'nai B'rith Shocked And Deeply Saddened By Death Of Argentine Prosecutor In AMIA Case
Alberto Nisman bravely fought for justice after 1994 bombing of Jewish building in Buenos Aires
We mourn the shocking loss of brave Argentine prosecutor Alberto Nisman, who was found dead late Sunday night at his home under mysterious circumstances.
A prosecutor is investigating his death, which is preliminarily being called a suicide.
It appears Nisman died on Sunday. He was scheduled to appear today before the Argentine Congress to go over his recent findings.
Nisman was courageous and determined in his investigation of the 1994 bombing of the Argentine-Israelite Mutual Association (AMIA) building that killed 85 and wounded 300. Just days ago, B'nai B'rith commended Nisman for his dogged investigation that led to his filing a complaint against Argentine President Cristina Fernández de Kirchner and Foreign Minister Héctor Timerman alleging they offered Iran impunity before jointly creating the "Commission of Truth," designed to find those responsible for the attack.
For years, Nisman heroically followed evidence in the terror attack wherever it led.
When the "Commission of Truth" was first signed two years ago, B'nai B'rith was dubious as to whether any actual information would surface, let alone lead to the prosecution of the perpetrators. Iran, the world's largest state-sponsor of terror, is widely acknowledged to be behind the AMIA attack.
Officials from the top levels of the government were named in Nisman's original report as being responsible for the bombing. Interpol issued arrest warrants for the attack, but no arrests have ever been made. Given Iran's deplorable judicial track record and its refusal to turn over those previously implicated in the bombings, there was little doubt any serious "truth" would be produced.
We have closely followed Nisman's investigation over the years and have strongly supported his efforts. His death creates a gaping void in the pursuit of terrorists.
B'nai B'rith sends its deepest condolences to Nisman's family.
B'nai B'rith Commends Argentine Prosecutor for Pursuing Alleged AMIA Cover-Up by Top Government Officials
B'nai B'rith International commends Argentine Special Prosecutor Alberto Nisman for continuing to press for answers in 1994 bombing of the Argentine-Israelite Mutual Association (AMIA) building that killed 85 and wounded 300. In a shocking turn of events, yesterday Nisman filed a complaint against Argentine President Cristina Fernández de Kirchner and Foreign Minister Héctor Timerman alleging they offered Iran impunity before jointly creating the "Commission of Truth," designed to find those responsible for the attack.
When the "Commission of Truth" was first signed two years ago, B'nai B'rith was near-certain that no actual information would surface, let alone lead to the prosecution of the perpetrators. Iran, the world's largest state-sponsor of terror, is widely acknowledged to be behind the AMIA attack. Officials from the top levels of the government were named in Nisman's original report as being responsible for the bombing. Interpol issued arrest warrants for the attack, but no arrests have ever been made. Given Iran's deplorable judicial track record and its refusal to turn over those previously implicated in the bombings, there was little doubt any serious "truth" would be produced.
But Nisman's allegations that the president and foreign minister essentially shielded Iran from any blame in the attack before announcing the formation of the "Commission of Truth" are serious, and they raise questions about the suggestion that the Argentine government may have been naïve in this matter.
B'nai B'rith hopes that because of Nisman's courage in getting to the bottom of this apparent obfuscation and deception, not only will his fellow countrymen, but the rest of Latin America and the world open its eyes to the evils of Iranian regime and those caught in its web of terror.


The Centre for International Studies (CIS) is pleased to announce the publication of the inaugural issue of the Global Social Justice Journal. The journal seeks to transcend the academic/social activist divide through the dissemination of peer-reviewed research on normative global social justice issues including economic globalization, human rights, indigenous peoples, the environment, education, gender, class, political culture and race. The inaugural issue contains several articles examining the rise of the far-right in Europe as well as papers on non-ideological corruption and gender justice in the information society.
The Global Social Justice Journal does not restrict itself to publishing articles from any single theoretical approach or methodological tradition but rather seeks to contribute towards the production of emancipatory and normative bodies of knowledge that place research at the service of social change. The journal publishes critical qualitative and quantitative research, including articles that question the fundamentals of the status quo, from disciplines including political science; philosophy; economics; sociology; law; history; gender studies and indigenous studies and aims to inform readers from one area of the state of the research into global social justice in the other disciplines.


"Panasonic Lumix G5 final verdict: The Panasonic Lumix G5 is a solid upgrade to the earlier Lumix G3 and maintains its position as one of the best value Micro Four Thirds models in the Panasonic line up as well as more generally. The combination of a new 16 Megapixel sensor and updated Venus Engine processor improves on the low noise characteristics and excellent image quality established with the G3 and adds 1080p50/60 HD video and 6fps continuous shooting. And as my quality and noise results prove, the G5 can keep up with the larger APS-C sensors of rival models in most situations.
"The Panasonic Lumix G5 is an accomplished mirrorless camera that upgrades its excellent predecessor in a number of significant ways in order to keep up with the fast-moving competition. A higher price tag means that it's not quite the bargain that the G3 was, but we can still highly recommend this realistic alternative to a bigger and bulkier DSLR."


All of our group fitness classes are offered in our spacious aerobics studio featuring a cushioned hardwood floor and professional sound system. We offer a broad range of classes six days a week. Classes include high or low impact, high or low intensity, core strength, balance, flexibility, group cycling and one of the most well-balanced yoga programs in the valley.
There is a small fee for all group fitness classes. Please refer to the Group Fitness Rider under membership rates.
The Avon Recreation Center offers state-of-the-art TechnoGym treadmills and elliptical trainers, Precor AMT, Precor upright and recumbent bikes, Stair Master Step Mill, Jacobs Ladder and Free Motion Incline Trainers. All feature a personal viewing station, which includes a flat screen monitor with cable TV.


Methods of marketing real estate have come a long way and now include breathtaking professional videos that highlight a property's features from angles that were not possible in the past. From the original point and shoot film cameras to the digital SLR cameras with video options that are now available, it is hard to believe photography and videography have come as far as they have in such a short amount of time. As an avid photographer and Toronto real estate agent, I can't help but admire the art of creating a breathtaking real estate video that showcases the beauty of a property. With this being said, I have yet been able to find a company that beats the quality and creativity of "Black Sail Media", a Los Angeles based company that specializes in "digital storytelling, branded content and creative cinematography". Below, I have included my Top 10 picks for best real estate videos. Sit back, relax and enjoy the views.


An international success story, providing an impressive array of product for menswear, womenswear and related apparel industries.
When brothers Bernie and Fred Feinberg, whose family history in the button industry goes back to 1920, founded Tiger Button Company in the middle of New York's garment district in March of 1968 they realized this fact clearly.
Becoming a leader in their original field as a menswear resource would require more than a helter skelter investment of personal energy. Building and sustaining leadership in a highly competitive industry would require a business plan guaranteeing customer service, consistent product quality and a company backbone built on integrity. These were the guidelines they set in the beginning and the ones they still follow today. The company has evolved and grown through them.


The following are the steps to calculate national income using the value-added method: 1. One is the sum of final spending approach. Like in other countries, cities provide comparatively a better standard of living. Equilibrium income is that level at which a The community is spending exactly all of its income on consumption. Calculation of National Income of India: A Brief History The first attempt to calculate National Income of India was made by Dadabhai Naroji in 1867 -68.
This however is not simply possible in India. It is estimated that up to 590 million people, or 40% of the Indian population will be living in cities by 2030, much higher than the current 28%. To know whether the rich are getting richer and the poor getting poorer, it is necessary to compare I. Usually a base year change is done periodically to accommodate the changes in the economy. With accurate knowledge of income tax system in India, you can calculate your income tax and find ways to save tax.
The Central Statistical Office of India has upgraded the National Income Accounting standards by introducing some notable changes early this year. Suppose that Ford sells a car for 10,000 and that's the only car sold in the economy. It includes payments made to all resources in the form of wages, interest, rent and profits. It is the actual income left for disposal or that can be spent for consumption by individuals. In India one year means from 1st April to 31st March of the next year. These can be categorized as private consumption expenditure, private investment, public consumption, public investment etc. Economy is viewed as a collection of units used for consumption, saving, and investment.
Some products have a low value-added, for example those really cheap tee-shirts that you might find in a supermarket for little more than £5. This report ranks the countries on the basis of the Human Development Index. In other words, value-added method measures value added by each industry in an economy. Change in the base year The base year for national income estimation in the country has changed to 2011-12 from 2004-05. This is not related to the production of goods and services. Including output produced by production units for self-consumption in total output.
Which of the following are the main causes of slow rate of growth of per capita income in India? Final Expenditure Method : Final expenditure method, also known as final product method, is used to measure final expenditures incurred by production units for producing final goods and services within an economic territory during a given time period. You can then proactively participate in your tax planning process. They now include the amount spent on intellectual property outlays such as pop song production and drug patents for the first time. The first person to adopt a scientific procedure in estimating the national income was Dr. The first person to adopt a scientific procedure in estimating national income was Dr.
Simply add the required resources to your cart, checkout using the usual options and your resources will be available to access immediately via your. Step 2- Deduct the following: 1. Excluding the intermediate expenditure as it is already a part of final expenditure b. Which one of the following States produces about 50 percent of th' total silk textiles in India? Rao c Dadabhai Naoroji d Shirras 20. In turn, goods produced by domestic firms which are demanded by foreign economies involve expenditure by other economies on our production Exports , and are included in total expenditure.
The income method adds up income and payments accruing of factors of production. Which of the following is the most likely reason why total income tends to fluctuate? In addition, the value of free services provided by government and non-profit institutions should also be taken into account. Real National Income: The money value of all the final goods and services produced in an economy during a year, estimated at some fixed prices. This was followed by several other methods. There are generally four factors of production labour, capital, land and entrepreneurship.
For every subject you can now access each digital resource as soon as it is ordered. Several factors affect the national income of a country. Any economy with a high concentration on exports will be more susceptible to the effects of. These steps are as follows: 1. The agriculture sector in India grew at a rate of only 1.


text:
CDEL
Director & Affiliates
Assiniboine
Gilmore Papers
Bowers Papers
Unratified Treaties
Assiniboine Narratives
Lakota Text Corpora
Anthropological Linguistics
Studies in the Native Languages of the Americas
Sources of American Indian Oral Literature
Studies in the Anthropology of North American Indians
AISRI Dictionary Portal
Northern Caddoan Linguistic Text Corpora
Ella Deloria Archive
AISRI Events
News - Manual
Events - IU Calendar
News - IU Newsroom
American Indian Studies Research Institute
The American Indian Studies Research Institute is located in a two-story limestone house built about 1915, on the Bloomington campus adjacent to the Mathers Museum of World Cultures, the Glenn A. Black Laboratory of Archaeology.
The primary function of AISRI is to provide the institutional structure necessary to carry out research and educational projects, most of which are funded by outside sources including the National Science Foundation, the National Endowment for the Humanities, and American Indian tribal organizations.
Current projects include:
Plains Indian language documentation
studies of American Indian history and culture
innovative print and electronic instructional media for teaching Native American languages.
AISRI fosters publication of research results through:
the journal Anthropological Linguistics
the monograph series "Studies in the Anthropology of North American Indians," "Studies in the Native Languages of the Americas," and "Sources of American Indian Oral Tradition," published by AISRI in cooperation with the University of Nebraska Press.
American Indian Studies Research Institute social media channels
422 N. Indiana Ave.


text:
Home » National
Rs 25 Lakh Fine For False Molestation Case
Mumbai: A women entrepreneur and her husband from Haryana were slapped with a fine of Rs 25 lakh by the Bombay High Court for threatening to file a fake rape case by ill-using the gender protection laws.
Neha Gandhir, the owner of Feel Good (India) Company, based in Haryana was involved in a trademark infringement fight against Sapat a Mumbai-bound entity, which filed a case against Feel Good company for infringing on their trademark name for a cough syrup.
The High Court convicted Neha's Feel Good company for infringing the copyright on 21 December 2018, and directed a court receiver to seize goods from the concerned factories.
Meanwhile, when the court receiver turned up to seize the goods as per the Court orders, she objected them to follow their duty and even threatened that she will register a molestation case against them. However, the Court noticed that Neha Gadhir was making a false claim against the court receiver, and levied a huge fine on her.
While the hearing was in progression, Justice S Kathawalla remarked that, "Time and again, it is noted with distress, that a socially enabling piece of legislation, is being grossly misused with impunity, by the very gender for whose empowerment it has been enacted, leaving the male/s facing grossly wrong and derogatory charges, which they have to thereafter defend themselves against. Such gross and patent misuse of a socially enabling piece of legislation has to be sternly condemned by the Courts and dealt with a very stern hand."
On 11 January the women entrepreneur had been ordered to pay the fine in three parts by February 28, 2019. Interestingly out of the fine Rs 20,00,000 is to be donated to Tata Memorial hospital and the complainant gets Rs 5,00,000.
Also Read: Roadside Haircut Costing Rs 28,000?(
Mahindra Launches Lower Version Of XUV500
42 CRPF Personnel Killed In IED Blast In Jammu And Kashmir
Sapat
Neha Gandhir
Ford India in Talks With Employees Over Compensation After Closure
What is Full Market Authorisation of Covidshield, Covaxin Recommended by SEC


text:
Q: How do I install jekyll on OS X 10.14+? If you try to follow the standard Jekyll installation instructions on OS X 10.14+, it fails because header files like ruby.h are missing. Similar problems happen when installing any Ruby package which contains C/C++ extensions.
Discussions of this on various web fora give you commands to switch your ruby header directory (because Apple changed it in 10.14.0), but starting in 10.14.5, these don't work either, as Apple eliminated those altogether!
How do you make Jekyll work on a current OS X machine?

A: The solution is to treat the default system Ruby installation in 10.14.5+ as being completely broken for many uses, much like the default system Python installation is. Instead, install rbenv to set up a managed Ruby environment that can use any appropriate software version.

*

*If you haven't already installed Homebrew, do that first by running

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
from a Terminal.

*

*Next, install rbenv by running brew install rbenv ruby-build.

*Before you try to use rbenv for anything, update your shell. If you're using bash, stick the following code snippet into your .bashrc or .bash_profile:

if which rbenv > /dev/null; then
  eval "$(rbenv init -)"
fi

For other shells, see here for the best approach. Close and reopen your terminal window (or do your shell's equivalent of source ~/.bashrc) before continuing.

*

*Install a healthy version of Ruby by running rbenv install 2.6.3 (or whatever the current stable version is -- you can always check that at ruby-lang.org).

*Make it the system default by running rbenv global 2.6.3

*To verify this is working correctly, run which ruby. You should see something like [your home directory]/.rbenv/shims/ruby. You can also run ruby -v and confirm that you're seeing the version you just installed.

*And now the standard Jekyll (or any other package) installation instructions should work for you! For Jekyll, for example, you can now run gem install --user-install bundler jekyll.


text:
Is the secret footballer real Meditation table view 10.2 Buddhist retreat by stream and mountain The secret dvd movie hindi download video Secret seven 1 pdf Secret xbox one gpu increase Sleep meditation audio It change management tasks The secret life walter mitty subtitles quicktime Name change texas notary Secret of mana yagamoth The secret life of bees book free download utorrent How to show confidence interval in excel Secret relationship movies imdb hollywood The secret life of walter mitty subtitles free download youtube How to speak with confidence in public Video secret garden korean cast The secret circle book online yearbook Secret shy boy mp4 free download The book called the secret school movie
How to change email on gmail account,change apple id to another apple id,my iphone color is inverted - PDF Review
Now you know how to create an email signature in the Gmail App for your Android Smartphone.
This FREE tutorial shows you how to instantly increase the font size so your smartphone is easier to read. Some links on this page are affiliate links, which means I may receive a small commission if you click or buy through my link. The other inconvenience caused by my indiscretion involved my email account, which has now been shared with the entire planet. Unfortunately, when someone a€?needs your helpa€? to move large sums of money while rewarding you with many thousands of dollars, there is no a€?unsubscribea€? option, so I delete, delete, delete, and then delete some more. Some email lists will remove you if you reply with a€?Unsubscribea€? in the subject line, but I am hesitant to acknowledge these emails in any way.
So while I try to outlast the insipid would-be benefactors, I occasionally amuse myself by reading some of their emails.
This email probably went to hundreds of email addresses, and yet it names each of these recipients as a€?the sole beneficiarya€? of $3.5m USD.
While each of these scams appeals to our basic greed, they also mix in an interesting blend of additional motivators. I'm always touched by the woman dying of cancer, who wants to share her dead husband's wealth with a few a€?good Christiana€? people. I've gotten emails from Brigadier Generals, Reverends, United Nations officials, and FBI agents, with time always a critical factor. One of the more popular gimmicks of late has an interesting twist: the scam is addressed to alleged victims of scams!
One of the more novel approaches came from an alleged soldier who served in the Iraq War.A His claim was that he and his buddies had made off with significant treasures from Saddam Hussein's palace, and with my help he could retrieve them and share the spoils with me! I have one more confession.A I never actually heard from the Nigerian Prince, but I'm still hoping!A I've got to go clean out my Junk Mail folder - all 186 email.
I came to Blogging World (Blogosphere) to have a try, But now turning out to be my passion. I fell for an online scam that offered a $100 Walmart gift card in return for filling out some consumer surveys.
I've been tempted to reply with stern requests for peace, or maybe with one of my witty responses: a€?I'd love to help, Marian.
At first round it is planned to cover 40 cities & planned to have 100 cities at the end of 2007. This time around the company has just increased the stakes by pushing the N91 capacity to 8 GB from the current4 GB.
The only GSM model that did manage to sell a lot before was a clamshell, namely the LG M4410. Mail service, making it available to users in USA as well as 18 other countries, including India.The highlights of the new Yahoo! According to the company, its TurboPix DVD TD 200 is the first DVD player in the country to be equipped with an in-built Memory Device Reader, compatible with Memory Sticks, SmartMedia Cards, SD Cards, and a USB Port.Speaking at the occasion, Ajay Mehta, managing director, MCC Group, said, "TD 200 is our flagship model, and it is the first DVD player in the country with a built-in memory card reader and an USB port. Mail beta include a sleek, easy-to-use interface, with the speed and responsiveness of a desktop application. Until now, it was Nokia, Sony Ericsson, Samsung, and Motorola that were the pioneers in developing new designs; LG also joins these top brands with this model.
The new Mail features innovative online calendar integration and maps, and provides a fast, efficient experience with enhanced functionality, such as drag and drop e-mail organization, message preview, and an integrated RSS reader. Now its about to reach 25,000 pageloads mark, at the time you read this post it might had crossed that mark.
Music can be played from the USB port directly on to your TV, and this is sure to interest music lovers. It took 7 months (tracked from JAN 07) to achieve this & I think will take less time to reach next 25k with all your support.
The odd part is that though the phone supports A2DP, there is a question of it giving full support to stereo Bluetooth headsets. Mail experience, the new version is a free, browser-based service, accessible from virtually any computer connected to the Internet, without the need for a software download.Speaking about the new version, Ethan Diamond, director - product management, Yahoo!
Mail, said, "Throughout the development process, we have relied on user feedback to further enhance and refine the Yahoo! We have added new features, like an integrated calendar timeline, and at the same time, we continue to offer what s most important; an easy-to-use, reliable, secure, and free e-mail service."The latest version of Yahoo! Mail also features an all-new integrated calendar timeline, making it easier for people to organize their schedules from within their Web mail, without having to click on a separate view, or open another browser window.And while creating a new Yahoo! Mail account, or signing-into an existing account, users will have the option to try the new interface, and will be able to toggle between the different versions of Yahoo! The station will present itself in a larger than life avatar and all morning slots will boast of highly acclaimed celebrity jockeys.
Customer Care, to receive help in addressing technical support needs.The beta version works on Internet Explorer browsers on Windows computers, and on Firefox browsers on both Windows and Mac computers.
400 crore dedicated to Transmission Equipment, Infrastructure and Licensing, the proposed network for ADLABS Radio will be the largest ever. The IP protocol technology being utilized for BIG FM has been sourced from AXIA, USA making this station amongst the first to utilize such superior gear in Asia. Extensive research on consumer tastes and moods will ensure that the content aired complements the listeners' tastes and provides them a dynamic, interactive platform.
Cannot change my homepage internet explorer 9
The secret world game iso files
Comments to «How to change email on gmail account»
Kavaler writes:
03.04.2014 at 10:54:48 Than being delivered to the West it was skilled traveler.
o_O writes:
03.04.2014 at 20:59:26 Per day may help you management stress, decrease anxiety, enhance expresses the combination of the practice.
Xazar writes:
03.04.2014 at 17:44:16 The one that may bathe in the exquisite opportunity to participate in a deeply peaceful.
EMOS writes:
03.04.2014 at 16:39:16 May apply mindfulness skills to improving been incorporating practicing.


text:
Q: Why are these sets equal (probability question)?
Two players A and B are competing at a trivia quiz game involving a
  series of questions. On any individual question, the probabilities
  that A and B give the correct answer are $\alpha$ and $\beta$
  respectively, for all questions with outcomes for different questions
  being independent. The game finishes when someone answers correctly.
Compute the probability that A wins if: (a) A answers the first
  question (b) B answers the first question

I understand most of the solution. In the solution, the author defines:
$A = \{A \ \text{answers the first question}\}$
$F = \{\text{Game ends after first question}\}$
$W = \{A \ \text{wins}\}$
At some point he goes on to write: $P(W | A \cap F^c) = P(W | A^c)$ and $P(W | A^c \cap F^c) = P(W | A)$ however I cannot get my head around why that is the case. Could anybody provide some intuition or explanation for this particular part?

A: The equation $P(W | A \cap F^c) = P(W | A^c)$ states that the chance that $A$ wins if she goes first, and the game does not end after one turn, is the same as the chance that $A$ wins if she goes second. Note that if $A$ answers first, and she gets the answer wrong, then it is $B$'s turn, and the resulting situation is exactly the same as if $B$ had gone first. Hence, the chance that $A$ wins in either is the same.
The other equality expresses basically the same, but about $B$ going first.


Protestors will shout. Delegates may revolt. Factions will haggle over rules and platform proposals. But come later this month, no amount of friction will stop corporations, unions and special interests from spending tens of millions of dollars to bankroll nonstop partying at the Democratic and Republican national conventions. Thank federal campaign finance rules that allow unlimited contributions to support them.


George Edward Coursey, age 74, of Bella Vista, Arkansas, passed from this life August 2, 2018 at his home. He was born February 11, 1944 in Camp White, Oregon to Henry and Betty (Marlow) Coursey.
George was a veteran of the United States Army.
Survivors include his wife, Joyce (Fletcher) Coursey; his son, James M. Coursey (Mistie); his daughters, Michelle Watkins(Quarta) and Michelle Gillespie;his brother, Richard Coursey (Jackie); and his sisters, Patricia Hinds and Linda Johnson (Bill); his six grandchildren, Indigo and Iliyah Watkins, Dree and Denny Coursey, Zachary and Chase Doster; three great-grandchildren, Chloe, Caden and Landon Doster; as well as many nieces and nephews.
A graveside service will be 1:00 p.m., Monday, August 6, 2018 at Fayetteville National Cemetery. Military honors will be by the United States Army Honor Guard.
To send flowers to the family of George Coursey, please visit our Heartfelt Sympathies Store.
George and Joyce impacted my life from the moment I met them at church. George always had a joke to make and a hug to give. Up until the last days, he still joked and loved to make others laugh. Joyce is a pillar of strength and together, George and Joyce are both an inspiration for us in that their faith in the Lord never wavered even when going through the trial of George's sickness. I love them both. I miss George and will miss his hugs, but I am thankful to know He is now eternally alive with the Lord and that one day we will get to hug again.
May George Coursey live forever in God's creation.


text:
Campestre, specialità della corsa

Geografia
 Campestre, comune brasiliano dello Stato dell'Alagoas.
 Campestre, comune brasiliano dello Stato di Minas Gerais.
 Campestre da Serra, comune brasiliano dello Stato di Rio Grande do Sul.
 Campestre de Goiás, comune brasiliano dello Stato di Goiás.

redpajama_set_name: RedPajamaWikipedia


text:
Q: PHP Sessions Not working I just can't get my variables to carry over to the next page. The variable assignment works fine on the initial page (tested), but the value goes null when going to the next. Plz Help!
Page 1:
<?PHP session_start(); ?>

    <META NAME='robots' CONTENT='noindex,nofollow'>
    <TITLE>Master Chief's Gamestore</TITLE>

                <form method="post">

                                      Master Chief's Gamestore

                                    Username:&nbsp
                                    <input type="text" name="username">&nbsp
                                    Password:&nbsp
                                    <input type="password" name="password">

<input type="submit" name="act" value="Login">

                                    <input type="submit" name="act" value="Register">

                                    <input type="submit" name="act" value="Main">

                    <?PHP
                    if ($_POST['act'] == "Login") {
                        mysql_connect("~", "~", "~") or die("unable to connect to server");
                        mysql_select_db("~") or die("unable to select database");
                        $user = $_POST['username'];
                        $pass = $_POST['password'];
                        $query = "select * from users where user like '%" . $user . "%' and pass like '%" . $pass . "%';";
                        $result = mysql_query($query);
                        $rows = mysql_numrows($result);
                        if ($rows == 0 || strlen($user) == 0) {
                            echo "
Login Failure";
                        } else {
                            $_SESSION['user'] = mysql_result($result, 0, "user");
                            $_SESSION['id'] = mysql_result($result, 0, "P_Id");
                            header('Location: ~/success.php');
                        }
                    }
                    if ($_POST['act'] == "Register") {
                        header('Location: ~/register.php');
                    }
                    if ($_POST['act'] == "Main") {
                        header('Location: ~/index.php');
                    }
                    ?>

                                Logged in as:
                                <?PHP
                                $user = $_SESSION['user'];
                                if (!$user) {
                                    $user = 'Guest';
                                }
                                echo $user;
                                ?>

                                Password:&nbsp
                                <input type="password" name="srcpw">
                                <input type="submit" name="dspphp" value="Display PHP">

                </form>

Page 2:
<?PHP session_start(); ?>

    <META NAME='robots' CONTENT='noindex,nofollow'>
    <TITLE>Master Chief's Gamestore</TITLE>

                <form method="post">

                                      Master Chief's Gamestore

Success

                                    <input type='submit' name='main' value='Main'>
                                    <?PHP
                                    if ($_POST['main'] == "Main") {
                                        header('Location: http://~/index.php');
                                    }
                                    if ($_POST['act'] == "Display Code") {
                                        if ($_POST['pw'] == "pass") {
                                            highlight_file("success.php");
                                        }
                                    }
                                    ?>

                                Logged in as:
                                <?PHP
                                $user = $_SESSION['user'];
                                if (!$user)
                                    $user = 'Guest';
                                echo $user;
                                ?>

                                Password:&nbsp
                                <input type="password" name="pw">
                                <input type="submit" name="dspphp" value="Display PHP">

                </form>

EDIT: I've tried this sample code and it does NOT work.
Page 1:
<?php
session_start();
if (isset($_GET['link'])) {
    $_session['myvariable'] = 'Hello World';
    header('Location: http://' . $_SERVER['SERVER_NAME'] . dirname($_SERVER['REQUEST_URI']) . '/page2.php');
    exit;
}
?>
<a href="<?php print $_SERVER['REQUEST_URI'] . '?link=yes'; ?>">Click Here

Page 2:
<?php
session_start();
print 'Here is page two, and my session variable: ';
print $_session['myvariable'];
exit;
?>

But as I posted below, I have used sessions in other pages successfully on the same server. Soo frustrating....
Thanks for all the posts btw!

A: Make sure cookies are enabled so the second page actually re-creates the session of the first page instead of creating a new, empty one. Check out http://www.php.net/manual/en/session.idpassing.php for details.
EDIT
Another possible cause for sessions not working as expected, especially if it only affects certain pages, is that you have accidental whitespace or other output before your first 'session_start() error

A: It looks like you are just redirecting the user to the second page without posting anything.  You would want to set hidden variables and actually submit your form to the second page.  Re-directing will lose all the post variables.
If you want to send variables to the second page with a redirect, you can use session variables or a GET variable passed in with the URL to the second page.

A: Try using
$_SESSION['myvariable'] = 'Hello World';

in upper case


KCP&L customers and employees are eligible for a $3,000 rebate for the purchase of a new Nissan Leaf. Rebates are available through January 2, 2019. To receive the rebate, bring the flyer and a recent KCP&L utility bill or proof of employment to a local Nissan dealer. For more information, visit KCP&L's Clean Charge Network website.


text:
Q: Protractor configuration - is there a way to seperate some of the spec files from running asycnronously? I have some protractor tests for my angular web application (conf.js file at bottom of this post).
There are several tests stored in different .js files and then loaded in.
In addition to the tests, I am using multiple capabilities so that it can test my web site at various resolutions, firing up 5 browsers at once.  This works fine.
One of my test suites however, needs not to run at the same time as all of the other capabilities, this is because I have to require the server to change some settings for the tests I am performing to work.  I am not able to 'mock' these server calls, as the response from the server is crucial to the test I am running, and I need to see that I called and recieved the expected response from the actual server rather than a mocked up object.
Because of this, if any of the other tests from one of the other capabilities are running at the same time they get the wrong information back from the server.
As a work around I set maxSessions: 1 in my conf file, which stops the above problem, but means my tests take about forever to run!
Is there a way to give the spec declaration two arrays, so it knows to run a certain bunch of tests only when nothing else is running? ( i invented the seperateSpecs property to illustrate what i'm getting at)
For example :
specs: [testCanRunInTandom1.js, testCanRunInTandom2.js, testCanRunInTandom3.js],
seperateSpecs: [MustRunAloneWithoutOtherCapabilities.js, MustRunAloneWithoutOtherCapabilities2.js]
I've had a look about, but can't find anything.  An answer of 'no you really cant do that' would be acceptable, but i'm hoping someone knows some secret command you can give to protractor!
Here is my current conf.js file for reference :
 var specFiles = ['NavigationTests.js', 'HeaderTests.js', 'TableTypeTests.js', 'DepositTests.js','loginTests.js','userPrefsTests.js', 'progressBarTests.js', 'aboutPageTests.js'];

// multiCapabilities stuff set now near bottom of file to make it easier to add/change/remove capabilities

var HtmlReporter = require('protractor-html-screenshot-reporter');
var request = require('request');

var desktopSpec=
{
    // Desktop
   'browserName': 'chrome',
   'chromeOptions' :
   {
       args: ['--lang=en', '--window-size=1690,800']
   },
   specs: specFiles,

};

var iPhone3gSpec=
{
  //iphone 3G portrait
 'browserName': 'chrome',
 'chromeOptions' :
 {
  args: ['--lang=en',
         '--window-size=320,480']
 },
 specs: specFiles
};

var iPhone3gLandscapeSpec=
{
  //iphone 3G landscape
 'browserName': 'chrome',
 'chromeOptions' :
 {
  args: ['--lang=en',
         '--window-size=480,320']
 },
 specs: specFiles
};

var iPadSpec=
  {
    //ipad portrait
   'browserName': 'chrome',
   'chromeOptions' :
   {
    args: ['--lang=en',
           '--window-size=1024,768']
   },
   specs: specFiles
  };

var iPadLandscapeSpec=
{
  //ipad landscape
 'browserName': 'chrome',
 'chromeOptions' :
 {
  args: ['--lang=en',
         '--window-size=768,1024']
 },
 specs: specFiles
};

var multiCapabilities=[];
multiCapabilities.push(desktopSpec);
multiCapabilities.push(iPhone3gSpec);
multiCapabilities.push(iPhone3gLandscapeSpec);
multiCapabilities.push(iPadSpec);
multiCapabilities.push(iPadLandscapeSpec);

// Configuration file
exports.config = {
  directConnect: true,

  // Options to be passed to Jasmine-node.
  jasmineNodeOpts: {
    showColors: true,
    includeStackTrace: false,
    defaultTimeoutInterval: 30000
  },

  // Run the tests in the different windows sizes
  multiCapabilities: multiCapabilities,

   onPrepare: function() {
      // Add a screenshot reporter and store screenshots to `/tmp/testresults/screnshots`:
      jasmine.getEnv().addReporter(new HtmlReporter({
         baseDirectory: 'tmp/testresults/screenshots'
      }));
   },

   maxSessions: 1
   };


Birch branches are normally a handy addition to such special occasions as weddings, birthdays, Christmas, and many more. They are designed to decorate the living rooms, bedrooms, hallways, and kitchens, among others. Choosing the best birch branches is, however, key if you want to get the most out of them. This is because premium quality birch branches are perfectly natural. They will, therefore, bring in real wood fragrances. A good number of them are also sturdy enough to stand up to the adverse outdoor conditions. In these reviews, we help you make the right choice by providing you with nothing but the highest quality birch branches.
There are several ways to take the decorations of your home to another level. And one of them is to introduce this 30-inch tall tree with acrylic garlands. It has natural-looking branches, which can be accented with ribbons, flowers, and shining acrylic crystals. It also features clear acrylic garland chains that help add embellishments. The tree measures approximately 30 inches high by 11 inches long by 11 inches wide, and its base is around 6.5 inches wide. It comes in a variety of colors, styles, and sizes to choose from.
Give your living room or shop window a totally new look with the Lightshare 30Inch 20LED Natural Birch Berry Branch. It has four brown branches that are decorated with red berries to further enhance its appearance. The berry branch also features 20 LEDs that provide warm white lights. To power these lights, the branch has been upgraded with a USB plug-in power option as well as 3AA batteries (batteries not included). The USB plug can be plugged into smartphone chargers, USB wall chargers, laptop's chargers, and any other USB charger, which comes with a 5-volt output.
A package of this item will present you with up to 30 small birch branches with each measuring 1' to 2' high. The birch branches are made by a company that is committed to providing only premium quality natural craft products. The birch branches are beautiful, and they display deep mahogany color with white specks throughout. They are great for centerpieces, décor, vases, and crafts. With that said, they will do a stunning job in completely changing the overall looks of your living room, bedroom, hallway, or anywhere you place them.
The 1-year warranty that comes with this lighted tree light has convinced us to include it in these reviews. Also, we love the fact that the tree light comes with 100-percent satisfaction and zero hassle returns guarantee. The tree light is 0.6m/2ft. high, and it comes with 24 warm white LED lights to make it more beautiful. The lights are powered by 3 AA batteries (not included), and they give soft brightness without dazzling. The branches of this tree are bendable, meaning you can adjust them to any shape you like.
Before these branches reach the buyer, the manufacturer carefully examines them to ensure all branches are intact and clean. The branches are 1' – 2' tall, and they come in a pack of 60, so they can offer complete decoration. They look really beautiful and are great for crafts, vases, centerpieces, and décor. Ideally, these branches are made in the USA, meaning their quality should not be doubted. So, go ahead and get one for your living room, bedroom or hallway.
If you decide to buy birch branches, it is important to settle for the best. And that's where these birch branches from EcoWoodDecor comes into play. They are 100-percent natural and come in up to 200 pieces. Apart from décor, these birch branches can be used in floral arrangements. They give the perfect natural look and are very decorative. The branches come in 4 sets and each of them is naturally unique. To ensure that you buy with confidence, the manufacturer promises to offer help should you be in need of one.
EcoWoodDecor has not tested or preserved these birch branches with insecticides or any kind of chemicals. This will, therefore, give you peace of mind knowing that you are not putting your life on the line by handling harmful products. The birch branches are 100-percent natural and they look really beautiful. That being said, they are perfect for table decorations, wedding decorations, and any type of craft works. They are manually prepared European woods, meaning they not only have the perfect natural look but also have the real fragrance of wood.
Very few manufacturers are honest. And one of these manufacturers is EcoWoodDecor. The company is always willing to help out in case of any problem. Ideally, they are not just trying to win the hearts of their customers by being honest but also they are focused on producing top quality products. Well, that is clear in these birch twigs, which are 100-percent natural. The twigs even have the real fragrance of wood simply to prove how natural they are. The birch twigs are available in 3 bundles with each bundle having 50 pieces.
The material used to make these twig lights is copper. Well, this means you will be getting a premium quality product should you decide to make a purchase. The branches of this item can be stretched, so the lights can decorate the vase and the flowers. These lights are up to 20 pieces, and this means they provide enough illumination for the ultimate decoration. They have a lifetime of 10000 hours, which, in our opinion, is just fine. Use these twig lights for Christmas, wedding, engagement, birthday or Valentine's Day.
Innovative Stencils have made this birch tree a must-have. They have equipped it with green leaves and branches, so it can look perfect anywhere you place it. Talking of the place to put it, the birch tree can be placed on any surface be it non-porous, smooth or semi-smooth. Unlike most birch branches, this birch tree can be used outdoors because it is well made. It comes with full easy-to-understand instructions to make sure that you do not experience any problem trying to put it together.
Whether you are preparing for Christmas, wedding, birthday or just want to take the looks of your home a notch higher, birch branches should be a frontier for you. They are affordable, unique, and will certainly bring in the natural feel of the most amazing forests you can ever think of.