4 Reasons You May Want to Rethink Your Open Office Plan

In the last decade, open offices—workspaces that are free of dividing walls—have become increasingly popular, particularly in the fields of technology, media, and advertising.  The reason for their popularity is probably a mix of cost and idealism.  Not only are open offices cheaper to maintain than walled work spaces, but open office advocates also argue that they promote collaboration.  However, not everyone is a fan of open offices.  Below are 4 reasons you may want to rethink your open office plan.

  1. Lack of Privacy.  It was once thought that open offices would result in more interaction between coworkers.  While that’s true, research shows that in open offices, conversations with coworkers tend to be brief and superficial due to the lack of privacy.

  2. Inability to Concentrate.  After organizational psychologists with the University of Leeds reviewed over 100 work environment studies, they concluded that open offices increase the frequency of interruptions, reducing workers’ ability to concentrate.

  3. Less Productivity.  Author Susan Cain writes in a NYT piece called The Rise of the New Groupthink, “In a fascinating study known as the Coding War Games, consultants Tom DeMarco and Timothy Lister compared the work of more than 600 computer programmers at 92 companies.  They found that people from the same companies performed at roughly the same level — but that there was an enormous performance gap between organizations.  What distinguished programmers at the top-performing companies wasn’t greater experience or better pay.  It was how much privacy, personal workspace and freedom from interruption they enjoyed.”

  4. Greater Absenteeism.  One sneeze can take out an entire department.  A study of Danish workers found that “occupants in an open office plan had 62% more days of sickness absence compared to those in regular offices.”

5 Best Cities to Find a Job in 2016

Whether you’re fresh out of college or have years of work experience, sometimes finding your ideal job can be tough.  However, you’ll better your odds if you live in a city that offers lots of employment opportunities.  Wondering where that is?  We have the answer right here.

WalletHub, a personal finance website, evaluated 150 US cities on factors like employment growth, median starting salary, and housing affordability to determine the best cities for finding a job.  Here are their findings:

  1. Plano, Texas.  The 9th largest city in Texas, Plano, is located in the Dallas Fort-Worth metroplex.  This affluent city offers the lowest housing affordability, high median salaries, and the highest number of full-time employees.
  2. Overland Park, Kansas.  This Kansas City, Missouri, suburb has a high median salary of $72,231.  It also offers some of the country’s most affordable housing.
  3. Austin, Texas.  Austin, Texas—considered the Live Music Capital of the World—doesn’t just offer great entertainment.  Residents also enjoy high median salaries and a low unemployment rate.
  4. Irving, Texas.  Irving, Texas ranks number 4 for employment growth, making this Texas town a great choice for job seekers.
  5. Salt Lake City, Utah.  Salt Lake City has been hailed as the next Silicon Valley for reasons ranging from its highly educated populace to its excellent transit system.  According to WalletHub, it also has the highest number of job opportunities in the country and one of the lowest unemployment rates.

Not sold on relocating to Texas, Kansas, or Utah?  No worries, there are plenty of thriving cities throughout the country.  Other top contenders include Des Moines, Iowa; Irvine, California; Madison, Wisconsin; Sioux Falls, South Dakota; and Omaha, Nebraska.  To check out the complete list, click here.

C++ Programming: STL

In some earlier articles in this tutorial, we've talked about arrays, dynamic allocation and memory menagement, stacks, queues and other data structures.  While writing, for example, a stack from scratch is a very useful exercise for a beginner programmer, it is not always practical to do so.  This is why today we are going to talk about STL - the Standard Template Library for the C++ programming language.

The STL is a collection of various containers (like stack, queue, deque, vector...), algorithms (searching, sorting), iterators (for iterating through the elements of a container) etc., available for use in C++.  As the name itself implies, the STL uses C++'s template mechanism which we have talked about before, to ensure compile-time polymorphism.  Using the standard library can greatly simplify programming and also improve the quality of your code.

For example, let's consider the vector container which is a part of STL:

#include <iostream>
#include <vector>

using namespace std;
int main()
   vector<int> vec; //create a vector which stores integers
   cout << vec.size(); //you can check the size of the vector like this

   for(int i = 0; i < 5; ++i)
      vec.push_back(i); //adding 5 elements to the vector

   for(i = 0; i < 5; ++i)
      cout << vec[i] << " "; //access the elements

   return 0;
As you can see, working with the std::vector class is quite similar to working with regular arrays.  Just like arrays, vectors use contiguous storage locations for elements, so that just like arrays, their elements can be accessed by simple pointer arithmetics, as well as using the indexing operator.  However, there are some significant differences: internally, vectors use dynamically allocated arrays.  This means that there are reallocation operations which need to be performed when new elements are added.  Normally, if you were using a regular array (statically or dynamically allocated), you would have to take care of the size of your array, adding new elements (reallocating memory), deleting elements and how that will influence memory etc.  The vector class does all of this automatically, therefore making your code much safer.


There is another way of accessing elements in the vector: using an iterator.  Iterators are another part of the standard library.  They are objects used to iterate through the elements of a container, usually using pointer arithmetics (there are iterators which use other methods, depending on the container on which they are used).  Let's see an example of using an iterator, on the vector constructed in the example above:

   vector<int>::iterator it = vec.begin();
   while (it != vec.end()) 
      cout << *it << " ";


Finally, the STL can (and should) also be used to perform operations like sorting or searching.  Using the standard library guarantees safety and efficiency of your code (for example, STL's sorting implements either merge sort or some variation of quick sort).  Let's see how we can sort our vector:

/*we need to define the comparison between two elements*/                   
bool func(int i, int j) 
   return (i < j);

std::sort(vec.begin(), vec.end(), func);
We can also use a lambda expression, which is something we have already learned:
std::sort(vec.begin(), vec.end(),
   [] (int a, int b) { return a < b; });


Thought For The Day

“I get ideas from everything. A big color, the sound of water and wind, or a flash of something cool. Playing is like life.
Either you feel it or you don't.”

Erroll Garner


4 Creative Ways to Market your Business with Snapchat

Snapchat, a mobile app that allows users to send videos and pictures that self-destruct, has grown increasingly popular with millennials.  That said, if millennials are your company’s target audience, you may want to consider using this app for brand promotion.  Below we offer up some creative ideas for doing that:

  1. Offer Access to Live Events.  Want to promote your product launch or trade show?  Social Media Examiner suggests that Snapshat is the perfect vehicle for doing just that.  By providing your audience with special access to live events (with behind-the-scenes videos or celebrity interviews, for example), you can generate interest and excitement in your event.

  2. Pair with an Influencer.  Keeping your audience entertained is paramount on Snapchat.  One great way to do that is to team up with an influencer who is appealing to your target audience.  For example, Red Bull allowed snowboarder champion, Mark McMorris, to control its Snapchat account so users could see inside his sports lifestyle.  This campaign was a perfect fit for Red Bull, helping the company to reach McMorris’ large fan base.

  3. Hold Contests.  Want to generate enthusiasm among your users?  Consider promoting a contest on Snapchat.  For instance, you could invite users to submit their best picture, video, or drawing to win a prize.  The prize could be first dibs at your new product line, cash, or special VIP access to an upcoming event.  Think outside the box and plan a contest that is quirky, but still relevant to your brand.

  4. Have Fun with It.  As a platform, Snapchat allows you to be creative and less serious than you might be on other marketing platforms.  Use this to your advantage.  By way of example, Amazon had employees carve pumpkins and then posted their creations to Snapchat, asking users to vote on their favorites.  This lighthearted marketing approach increased engagement while subtly encouraging Snapchat followers to view the company as a fun brand.