What Is Norm-Referenced And Criterion-Referenced Evaluation

Two alternative approaches to educational testing that must be thoroughly understood are norm-referenced testing and criterion-referenced testing. Although there are similarities between these two approaches to testing, there are also fundamental differences between norm and criterion referenced testing.There have been disputations about the relative virtues of norm and criterion-referenced measurements for a long time. However, a fundamental fact is recognised by most of concerned people that norm-referenced and criterion-referenced testing are complementary approaches. Check for Educational Evaluations in US at UT Evaluators

(i) Criterion-Referenced Evaluation:

When the evaluation is concerned with the performance of the individual in terms of what he can do or the behaviour he can demonstrate, is termed as criterion- referenced evaluation. In this evaluation there is a reference to a criterion.But there is no reference to the performance of other individuals in the group. In it we refer an individual’s performance to a predetermined criterion which is well defined.

Examples:

(i) Raman got 93 marks in a test of Mathematics.

(ii) A typist types 60 words per minute.

(iii) Amit’s score in a reading test is 70.

A simple working definition of Criterion-Referenced Evaluation :

A criterion-referenced test is used to ascertain an individual’s status with respect to a defined achievement domain.In the above examples there is no reference to the performance of other members of the group. Thus criterion-referenced evaluation determines an individual’s status with reference to well defined criterion behaviour.

It is an attempt to interpret test results in terms of clearly defined learning outcomes which serve as referents (criteria). Success of criterion-reference test lies in the delineation of all defined levels of achievement which are usually specified in terms of behaviourally stated instructional objectives.

The purpose of criterion-referenced evaluation/test is to assess the objectives. It is the objective based test. The objectives are assessed, in terms of behavioural changes among the students.Such type of test assesses the ability of the learner in relation to the criterion behaviour. Glasar (1963) first used this term, ‘Criterion-reference test’ to describe the learner’s achievement on a performance continuum.Hively and Millman (1974) suggested a new term, ‘domain-referenced test’ and to them the word ‘domain’ has a wider connotation. A criterion referenced test can measure one or more assessment domain.

(ii) Norm Referenced Evaluation:

Norm-referenced evaluation is the traditional class-based assignment of numerals to the attribute being measured. It means that the measurement act relates to some norm, group or a typical performance.It is an attempt to interpret the test results in terms of the performance of a certain group. This group is a norm group because it serves as a referent of norm for making judgements.

Test scores are neither interpreted in terms of an individual (self-referenced) nor in terms of a standard of performance or a pre-determined acceptable level of achievement called the criterion behaviour (criterion-referenced). The measurement is made in terms of a class or any other norm group.Almost all our classroom tests, public examinations and standardised tests are norm-referenced as they are interpreted in terms of a particular class and judgements are formed with reference to the class. Educational Evaluations in US visit here

Examples:

(i) Raman stood first in Mathematics test in his class.

(ii) The typist who types 60 words per minute stands above 90 percent of the typists who appeared the interview.

(iii) Amit surpasses 65% of students of his class in reading test.

A simple working definition Norm Referenced Evaluation :

A norm-referenced test is used to ascertain an individual’s status with respect to the performance of other individuals on that test.In the above examples, the person’s performance is compared to others of their group and the relative standing position of the person in his/her group is mentioned. We compare an individual’s performance with similar information about the performance of others.

That is why selection decisions always depend on norm- referenced judgements. A major requirement of norm-referenced judgements is that individuals being measured and individuals forming the group or norm, are alike. In norm-referenced tests very easy and very difficult items are discarded and items of medium difficulty are preferred because our aim is to study relative achievement.

Benefits and Security Of Cloud Computing

But there’s another, more precise meaning of cloud computing: the virtualization and central management of data center resources as software-defined pools. This technical definition of cloud computing describes how public cloud service providers run their operations. The key advantage is agility: the ability to apply abstracted compute, storage, and network resources to workloads as needed and tap into an abundance of pre-built services. Check for Benefits and Security Of Cloud Computing in Linkedphone

From a customer perspective, the public cloud offers a way to gain new capabilities on demand without investing in new hardware or software. Instead, customers pay their cloud provider a subscription fee or pay for only the resources they use. Simply by filling in web forms, users can set up accounts and spin up virtual machines or provision new applications. More users or computing resources can be added on the fly—the latter in real time as workloads demand those resources thanks to a feature known as auto-scaling.

Benefits of cloud computing

The cloud’s main appeal is to reduce the time to market of applications that need to scale dynamically. Increasingly, however, developers are drawn to the cloud by the abundance of advanced new services that can be incorporated into applications, from machine learning to internet-of-things connectivity.Although businesses sometimes migrate legacy applications to the cloud to reduce data center resource requirements, the real benefits accrue to new applications that take advantage of cloud services and “cloud native” attributes. The latter include microservices architecture, Linux containers to enhance application portability, and container management solutions such as Kubernetes that orchestrate container-based services. Cloud-native approaches and solutions can be part of either public or private clouds and help enable highly efficient devops-style workflows.

Cloud computing security

Objections to the public cloud generally begin with cloud security, although the major public clouds have proven themselves much less susceptible to attack than the average enterprise data center. Of greater concern is the integration of security policy and identity management between customers and public cloud providers. In addition, government regulation may forbid customers from allowing sensitive data off premises. Other concerns include the risk of outages and the long-term operational costs of public cloud services.

H1B Visa Refusal on Rise under Administrative Processing by US Immigration

There has been an increase in the number of ‘administrative processing’ cases under the 221G section of the US Immigration and Nationality Act, restricting re-issuance of H1B Visa to those who hold jobs in the United States, according to some sources. Reportedly, a number of Indians in information technology, who have been holding H1B visas and working in USA for some years, got stuck in India on their recent visit as their applications to the US consulates in India were placed under administrative processing for an additional background check and security clearance. Check for H1B Visa Evaluation in UT Evaluators

Administrative Processing is not outright refusal of one’s H1B visa application. It is temporary refusal, but it may be frustrating. US Visa consulting experts opine that administrative processing is not an uncommon incidence. The primary objective of issuing temporary refusals to some H1B visa applicants or holders is to seek additional information or documents from them for closer scrutiny.

According to off-site employment and immigration experts, administrative processing under the 221G section of the US Immigration and Nationality Act affects only 2% of H1B visa holders or new applicants. However, this incidence has increasingly been reported over the past few months.

If you are unlucky to face such refusal of your H1B visa application or renewal, you may be required to wait several weeks for the final outcome. The waiting period may be stretched for a few months or years in the worst cases of administrative processing. Even a previously approved H1B visa application may be revoked in this case.

The documents of those placed under the 221G section of the US Immigration and Nationality Act are forwarded to such agencies as FBI, CIA, DEA, Interpol, the US Department of Commerce, and the US Department of Treasury’s Office of Foreign Assets Control for a thorough background check. H1B Visa Process Check here

The documents that H1B visa holders and new applicants are required to provide in case of administrative processing include but not limited to the following:

.Job offer letter or employment agreement from the employer

.Duly signed letter from the client validating the beneficiary’s assignment

.Detailed project description mostly for in-house projects

.Contract between the petitioner and the client or mid-vendor

.Details of services that the beneficiary is required to perform, work sites and dates

.Valid evidence of the beneficiary’s previous work experience and educational qualifications

.Financial documents including both the beneficiary and the petitioner’s tax returns and pay statements

If you are an H1B visa holder and planning to travel to outside of USA especially when the visa is awaiting renewal in the near future, make sure to carry all the relevant documents required for hassle-free visa stamping to reenter the US.

Benefits & Features Of Cloud Based Phone System

Most organizations have for the longest time relied on traditional phone systems which are time-consuming an expensive, but since the introduction of cloud based business phone system, all of this has changed. A cloud system is one that allows you to upload all your information and details online such that you can easily access it online. Check for Benefits & Features Of Cloud Based Phone System in Linkedphone

Features of a Great Cloud Phone System

Auto Attendant

A lot of organizations that receive a lot of calls have embraced auto phone attendants. This is an important business phone system especially if you do not have a dedicated person who answers phone calls. The auto attendant receives calls and provides the caller with the different options on how to be assisted plus allowing call transfers.

Auto Call Forwarding

Instead of having to do this manually, the cloud based business phone system automatically transfer calls to other devices till the call is answered. This makes it easy to serve clients and ensure that you maximize on the number of calls that you receive.

Flexibility

This saves time and makes multitasking so much easier. One can easily upload call details on the cloud which makes it accessible on the internet via a mobile device. This allows one to be mobile instead of being stuck at a desk all the time. Benefits of Cloud Hosting

Simplicity

There is no complicated set up required for cloud systems nor does it take up space as everything is stored on an online server.

Increased Efficiency

Integrating your business phone system enhances connectivity such that employees can communicate easily and effectively. It is easy to get access to different people whether they are in the office or not which greatly improves their ability to get work done more effectively.

Better Customer Service

Cloud phone systems allows for virtual receptionists and auto attendants which provides a platform for calls to be redirected where they can be attended to. This is done automatically which allows the organization to ensure that their customers are well attended to.

Ensures Continuity

As the systems are uploaded online, there are no external factors that could affect communications. This ensures that the business phone system is always online throughout which means that customers are always attended to, and communications are well done.

Cloud based business phone system is affordable, easy and as efficient. This allows you to always be connected and to ensure that you can always communicate within your organization and with your clients and customers. The benefits will lead to a lot of production and increased communication which is essential in any business. Cebod Telecom provides cloud-based telephony solutions for small to mid-sized enterprises, and larger companies delivering high- quality voice, premium features and unified communications. Cebod Telecom offers a state-of-the-art Pay-Per-Line business phone service model. This pricing model empowers businesses to pay per line as opposed to pay-per-user in the company.

JavaScript Start-up Performance

As web developers, we know how easy it is to end up with web page bloat. But loading a webpage is much more than shipping bytes down the wire. Once the browser has downloaded our page’s scripts it then has to parse, interpret & run them. In this post, we’ll dive into this phase for JavaScript, why it might be slowing down your app’s start-up & how you can fix it.

Historically, we just haven’t spent a lot of time optimizing for the JavaScript Parse/Compile step. We almost expect scripts to be immediately parsed and executed as soon as the parser hits a <script> tag. But this isn’t quite the case. Here’s a simplified breakdown of how V8 works:

A simplified view of how V8 works. This is our idealized pipeline that we’re working towards.

Let’s focus on some of the main phases.

What slows our web apps from booting up?

Parsing, Compiling and Executing scripts are things a JavaScript engine spends significant time in during start-up. This matters as if it takes a while, it can delay how soon users can interact with our site. Imagine if they can see a button but not click or touch it for multiple seconds. This can degrade the user experience.

Parse & Compile times for a popular website using V8’s Runtime Call Stats in Chrome Canary. Notice how a slow Parse/Compile on desktop can take far longer on average mobile phones.

Start-up times matter for performance-sensitive code. In fact, V8 – Chrome’s JavaScript engine, spends a large amount of time parsing and compiling scripts on top sites like Facebook, Wikipedia and Reddit:

The pink area (JavaScript) represents time spent in V8 and Blink’s C++, while the orange and yellow represent parse and compile.

Parse and Compile have also been highlighted as a bottleneck by a number of large sites & frameworks you may be using. Below are tweets from Facebook’s Sebastian Markbage and Google’s Rob Wormald:

Sam Saccone calls out the cost of JS parse in ‘Planning for Performance’

As we move to an increasingly mobile world, it’s important that we understand the time spent in Parse/Compile can often be 2–5x as long on phones as on desktop. Higher-end phones (e.g the iPhone or Pixel) will perform very differently to a Moto G4. This highlights the importance of us testing on representative hardware (not just high-end!) so our users’ experiences don’t suffer.

Parse times for a 1MB bundle of JavaScript across desktop & mobile devices of differing classes. Notice how close a high-end phone like an iPhone 7 is to perf on a Macbook Pro vs the performance as we go down the graph towards average mobile hardware.

If we’re shipping huge bundles for our app, this is where endorsing modern bundling techniques like code-splitting, tree-shaking and Service Worker caching can really make a huge difference. That said, even a small bundle, written poorly or with poor library choices can result in the main thread being pegged for a long time in compilation or function call times. It’s important to holistically measure and understand where our real bottlenecks are.

What Are JavaScript Parse & Compile bottlenecks for the average website?

“Buuuut, I’m not Facebook”, I hear you say dear, reader. “How heavy are Parse & Compile times for average sites out in the wild?”, you might be asking. Let’s science this out!

I spent two months digging into the performance of a large set of production sites (6000+) built with different libraries and frameworks — like React, Angular, Ember and Vue. Most of the tests were recently redone on WebPageTest so you can easily redo them yourself or dig into the numbers if you wish. Here are some insights. For Website development services check Vivid Designs

Apps became interactive in 8 seconds on desktop (using cable) and 16 seconds on mobile (Moto G4 over 3G)

What contributed to this? Most apps spent an average of 4 seconds in start-up (Parse/Compile/Exec)..on desktop.

On mobile, parse times were up to 36% higher than they were on desktop.

Was everyone shipping huge JS bundles? Not as large as I had guessed, but there’s room for improvement. At the median, developers shipped 410KB of gzipped JS for their pages. This is in line with the 420KB over ‘average JS per page’ reported by the HTTPArchive. The worst offenders were sending anywhere up to 10MB of script down the wire. Oof.

HTTPArchive stat: the average page ships down 420KB of JavaScript

Script size is important, but it isn’t everything. Parse and Compile times don’t necessarily increase linearly when the script size increases. Smaller JavaScript bundles generally do result in a faster load time (regardless of our browser, device & network connection) but 200KB of our JS !== 200KB of someone else’s and can have wildly different parse and compile numbers.

Measuring JavaScript Parse & Compile today

Chrome DevTools

Timeline (Performance panel) > Bottom-Up/Call Tree/Event Log will let us drill into the amount of time spent in Parse/Compile. For a more complete picture (like the time spent in Parsing, Preparsing or Lazy Compiling), we can turn on V8’s Runtime Call Stats. In Canary, this will be in Experiments > V8 Runtime Call Stats on Timeline.

Chrome Tracing

about:tracing — Chrome’s lower-level Tracing tool allows us to use the `disabled-by-default-v8.runtime_stats` category to get deeper insights into where V8 spends its time. V8 have a step-by-step guide on how to use this that was published just the other day.

WebPageTest

WebPageTest’s “Processing Breakdown” page includes insights into V8 Compile, EvaluateScript and FunctionCall time when we do a trace with the Chrome > Capture Dev Tools Timeline enabled.

We can now also get out the Runtime Call Stats by specifying `disabled-by-default-v8.runtime_stats` as a custom Trace category (Pat Meenan of WPT now does this by default!).

For a guide on how to get the most out of this, see this gist I wrote up.

User Timing

It’s possible to measure Parse times through the User Timing API as Nolan Lawson points out below:

The third <script> here isn’t important, but it’s the first <script> being separate from the second (performance.mark() starting before the <script> has been reached) that is.

This approach can be affected on subsequent reloads by V8’s preparser. This could be worked around by appending a random string to the end of the script, something Nolan does in his optimize-js benchmarks.

I use a similar approach for measuring the impact of JavaScript Parse times using Google Analytics:

A custom Google Analytics dimension for ‘parse’ allows me to measure JavaScript parse times from real users and devices hitting my pages in the wild.

DeviceTiming

Etsy’s DeviceTiming tool can help measure parse & execution times for scripts in a controlled environment. It works by wrapping local scripts with instrumentation code so that each time our pages are hit from different devices (e.g laptops, phones, tablets) we can locally compare parse/exec. Daniel Espeset’s Benchmarking JS Parsing and Execution on Mobile Devicesgoes into more detail on this tool.

What can we do to lower our JavaScript parse times today?

  • Ship less JavaScript. The less script that requires parsing, the lower our overall time spent in the parse & compile phases will be.
  • Use code-splitting to only ship the code a user needs for a route and lazy load the rest. This probably is going to help the most to avoid parsing too much JS. Patterns like PRPL encourage this type of route-based chunking, now used by Flipkart, Housing.com and Twitter.
  • Script streaming: In the past, V8 have told developers to use `async/defer` to opt into script streaming for parse-time improvements of between 10–20%. This allows the HTML parser to at least detect the resource early, push the work to the script streaming thread and not halt the document parsing. Now that this is done for parser-blocking scripts too, I don’t think there’s anything actionable we need to do here. V8 recommend loading larger bundles earlier on as there’s only one streamer thread (more on this later)
  • Measure the parse cost of our dependencies, such as libraries and frameworks. Where possible, switch them out for dependencies with faster parse times (e.g switch React for Preact or Inferno, which require fewer bytes to bootup and have smaller parse/compile times). Paul Lewis covered framework bootup costs in a recent article. As Sebastian Markbage has also noted, a good way to measure start-up costs for frameworks is to first render a view, delete and then render again as this can tell you how it scales. The first render tends to warm up a bunch of lazily compiled code, which a larger tree can benefit from when it scales.

If our JavaScript framework of choice supports an ahead-of-time compilation mode (AoT), this can also help heavily reduce the time spent in parse/compile. Angular apps benefit from this for example: Top web development company in Hyderabad visit Vivid Designs 

Nolan Lawson’s ‘Solving the Web Performance Crisis’

What are browsers doing to improve Parse & Compile times today?

Developers are not the only ones to still be catching up on real-world start-up times being an area for improvement. V8 discovered that Octane, one of our more historical benchmarks, was a poor proxy for real-world performance on the 25 popular sites we usually test. Octane can be a poor proxy for 1) JavaScript frameworks (typically code that isn’t mono/polymorphic) and 2) real-page app startup (where most code is cold). These two use-cases are pretty important for the web. That said, Octane isn’t unreasonable for all kinds of workloads.

The V8 team has been hard at work improving start-up time and we’ve already seem some wins here:

We also estimate a 25% improve on V8 parse times for many pages looking at our Octane-Codeload numbers:

And we’re seeing wins in this area for Pinterest too. There are a number of other explorations V8 has started over the last few years to improve Parsing and Compile times.

Code caching

From using V8’s code caching

Chrome 42 introduced code caching — a way to store a local copy of compiled code so that when users returned to the page, steps like script fetching, parsing and compilation could all be skipped. At the time we noted that this change allowed Chrome to avoid about 40% of compilation time on future visits, but I want to provide a little more insight into this feature:

  • Code caching triggers for scripts that are executed twice in 72 hours.
  • For scripts of Service Worker: Code caching triggers for scripts that are executed twice in 72 hours.
  • For scripts stored in Cache Storage via Service Worker: Code caching triggers for scripts in the first execution.

So, yes. If our code is subject to caching V8 will skip parsing and compiling on the third load.

We can play around with these in chrome://flags/#v8-cache-strategies-for-cache-storage to look at the difference. We can also run Chrome with — js-flags=profile-deserialization to see if items are being loaded from the code cache (these are presented as deserialization events in the log).

One caveat with code caching is that it only caches what’s being eagerly compiled. This is generally only the top-level code that’s run once to setup global values. Function definitions are usually lazily compiled and aren’t always cached. IIFEs (for users of optimize-js ;)) are also included in the V8 code cache as they are also eagerly compiled.

Script Streaming

Script streaming allows async or defer scripts to be parsed on a separate background thread once downloading begins and improves page loading times by up to 10%. As noted earlier, this now also works for sync scripts.

Since the feature was first introduced, V8 have switched over to allowing all scriptseven parser blocking <script src=””> to be parsed on a background thread so everyone should be seeing some wins here. The only caveat is that there’s only one streaming background thread and so it makes sense to put our large/critical scripts in here first. It’s important to measure for any potential wins here.

Practically, <script defer> in the <head> so we can discover the resource early and then parse it on the background thread.

It’s also possible to check with DevTools Timeline whether the correct scripts get streamed — if there’s one big script that dominates the parse time, it would make sense to make sure it’s (usually) picked up by the streaming.

Better Parsing & Compiling

Work is ongoing for a slimmer and faster Parser that frees up memory and is more efficient with data structures. Today, the largest cause of main thread jank for V8 is the nonlinear parsing cost. Take a snippet of UMD:

(function (global, module) { … })(this, function module() { my functions })

V8 won’t know that module is definitely needed so we won’t compile it when the main script gets compiled. When we decide to compile module, we need to reparse all of the inner functions. This is what makes V8’s parse-times non-linear. Every function at n-th depth is parsed n times and causes jank.

V8 are already working on collecting info about inner functions during the initial compile, so any future compilations can ignore their inner functions. For module-style functions, this should result in a large perf improvement.

See ‘The V8 Parser(s) — Design, Challenges, and Parsing JavaScript Better’ for the full story.

V8 are also exploring offloading parts of JavaScript compilation to the background during startup.

Precompiling JavaScript?

Every few years, it’s proposed engines offer a way to precompile scripts so we don’t waste time parsing or compiling code pops up. The idea is if instead, a build-time or server-side tool can just generate bytecode, we’d see a large win on start-up time. My opinion is shipping bytecode can increase your load-time (it’s larger) and you would likely need to sign the code and process it for security. V8’s position is for now we think exploring avoiding reparsing internally will help see a decent enough boost that precompilation may not offer too much more, but are always open to discussing ideas that can lead to faster startup times. That said, V8 are exploring being more aggressive at compiling and code-caching scripts when you update a site in a Service Worker and we hope to see some wins with this work.

We discussed precompilation at BlinkOn 7 with Facebook and Akamai and my notes can be found here.

The Optimize JS lazy-parsing parens ‘hack’

JavaScript engines like V8 have a lazy parsing heuristic where they pre-parse most of the functions in our scripts before doing a complete round of parsing (e.g to check for syntax errors). This is based on the idea that most pages have JS functions that are lazily executed if at all.

Pre-parsing can speed up startup times by only checking the minimal a browser needs to know about functions. This breaks down with IIFEs. Although engines try to skip pre-parsing for them, the heuristics aren’t always reliable and this is where tools like optimize-js can be useful.

optimize-js parses our scripts in advance, inserts parenthesis where it knows (or assumes via heuristics) functions will be immediately executed enabling faster execution. Some of the paren-hacked functions are sure bets (e.g IIFEs with !). Others are based on heuristics (e.g in a Browserify or Webpack bundle it’s assumed all modules are eagerly loaded which isn’t necessarily the case). Eventually, V8 hopes for such hacks to not be required but for now this is an optimization we can consider if we know what you’re doing.

V8 are also working on reducing the cost for cases where we guess wrong, and that should also reduce the need for the parens hack

Conclusions

Start-up performance matters. A combination of slow parse, compile and execution times can be a real bottleneck for pages that wish to boot-up quickly. Measure how long your pages spend in this phase. Discover what you can do to make it faster.

We’ll keep working on improving V8 start-up performance from our end as much as we can. We promise 😉 Happy perfing!

Source

Voip Business Phone Systems Are Advantageous For Enterprises Functioning

In today’s competitive corporate world, every business firm, whether small or large, has to make good use of modern communication technologies, in order to present a competitive and customer friendly approach. Effective communication has a key role to play in the success of every business, regardless of the medium used. As a faster medium of communication, small business phone systems have their own specific role to play in the smooth running of an organization. Whenever we talk about small business phone systems, the technology that comes to our minds is the Private Branch Exchange system, commonly referred to as PBX. It can be called the private telephone exchange of any business firm or office, but is often recommended as an economical option for firms, where the number of employees is greater than forty. Check for Voip Business Phone Systems in Linkedphone

The installation of VoIP communication systems in a business enterprise has now become an essential requirement to increase productivity, reduce costs and improve efficiency. The VoIP (Voice over Internet Protocol) phone system is a powerful and easy to use telephone system that allows you to make phone calls directly from your computer. To use a VoIP business phone system, there is no need to invest in special equipment. All that is required is a regular telephone with an Internet connection.

Whether for a small enterprise or the largest enterprises, this communication system can resolve many of the communication problems that you might have with your regular phone lines. When compared to traditional phone lines, VoIP phone systems are an affordable option, and best of all, these help to maintain hassle-free communication, within the organization as well as outside, with the associated advanced features and great calling plans. VoIP business phone systems are advantageous for enterprises functioning in multiple locations. The biggest advantages of Voice over IP telephone systems are the great convenience they offer, and the many amazing features. The key features include auto attendant, pager notify, voice to email, inbound caller ID lookup, outbound caller ID blocking, call waiting, music on hold, e-mail message delivery, cell phone message notify, speed dialing, multiple find-me numbers per extension, last dialed redial, do not disturb option, and custom menus.

The advantages that can be gained by using VoIP phone systems are: • Unify multiple employees at different locations with one phone number • Transfer calls easily to anyone, anywhere • No new hardware required; use existing phones • Prioritize your calls • Easier to install and manage • Simplified management

However, there are a few disadvantages associated with VoIP business phone systems. The network requirements and the potential for outages are its two main drawbacks. Once you decide to purchase an IP communication system for your business, the next step is to determine which piece of equipment is right for you. A number of hosted PBX telephone system service providers are active in the market, offering different models of telecommunication systems with great features to drive your business forward and ensure its future success. Before deciding on any one service, you should gain a clear understanding of its great features, service plans, ratesFind Article, and the maintenance costs involved.

Angular 2 Forms Tutorial – Validation

Introduction

In the first part of this Angular 2 Forms series we’ve created a first form component in Angular 2. This was just a simple form consisting of the following input elements:

In the first part of this Angular 2 Forms series we’ve created a first form component in Angular 2. This was just a simple form consisting of the following input elements:This form has been implemented by using the template-driven forms approach of Angular 2. This means that a component’s template was used to arrange the forms HTML elements. In addition Angular 2 form directives have been used in the template to enable the framework to construct the internal control model that implements form functionality. The following template code was used: For Top web design company check Vivid Designs

<div class="container">
  <h1>Book Form:</h1>
  <form>
    <div>
      <label for="title">Title</label>
      <input type="text" class="form-control" id="title" required [(ngModel)]="model.title" name="title">
    </div>
    <div>
      <label for="author">Author</label>
      <input type="text" class="form-control" id="author" required [(ngModel)]="model.author" name="author">
    </div>
    <div>
      <label for="url">URL</label>
      <input type="text" class="form-control" id="url" required [(ngModel)]="model.url" name="url">
    </div>
    <button type="submit" class="btn btn-default">Submit</button>
  </form>
  <div>
    <h2>Model:</h2>
    {{ currentBook }}
  </div>
</div>

In this second part of the Angular 2 Forms series we’re going to focus on another important aspect of form creation: input validation. Angular 2 makes form validation very easy. In the following you’ll learn how to use apply form validation by using HTML validation attributes and Angular 2 validation functionality.

Adding HTML Validation Attributes To Input Elements

Form validation in Angular 2 is based on HTML validation attributes. HTML validation attribute are used in input elements. One validation attribute has already been applied to all three input elements of our form: required. The required attribute defines that entering a value in the input field is mandatory. A full list of HTML validation attributes can be found at https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5/Constraint_validation.

Now we’re going to add to more validation attributes to the first input field of the book title. Let’s define that we want the user to input a title which has a length between 5 and 30 characters:

<input type="text" class="form-control" id="title" required minlength="5" maxlength="30" [(ngModel)]="model.title" name="title">

To implement that constraint we’re adding the HTML validation attributes minlength and maxlength to the input element

Furthermore we’re using the pattern HTML validation attribute to for the URL input field:

<input type="text" class="form-control" id="url" required pattern="https?://.+" [(ngModel)]="model.url" name="url">

Herewith we make sure that only valid URLs starting with http:// or https://can be entered in this input field.

Adding Validation Error Messages To The Form

In the next step we’re going to include error messages in the form template. If a certain validation rule is not met these messages should be displayed to the user:

<div class="container">
  <h1>Book Form:</h1>
  <form>
    <div class="form-group">
      <label for="title">Title</label>
      <input type="text" class="form-control" id="title" required minlength="5" maxlength="30" [(ngModel)]="model.title" name="title" #title="ngModel">
      <div *ngIf="title.errors && (title.dirty || title.touched)" class="alert alert-danger">
        <div [hidden]="!title.errors.required">
          Book title is required!
        </div>
        <div [hidden]="!title.errors.minlength">
          Title must be at least 5 characters long.
        </div>
        <div [hidden]="!title.errors.maxlength">
          Title cannot be more than 30 characters long.
        </div>
      </div>
    </div>
    <div class="form-group">
      <label for="author">Author</label>
      <input type="text" class="form-control" id="author" required [(ngModel)]="model.author" name="author" #author="ngModel">
      <div *ngIf="author.errors && (author.dirty || author.touched)" class="alert alert-danger">
        <div [hidden]="!author.errors.required">
          Book author is required!
        </div>
      </div>
    </div>
    <div class="form-group">
      <label for="url">URL</label>
      <input type="text" class="form-control" id="url" required pattern="https?://.+" [(ngModel)]="model.url" name="url" #url="ngModel">
      <div *ngIf="url.errors && (url.dirty || url.touched)" class="alert alert-danger">
        <div [hidden]="!url.errors.required">
          URL is required!
        </div>
        <div [hidden]="!url.errors.pattern">
          Must be a valid URL!
        </div>
      </div>
    </div>
    <div>
      <button type="submit" class="btn btn-default">Submit</button>
    </div>
  </form>
  <div>
    <h2>Model:</h2>
    {{ currentBook }}
  </div>
</div>

First of all notice that template variables have been introduced for all three input elements by adding

  • #title="ngModel" to the title input control
  • #author="ngModel” to the author input control
  • #url="ngModel" to the URL input control

By using the variables titleauthor and url in the code we now have access to the form controls. We are able to check if the form control is in an error state and display messages to the user. Best web development company in Hyderabad visit Vivid Designs

To display error messages a div element is included for every input element

<div *ngIf="title.errors && (title.dirty || title.touched)" class="alert alert-danger"> ... </div>

NgIf is used to only display the content of this element if the assigned expression string is valid. The expression becomes valid if the control is in an error state (title.errors is true) and at the same time the control is marked is dirty (title.dirty is true) or is marked as touched (title.touch is true). This ensures the error messages are not displayed initially. If the dirty flag is set the value of the input element has been changed by the user. If the touched flag is set to true the control has been visited by the user.

For each error message another div block is placed inside of the previously described block:

<div [hidden]="!title.errors.required">
Book title is required!
</div>

The hidden attribute is bound to the negated value of the respective error. E.g. if title.errors.required is true (which means the field value is empty) the hidden attribute is set to false, so that the error message is displayed.

Using Angular 2 Validation CSS Classes

Angular 2 automatically attached CSS classes to the input elements depending on the state of the control. The following class names are used:

  • ng-touched: Control has been visited
  • ng-untouched: Control has not been visited
  • ng-dirty: Control’s value has been changed
  • ng-pristine: Control’s value hasn’t been changed
  • ng-valid: Control’s value is valid
  • ng-invalid: Control’s value isn’t valid

We can make use of those class by defining CSS styling which gives additional visual feedback to the user. Insert the following code into file book-form.component.css:

.ng-valid[required], .ng-valid.required  {
  border-left: 5px solid #42A948; /* green */
}
.ng-invalid:not(form)  {
  border-left: 5px solid #a94442; /* red */
}

First, a red border is display on the left side of the input controls, indicating that a value is missing. If the user starts typing the and the field constraints are fulfilled the color changes to green.

Form Validation

The validation logic we’ve implemented so far is specific for single input fields of the form. We’re able to extend the logic to also take into consideration the validation status of the complete form. The evaluate if a form is valid or invalid can be useful to e.g. control if the form can be submitted or not.

First let’s introduce a new template variable for the form itself:

<form #bookForm="ngForm">

With that code in place we’re able to retrieve the validity status of the form by using bookForm.form.valid. Only if all input controls of the form a valid the form becomes valid too.

The form validity status can now be used together with the disabled attribute of the form’s submit button:

<button type="submit" class="btn btn-default" [disabled]="!bookForm.form.valid">Submit</button>

Now the submit button is only enables of the form is in valid state.

The final result can be seen in the following:

Credit

The 10 Cloud Based Features That Can Benefit Your Small Business

As small businesses change and grow, the ability to quickly scale up — or down — becomes a necessity. Adding new employees, for example, requires the company to adapt its phone system to accommodate the need for more lines.That is harder to accomplish using traditional on-premise telephony systems due to higher setup and maintenance costs, the need for hardware on-site and reliance on IT support. A cloud-based phone system, on the other hand, would enable small businesses to manage communication services in a less costly, more streamlined and agile manner.The following points, gleaned from an email exchange between Small Business Trends and Aaron Charlesworth, VP of product marketing at Vonage, outline the benefits that small businesses can accrue by switching from traditional PBX systems to cloud-based VoIP technology. Check for 10 Cloud Based Features That Can Benefit Your Small Business in Linkedphone

Many small businesses today are making the switch over to Cloud based business phone systems. There are plenty of advantages to using such a service, but a lot of small business owners are overlooking some of the most valuable features. Beyond options like voicemail, call waiting, toll free numbers, call forwarding, and remote operation, you’ll find a host of other features that can help your small business.

1: Door phone entry buzzer integration

This feature allows you to integrate an analog door phone so that you can have a two-way call with visitors and then unlock the door from your phone if you deem them worthy. A great way to upgrade the security of your building.

2: Find me/follow me call routing

Mobile workers will appreciate this feature. Find me/follow me call routing allows you to create a list of numbers where you can be found before the call gets pushed to voicemail. So, for example, you might have your office phone ring twice, but on the third ring, your cell phone starts to ring, and then on the fifth, your home phone. If the list is exhausted, the caller gets sent to voicemail.

3: Voicemail to email transcription

Voicemail to email transcription transcribes your voicemail messages to text and sends them to a preferred email. You don’t have to worry about furiously scribbling names, numbers, and addresses. Take your time and read them in your email at your leisure. This also allows you to file, organize, delete, and search all your voicemails in a way that would otherwise be impossible.

4: Music on hold

If your company often has to put callers on hold, this feature is a necessity. Do not subject your callers to terrible elevator music — or worse, silence. This feature allows you to choose what your callers listen to as they wait. (Tip: You can’t go wrong with Journey.)

5: Bandwidth utilization and inbound/outbound call detail reports

Data! As a business, data tracking is essential to figure out where to direct your company’s time and energy. A managed, cloud-based VoIP service can provide bandwidth utilization information that allows you to view data usage over a period of time. Inbound and outbound call detail reports let you view details of your company’s call history, including rate centers, duration, originator, destination, and cost.

6: Call screening

Call screening is an often-forgotten feature of the VoIP business world that can come in handy. It allows you to look at a number on the caller ID and choose how to treat it. For example, if your spouse is calling, you can redirect the number to your cell phone. Or if it’s a caller that keeps trying to sell you energy supplements, you can disconnect them.

7: Coaching tools

Instead of giving your employees advice after they’ve hung up the phone, give them advice while they’re on the call. Two features can help you train and monitor your employees’ on-phone performance: barge and whisper. Barge allows you to listen to a conversation between an employee and a client without interrupting. You can alert them — or decide not to. Whisper allows you to provide advice, tips, and information to your employees while they are on the phone with a client without the client being aware.

8: Auto attendant

An auto attendant is one of the hidden gems of premium VoIP services. This feature allows callers to interact with a menu to choose an appropriate extension. Your business will suddenly seem more professional and impressive. It’s like having an electronic receptionist!

9: Conferencing

Most people know about conferencing with VoIP services, but not everyone takes advantage of all the features that might come with it. Often, you can set up a conference floor monitor. This allows you to manage invitations, “hand-raises,” muting individuals, etc. Online conferences can get messy and confusing if not managed correctly, so this is a great tool to learn how to use.

10: Do not disturb

This feature does exactly what its name implies: leaves you undisturbed. You can turn it on to temporarily stop incoming calls to your phone. This becomes especially useful during conferences, lunches, and meetings. Best of all, you can program it so that it does not just ignore callers, but directs them toward voicemail or another destination of your choice.

Get a ‘Portable’ Virtual Phone Number For Your Small Business

It can be dangerous to give out your phone number to people you don’t know, and that’s normally the case when a website asks you for your phone number. Fortunately, just like with anonymous email addresses and debit cards, you can also grab an anonymous, virtual phone number to mask your real number.When you use a virtual phone number, only that number is known, not your real number, even though the virtual number might ring your real phone to establish the phone call. Anyone you call, and anyone who calls your virtual number, cannot see your real phone number.

In the past, clients and consumers were wary of businesses operating from their homes. Knowing this, many home business owners sought ways, many of which were expensive, to hide the fact they worked home. They’d obtain a box at a local mail store and hire an answering service. Today, home based businesses are normal and only a few clients or consumers question it. Further, the options to create a professional identity, have become more affordable.

For a small business, virtual PBX services are a godsend. They provide a small business with all of the bells and whistles of a robust, business-class phone system for as low as $10/ month.They work with your existing phone lines; they have cool apps that make them easy to manage; they make it possible for your whole team to be contacted through one number; and they are easy to scale. There is one catch that you should be aware of: the number you are assigned through a virtual PBX service may not be “portable.”

What does it mean for a number to not be portable? It means that you can’t take the number with you if you decide to change services. Unlike cell phone services, residential and business VoIP phone services, and traditional landline companies, virtual PBX services are not required by the FTC to let you take your number with you (unless it’s an 800 number) to another service. More details of virtual phone system visit Linkedphone

There are two solutions to this problem:

1 Sign up with a virtual PBX provider that allows you to port your number out. (RingCentral Mobile is a high quality service that we have verified does allow this.)

2 Sign up with whichever virtual PBX provider you prefer that doesn’t charge for porting a number into the service and verify that you like the service. (Most don’t, but you can double check that the one you like doesn’t by looking at the “Numbers” section of our Detailed Reviews grid, such as this one for Phone.com.) Then, sign up with a low cost phone service provider that doesn’t require a long term contract (like a residential VoIP provider). Port your number from the low cost phone service provider to the virtual PBX service and then cancel the phone service.

The first method is the easiest and the cheapest. The second method is significantly more complicated, but it will ensure that the number is legally yours according to the FTC.

Mapping The Dominance Of Airbnb On Athens

If you are looking for website development in Madhurai for your company visit/check Vivid Designs

Airbnb has effectively created a new category of rental housing. This new category — called ‘short-term rentals’ — exemplifies a software-driven, platform-mediated market that occupies the gap between traditional residential rental housing and hotel accommodation.

A prime example of the corporate sharing economy, the American company operates an online marketplace and — with nearly 5 million listings in 81,000 cities and over 300 million check-ins — it has established itself as the world’s largest peer-to-peer hospitality intermediary. Guests benefit from the ease of use, decent rates, access to peer reviews, and a variety of housing options in neighborhoods not traditionally geared to tourism. Hosts benefit from the access to a huge audience, flexible living arrangements, and a steady flow of extra income in these times of economic crisis.

Nonetheless, Airbnb’s impact on cities and housing markets is not immediately obvious.

On the positive side, the company claims that the short-term rental market increases tourism and its economic benefits. It also provides additional income for hosts, particularly those who would not otherwise rent out their housing unit or rooms to longer term tenants, while benefiting neighborhoods that tourists traditionally do not visit, bringing additional customers to local businesses.

On the negative side, local communities and housing advocates point out that Airbnb is making it easier to illegally rent out apartment units to tourists, while taking those units off the market for full-time residents and driving housing costs higher, negatively affecting the quality of life in residential areas.

Accordingly, hotel associations are concerned that short-term rentals function as hotels but have an unfair advantage because they don’t pay taxes and violate safety and zoning regulations.

Attempts to regulate Airbnb, however, have encountered a significant pushback from the company, which summons a powerful weapon through disruptive business and lobbying strategies and by mobilising its community to protest proposed reforms and expand its political influence. While Airbnb and its defenders insist that these reforms must be updated to accommodate the new possibilities presented by the sharing economy, its opponents argue that Airbnb aims to avoid regulation and taxation, and threatens affordable housing in cities.

The company, which is based in San Francisco, was founded in 2008 as a way for people to easily list and rent out their spare rooms or their homes online. There has been a widespread concern, however, that a large amount of the activity on Airbnb is not ‘home sharing’, but rather a new form of de facto hotel that fuels gentrification and displacement.

In response to this concern, I set out to find how Airbnb is really being used in and affecting the Greek capital.

Airbnb’s increasing growth in Athens To understand the impact of Airbnb on housing in Athens, I downloaded and analysed a dataset compiled by the independent, non-commercial monitoring service Inside Airbnb, which tracks the flow of ads on the online platform.

The data covers the city centre of the Athens urban area, the largest in Greece and one of the most populated urban areas in Europe, sprawling across the central plain of Attica. The study period is May 26, 2009 — May 9, 2017, and every Airbnb listing which existed at any point in this period in the city centre of the Athens urban area has been included in the analysis. Top web design company visit Vivid Designs

In 2017, there were 5,127 listings reserved at least once on Airbnb in Athens — a 6.8% increase from the previous year (4,801 listings), and a 56.5% increase from 2015 (3,275 listings).

It is not the case that there are 5,127 listings receiving reservations, but rather the fact is that, on average, half of the listings available in Athens in a given month receive at least one review from a guest.

Serving as the glue of the community, reviews can be used as an indicator of Airbnb activity. This metric lets hosts or guests to leave a detailed review of their experience. Receiving a positive review from a guest is absolutely vital for a host to have more reservations and they usually encourage guests to leave a review. According to Niels van Doorn, Assistant Professor of New Media and Digital Culture at the University of Amsterdam and Principal Investigator of the Platform Labor research project, “such ratings have become a major decentralized and scalable management technique that outsources quality control to customers of on-demand platforms, creating a generalized audit culture in which service providers are continually pushed to self-optimize and cater to the customer’s every whim.”

Indeed, serious Airbnb entrepreneurs may well refurbish their units to increase their success with the service. But still, the only necessary step for converting a long-term rental to a short-term one and for scoring quick money through Airbnb is just to evict the existing tenants, or not replace them when they depart.

Entire-home listings of high availability dominate Athens Before proceeding, let’s remind ourselves that helping each other out by sharing our rooms or houses is one thing while commodifying them by charging a fee for their use is quite another. And this leads us to the more innovative aspect of the sharing economy, which is to disturb our material reality; according to author and critic Sebastian Olma, “to coordinate supply and demand of products and services that in their present form were previously unavailable on the market;” in our case, to allow people to sublet their houses.

It seems quite obvious, then, that, despite Airbnb’s outreach focus on small scale and occasional uses of its platform (the way, for example, that homeowners can pay their household regular expenses by hosting guests occasionally), most regulatory scrutiny of short-term rentals has been focused on entire homes or apartments. Of course, this scrutiny is not just limited to the room types in a given area — especially when it comes to Athens, where most of the listings are entire homes or apartments — but it is also extended to a listing’s availability and activity.

An Airbnb host can setup a calendar for their listing so that it is only available for a few days or weeks a year, while other listings are available all year round. Depending on its availability and activity, a home converted to full-time Airbnb use could be more like a hotel, disruptive for neighbors, taking away housing, and thereby fuelling gentrification across the city.

Yes, 91.6% of the Airbnb listings in Athens are available for more than 60 days a year. Keep in mind that the calculation of availability for each listing through insideairbnb.com tracks whether a listing is reported as available or unavailable on its calendar. This approach does not differentiate booked from unavailable properties, which means that the statistics could have underestimated the availability of properties.

Occasional VS commercial operators Short-term rentals may also impact the housing shortage in Athens by offering a more lucrative alternative or a more flexible living arrangement to listing a unit on the long-term rental market.

With an average price of €55 per night across Athens, it would not be a hustle for some landlords to evict a tenant for the financial benefits of entering the sharing economy, right? The essence of sharing, however, does not involve the exchange of money. Again, sharing only happens in the absence of market transactions.

This is why the image of a family occasionally renting a spare room in their home, or perhaps renting their entire home for a brief period of time while they are out of town, is not representative of Athens anymore (as if it ever was).

But how can we distinguish commercial from occasional operators?

One way to do this is to look at hosts who have multiple listings on Airbnb. By definition a commercial operator is a host with more than one entire home listing, since only one of their listings could be their primary residence.

Estimating commercial operators this way will dramatically underestimate their numbers, since it will fail to identify hosts who have a single listing which is not their primary residence and which they run as a business. It will also fail to identify hosts who operate their listings via multiple Airbnb accounts. It is a useful first approximation though.

A ‘multi-listing’ is, thus, defined as an entire-home listing whose host has at least one other entire-home listing, or a private-room listing whose host has at least two other private-room listings.

Commercial operators that control multiple entire-home/apartment listings or large portfolios of private rooms are a 43.8% of hosts in Athens.

Here’s the top 10 of them for 2017:

Eazybnb Team — 58 listings George — 47 Dean — 43 Miglen — 29 Homm — 25 Helena —20 Home Rentality — 19 Dima — 17 Cleopatra — 17 Blueground — 16 The ghost hotels of Athens Most discussion of Airbnb’s impact on housing availability and affordability focuses on entire-home listings and for good reason. These are the listings which, if rented sufficiently often throughout the year, can no longer be housing a long-term tenant. Private room listings, by contrast, are generally assumed to have little if any impact on housing markets, since they generally do not displace renters. Best Website development services in Chennai

If we look at groupings of private rooms rented by a single host in the same building, or in what the Canadian housing advocacy group Fairbnb has called ‘ghost hotel’, this assumption is clearly false.

Most ghost hotels in Athens comprise 2 to 5 private-room listings. The most striking fact about Athens’ ghost hotels, apart from simply their existence, is that one of them has 40 private-room listings and that it is a real hotel.

Among others, ghost hotels in Athens include:

a seven-bedroom “gem of 1930 Bauhaus, featuring 3 independent apartments in the same building” and “two separate apartments in the same building that can host up to 13 persons”

Plaka, Exarchia, and Koukaki, top the Airbnb chart, surprises no one I have noticed that when there is a discussion involving affordable housing and Airbnb in Athens, someone will come forward and reference Koukaki as the #1 exclusive AirBnB zone in the city. Almost true, given the small size of the area.

Following the neighborhoods of Plaka and Exarchia, Koukaki ranks third on the Airbnb chart of Athens with 343 listings, and fifth on Airbnb’s top 16 neighborhoods to visit in 2016, with 801% growth from 2015.

FYI: at the time of this writing, there are only 65 apartments available in Koukaki on www.xe.gr, the leading long-term rental platform in Greece.

As you might wonder, ‘#1 Event Venue In Athens | Acropolis View 360°!!!’ is the reason why Kerameikos is the most expensive neighborhood in Athens.

With an average price of €85 per night, Plaka ranks as the #2 most expensive neighborohood in the short-term rental market of Athens, followed by Pentagono, Rigillis, and Zappeion with €81, €75, and €74 per night respectively. I was hoping to see Kolonaki in the top 5, but it’s just #6 with €72,4 per night on average.

Taking those metrics one step further, the map below illustrates the distribution of all 5,127 Airbnb listings in the city centre of the Athens on May 9, 2017. Each circle represents a listing. The size of the circle is the listing’s price per night, and the colour is the room type.

Lastly, let’s take a closer look at the 5 neighborhoods with the greatest concentration of Airbnb listings in Athens.

Hopefully this data adds a bit more evidence to the discussion around the dominance of Airbnb in Athens and how it has become a symbol for quick value extraction. Now, the question is: How can we make the transition from a corporate consumer-driven to a citizen-centric sharing economy?

I’d love to hear your examples of non-profit, community-based alternatives and how they support forms of exchange that could actually be called sharing.

Notes on methodology

I initially became interested in exploring the dominance of Airbnb in Athens after discovering Inside Airbnb’s dataset, and settled on this methodology after coming across UPGO’s analysis of Airbnb in New York zip codes.

Once I isolated the names of each neighborhood in Athens, I queried the dataset to search each neighborhood for available Airbnb listings (focusing on the three available room types), their hosts, availability, and price/night, among others. Using the lat/long coordinates for each listing, I mapped each listing to its neighborhood. All code is written in Python.

Disclaimers

Airbnb provides NO PUBLIC DATA to help understand the use of their platform and the impact on cities around the world. Airbnb also provides NO DATA to cities or states to assist them in ensuring that Airbnb hosts and Airbnb are following the local laws. Tom Slee regularly scrapes the Airbnb site to produce maps and analysis of Airbnb use around the world. The data utilizes public information compiled from the Airbnb web-site including the availabiity calendar for 365 days in the future, and the reviews for each listing. Data is verified, cleansed, analyzed and aggregated. No ‘private’ information is being used. Names, photographs, listings and review details are all publicly displayed on the Airbnb site.

Credit