Transforming the world's data into knowledge
  • Products
  • Clients
  • Blog
  • Support
  • About Us

The Rhiza Feed

November 25, 2012

Anticipating Customer Behavior… Before It Happens

by Maryl Curran Widdows

0 Comments

Each year, in anticipation of Black Friday, retailers try to predict hot ticket items and holiday trends; how much consumers will spend and on what. But thanks to big data analysts like Rhiza, guesswork is becoming so twentieth century.

Retailers now track customer purchases closely, whether through customer loyalty programs or information purchased through a third party, such as credit card providers. By analyzing data on how different types of consumers behave, and at specific times of the year, businesses are better able to suggest new purchases that fit their buying profile. Retailers can even anticipate their customers’ needs and suggest appropriate upcoming purchases.

They say you can’t teach an old dog new tricks, but if the old dog in question happens to be an ingrained consumer habit, you may not have to teach new tricks to be satisfied with the old dog’s actions. You can just tailor your actions to suit the client better.

To capitalize on all that amassed data, however, businesses need to identify what kind of data they need and the questions they want to answer. At Rhiza, we work with our customers to help make it possible.

Category: Analysis & Commentary, Blog

October 16, 2012

Harvard Business Review: Data Scientists are Sexy

by Josh Knauer

0 Comments

If this pick-up line gets your central processing unit in a twist, proceed with caution—the nerdery only gets thicker. The October issue of The Harvard Business Review, crowned “data scientist” the Sexiest Job of the 21st Century.

For a company to collect the vast oceans of data available without someone to parse it would be like someone with a lactose-intolerance winning a lifetime supply of ice cream: it’s useless without the right digestive aid. Data scientists make sure businesses don’t end up with a stomachache.

Not your traditional statisticians, these Renaissance men and women of the big data age are equal parts hacker, analyst, mad scientist, storyteller, and advisor. Just as Captain Kirk relied on Spock for guidance, a CEO would do well to keep their data scientist “on the bridge,” absorbing data and suggesting a course of action for the enterprise (Starship or corporate kind).

That data scientists are finding the spotlight doesn’t surprise us—what company wouldn’t love and laud a skills-mash-up wunderkind suggesting ways to improve products and processes?

While universities race to churn out fresh talent to meet businesses’ ever-growing demand, what makes a data scientist so sexy is the rare and naturally-occurring “habits of mind” such a person possesses. Authors Thomas H. Davenport and D.J. Patil provide a caretaker’s guide: A data scientist needs freedom to explore and experiment; they function best with big expectations; and they won’t be content muttering dire predictions from a back room.

At Rhiza, we’ve always known that data and the revelations our customers get from it is sexy. Our easy-to-use tools allow media giants, such as Comcast and Cox Media, as well as national brands like PepsiCo, to act confidently on their own, capitalizing on the deep customer insights they uncover with Rhiza. Like a Swiss Army Knife in your back pocket, Rhiza makes sure you have the information you need to get the job done.

You know what they say about sexy? Don’t hide it. We certainly don’t. We’ve been making big data sexy long before black rim glasses and flannel were the uniform and HBR mainstreamed it.

Category: Analysis & Commentary, Blog

April 16, 2012

Rhiza’s Commitment to Flex Worktime

by Josh Knauer

0 Comments

Sheryl Sanberg, COO of Facebook. Source: Wikipedia

Sheryl Sandberg, the COO of Facebook, recently made headlines by announcing that she goes home at 5:30 every afternoon and encourages others to do so as well. I think it’s great that Sheryl has spoken out on this issue and think that more business leaders need to as well.

At Rhiza, we’ve had a Flex Work policy in place since the company started, where employees are able to choose the hours of work that are best for them. It’s not just a nice thing to do, it is better for productivity. I have found that employees that are treated with respect and given the chance to set their own schedules are able to be more focused and productive. For Rhiza, it’s not just a matter of encouraging people to go home by 5:30, but rather letting people truly set their own schedules that map most easily into their personal life.

Rhiza goes much further than just flexible work schedules. We have a Babies in the Workplace Policy, as well as a bunch of other very generous policies around sick leave, vacation time and more. These policies reflect the type of values that represent the type of company we all want to be working for, and they also give us a competitive edge in recruiting and the delivery of truly excellent product.

What does your company do? Clearly the business community needs to hear from more entrepreneurs who are building better companies that treat their employees with the respect that they deserve. Perhaps once that happens, announcing a common-sense policy won’t make lots of news, it will be considered part of the norm.

Category: Analysis & Commentary, Blog

March 13, 2012

Why Small Is Better

by Alison Alvarez

0 Comments

I received an excellent piece of advice from a friend and current Google employee yesterday.  ”Don’t try to compete with Google on perks.”

Rhiza is hiring right now.  I like to think of us as small and scrappy, but it’s been tough competing for software engineers against Pittsburgh branches of bigger companies like Google and Apple.  We don’t have the instant name recognition of the bigger players and it’s been challenging getting the word out to the computer science community that Rhiza is an excellent place to work.

Rhiza does have plenty of benefits to compete with the big players (our starting vacation package is even 33% better than Google’s), but that’s not why it’s better to work for us.  Really, our strength is in our size and where we are with our current set of technologies.

So here, in a handy list form, is the set of reasons why working Rhiza is the better than working for a big company.

1. You will write code for production

Our engineering team is small, so everyone must contribute to the finished product.  While you will almost certainly be working with our existing code base, you’ll be using your brain to create tools that will be used by real people.  It feels so good as a developer to build something that people get real use from and makes their lives easier.

2. You will do more than tweak

You will not spend all of your time tweaking pixels in CSS or testing browser compliance.  These things have their place in our development cycle, but only as finishing touches on our products.  Otherwise, you’ll be helping us to build the tools our customers need.

3. Your time will be spent on valuable things

We believe in failing fast, so you are unlikely to spend months or years on a project that gets axed at the last minute.   We build prototypes quickly, test them thoroughly, and then rethink or discard things that aren’t working.

4. You will get to have company-level ideas

We had a meeting a few months ago about what new products Rhiza should focus on and everyone in the company was invited to give input.  Every single employee gave at least one idea and contributed at least one metric for measuring ideas.  Everyone gave input on where we would like to see Rhiza head next, and everyone was listened to.

5. You will be able to grow

Since we are small and growing there are many opportunities to take on new responsibilities.  For instance, I am now working on recruiting new people in addition to my usual engineering of software.  If you’re interested in aspects of business outside of coding, then this is a good opportunity to get on the job experience.

As for engineers who just want to code, we stay out of their way.

6. Our policies are consistent

Some companies have policies that sound awesome, but may not be a reality depending on your manager.  Because we are small everyone gets to use our benefits.  What’s the use of having four weeks of vacation a year if your manager won’t let you use them?

7. “Family Friendly” and “Flex Time” are real things at Rhiza

Today I left work at 2pm to retrieve my sick daughter from daycare, and now that she is asleep I am writing my first draft of this post and continuing my workday.  She spent the first six months of her life at Rhiza as part of our babies at work policy.   I worked while she napped and played, sometimes finishing my tasks at night or in the early morning.  We managed to get extra bonding time in while I continued to contribute at my job.

None of this would work if my coworkers complained or gave me the stink eye each time I used these policies.  Instead, they use them, too.  Even employees without kids use their flex time to wait for the alarm company, take a cat to the vet, or deal with car repairs.  The system works because everyone uses it.

8. It’s better to get in on the ground floor

Rhiza is going places.  Rather than working for a company that is already established, you’ll have a chance to join us early on our journey and travel with us.  It’s a chance to be a part of the next big thing while it’s still a small thing.

Category: Analysis & Commentary, Blog

February 29, 2012

Honing the Craft

by higgins

0 Comments

This past Saturday Rhiza hosted a Coderetreat for members of the Pittsburgh development community. Coderetreat is a global organization dedicated to helping programmers become better programmers. It does this by helping local groups organize workshops – the code retreats – that let developers focus on key elements of the craft of programming without the day-to-day distractions of deadlines and bottom lines.

It’s also a lot of fun, and a good way to meet other programmers!

Despite the fact that Saturday was one of the few unabashedly wintery days we’ve had all year, turnout was really strong. I think just about the whole slate of 25 signed up people showed up for the day (which starts at 8:30am – not necessarily a congenial hour for your average programmer).

The day is highly structured. We were led by the intrepid Jim Hurne through a series of six 45 minute exercises. Each exercise is built around Conway’s Game of Life, which I’ve had a soft spot for going back to my nerdy high school days.

Here’s an animation of what the Game of Life can look like, from Wikipedia:

And here are some coders, hard at work implementing and testing it:

(There are more nice photos that Jim took of the code retreaters making the magic happen.)

One of the important things to grasp about Coderetreat, though, is that you’re not there to build a working implementation of something. The goal is to work on the process – if you actually finish a working implementation, you are probably giving the process short shrift. In fact, after each 45 minute exercise, you delete all your code and start over.

This is painful. Most working programmers are deeply invested in making things, and the idea of tossing out code that you’ve worked hard on, only to start all over is hard. But once you’ve done it a couple of times, it becomes a little easier.

Now, I have to admit, one of my partnerships did perform the dubious feat of finishing a minimal implementation. I’ll share the implementation here because it’s cute (and short!).

Warning: this blog post is about to get technical and nerdy. (Take me to a cute picture of dogs instead!)

One of the exercises revolved around designing the implementation in a “functional” rather than a traditional imperative or object-oriented style. Functional programming is actually one of the earliest programming styles, going back to the Lambda calculus that Alonzo Church developed back in the 1930s (before “computer science” was really a discipline – Church was a logician and interested in the formal foundations of mathematics). However, it is still very important today. “Functional” programs avoid explicit mutable state and “side effects”; instead, every operation is expressed as the evaluation of a function, and programs are expressed as compositions of those functions.

The lack of explicit state and side-effects makes functional programs a lot easier to reason about, so they tend to have fewer bugs. It is also often much easier to execute them in parallel, so high performance systems are easier to write. Functional programming languages are also often very “expressive” – meaning you can write short, clear programs easily. As programs get bigger and more complex and bug-prone, and computers tend to get performance from parallelism rather than from faster clock speeds, it’s likely that functional techniques will get even more important.

(There are downsides too: side effects are hard to avoid in most real-world programs, and some algorithms and data structures are hard to implement efficiently without explicit mutable state. Fortunately, you can often mix functional ideas with imperative ideas effectively. The code I’m about to show is very much a mutt in that way.)

At Rhiza we use Python and Javascript for a lot of our development. Both of these languages are imperative, object-oriented languages, but they both have “functional features” like first-class functions. (In fact, if you don’t know how to use closures effectively, you aren’t going to get very far programming non-trivial applications in Javascript.)

Jim had sent out email to all the attendees before the retreat that the exercises would revolve around the Game of Life. I happen to have been spending some time learning NumPy recently, a very nice numerical programming library for Python. It’s good at implementing linear algebra and scientific computing problems (optimization, curve fitting, data analysis, machine learning, etc.) Anyway, these two things had collided in my head in the shower, and I kept thinking that there ought to be a good way of expressing the Game of Life in terms of operations on matrices, which are efficient to use in NumPy.

There is!

It helps to start out by thinking of a functional decomposition of the Game of Life. You can imagine the Game of Life as a big two-dimensional array of cells that are either on or off, 1 or 0. Then the game undergoes a “step” and the board evolves to a new state based on a few simple rules:

1. Any live cell with fewer than two live neighbors dies, as if caused by under-population.
2. Any live cell with two or three live neighbors lives on to the next generation.
3. Any live cell with more than three live neighbors dies, as if by overcrowding.
4. Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction.

But before we get to implementing the rules, just think of the evolution of the system as looking like this:

step(X) -> X'

That is, you call the step function on your matrix of cells, and it yields a new array of cells that represent the next generation. But now we need to break the step function down further. If you look at the rules, each rule depends on two pieces of information: the state of the current cell, and the number of live neighbors it has.

So you probably need a function like this:

neighbor_count(cell) -> integer

and a function like this:

state(cell) -> 1 or 0

If you had those, you could write a “decide” function that took those two pieces of information and implemented the rules above. I’m going to switch to Python here, and show some real code:

def decide(state, neighbor_count):
    if state == 1:
        return 1 if neighbor_count in (2, 3) else 0
    else:
        return 1 if neighbor_count == 3 else 0

And that’s the heart of the Game of the Life!

Now, it turns out that if you use a NumPy array to represent your matrix of cells, you don’t really need an explicit “state” function. You can just look up the index of the cell you are interested in and the value in the array is the state.

So that’s great and all, but you still need a way to calculate your neighbor count, and you need a way to evaluate your “decide” function for each cell in the array.

For the second part NumPy can help us. It has a neat trick built in called “vectorization”. Just change the code above to read:

@numpy.vectorize
def decide(state, neighbor_count):
    if state == 1:
        return 1 if neighbor_count in (2, 3) else 0
    else:
        return 1 if neighbor_count == 3 else 0

What does that “@numpy.vectorize” do? It means that instead of needing to call “decide” individually on each state and neighbor_count for each cell in the matrix, we can call “decide” on a matrix of states and a matrix of neighbor_counts, and it will yield a new matrix. NumPy takes care of the details of iterating over the two matrices and assembling all the results into a new matrix. (It’s also much more efficient than writing nested for loops by hand.)

So you could write “step” like this:

def step(X):
    return decide(X, neighbor_count(X))

Which is exactly what we want to do!

But we still have a crucial missing piece. We don’t have a neighbor_count function at all, much less one that can operate on a matrix. But we can take advantage of some representational cleverness here.

X is a two-dimensional array of binary numbers: every cell is either 0 or 1. In signal processing, there is a concept called convolution. I’m not going to go into a lot of detail about what a convolution is, but here’s a nice simple example. If you’ve ever used Photoshop and applied one of the edge detection filters, or a Gaussian blur, you’ve used a convolution.

The cool thing is, on a binary matrix, there is a simple convolution kernel that exactly corresponds to “count my live neighbors”. It looks like this:

kernel = numpy.array([ [1, 1, 1],
                       [1, 0, 1],
                       [1, 1, 1] ])

Now, with a little help from the NumPy and SciPy libraries, we can write our neighbor count function:

kernel = numpy.array([ [1,1,1],
                       [1,0,1],
                       [1,1,1] ])
def neighbor_count(X):
    return convolve2d(X, kernel, mode='same', boundary='wrap')

(Tragically for my place in human history, I’m not the first person to have thought of this trick. If you Google “convolution game of life” you’ll discover several similar implementations, some with interesting extra cleverness.)

To put it all together, along with an example of the famous Glider pattern.

import time
import numpy
from scipy.signal import convolve2d

kernel = numpy.array([ [1,1,1],
                       [1,0,1],
                       [1,1,1] ])
def neighbor_count(X):
    return convolve2d(X, kernel, mode='same', boundary='wrap')

@numpy.vectorize
def decide(state, neighbor_count):
    if state == 1:
        return 1 if neighbor_count in (2, 3) else 0
    else:
        return 1 if neighbor_count == 3 else 0

def step(X):
    return decide(X, neighbor_count(X))

def display(X):
    print X
    print '----'
    print

def glider():
    X = numpy.zeros((10,10))
    X[1][2] = 1
    X[2][3] = 1
    X[3][1] = 1
    X[3][2] = 1
    X[3][3] = 1

    while True:
        X = step(X)
        display(X)
        time.sleep(1)

    return

if __name__ == '__main__':
    glider()

There’s actually a way to write the “decide” function by indexing into arrays, which makes the code a bit more dense, but a little less clear. Clarity (or revealing your intent) is one of the code retreat virtues! And for you code retreaters out there: yes, we wrote unit tests ;-)

Category: Analysis & Commentary, Events

December 19, 2011

Animating Data: A Different Way to Look at Marcellus Shale Drilling

by Josh Knauer

0 Comments

At Rhiza, we love to experiment with new ways of visualizing data that help tell better data stories. In most of our work environments, using data is kind of difficult and visualizing is usually left to data experts. We’d love to see a future where sharing data visualizations (maps, charts, explanations, etc) is as easy as recording and sharing a video on YouTube. Not everything produced will be stellar in quality, but at least we’ll all be a lot further down the road towards breaking down the traditional data silos and moving data aggregation and visualization solely out of the hands of database admins and graphic designers. We’ll still need those folks, their jobs will just get a lot more fun!

To this end, when I saw a data animation created by John Detwiler that showed the spread of drilled Marcellus shale gas wells in Bradford County, I wanted to create my own data animation telling the same story, but for the entire state of Pennsylvania. I recruited Jeff Christensen here at Rhiza to work with me on creating a visualization that would not only show the locations of the drilled wells over time, but also visualize the number of wells drilled per month. The video below is the result of that work: Read more »

Category: Analysis & Commentary

November 2, 2011

Rhiza helps the Tides Foundation with the Never Ending Data Story

by Maryl Curran Widdows

0 Comments

One of our customers, the Tides Foundation, recently partnered with Rhiza to analyze the impact of its grantmaking activities. Irene Kao, Project Manager for the Impact and Innovation Department at Tides talks about her experience of using Rhiza Upshot to bring their data to life to tell a continuous story that is meaningful, dynamic, and actionable in a recent blog post on NTEN’s Non-Profit Technology Blog.

Below is a map created by Irene using Rhiza Upshot that looks at the location of the education grants awarded by Tides in 2010 alongside contextual data about the areas of the country where the education needs are the greatest. Irene looked at indicators like per pupil public school funding, reading proficiency, and high school graduation rates. The result was an easy to understand visual framework that can be used to facilitate new conversations about education funding decisions going forward.

In the NTEN blog Irene says “The map, then, becomes the beginning of a story that continues with partner discussions around strategy and what the work looks like in a year, in two years, and onward. By harnessing quantitative data, our community begins a kind of qualitative “choose-your-own-adventure” story – one that empowers people to make decisions based on firmly anchored information and desired impact.”

For a closer look at how Tides is measuring impact, read Irene’s blog post on NTEN’s Non-Profit Technology Blog.

Category: Analysis & Commentary, Blog | Tags: data visualization, grant making, impact, impact analysis, Irene Kao, mapping, measuring impacr, NGO, non-profit, Nonprofit Technology Network, NTEN, Rhiza Upshot, Tides

October 31, 2011

Rhiza’s Impact at the Social Venture Network

by The Rhiza Team

1 Comment

At Rhiza, we believe deeply in operating our business in a socially and environmentally responsible manner. Our CEO, Josh Knauer, has been a member of the Social Venture Network (SVN) since 1999 and serves on the organization’s Board of Directors. SVN is a network of innovative business leaders who passionately believe that responsible businesses can help create a more just and sustainable future.

Rhiza’s presence and engagement at the fall SVN 2011 Conference was deep: Mike Higgins, Maryl Widdows and Josh Knauer were all in attendance, Rhiza was the lanyard sponsor, Josh was the Conference Chair, and led two sessions at the conference. One of those sessions, Leveraging Emerging Technologies to Change the World was widely covered around the web, including a blog post on the SVN Blog and another posted to fellow SVN software company, Singlebrook Technologies’ blog. There was also quite a bit of Twitter coverage.

While the Rhiza Team is widely known for its leadership in data collection, visual analysis and publishing, you’ll be hearing a lot more about our efforts to bring definition to our responsible business practices.

We welcome your feedback and highly encourage you to take a look at the Social Venture Network and join us at their next conference.

Category: Analysis & Commentary, Blog

October 28, 2011

Zombie Apocalypse Survival, A State-by-State Look

by Alison Alvarez

0 Comments

Zombie Apocalypse Survival, A State-by-State Look 1As we are all constantly reminded this Halloween season, the Zombie Apocalypse is nigh. If you are planning on surviving the upcoming hordes it might pay off to do some advance planning. As with many impending disasters whether you live to repopulate the planet can come down to something as simple as being in the right place. It won’t matter how well you are prepared if you are surrounded by thousands of shuffling goons whose only goal is to eat your flesh.

So where should you go to maximize your chances? Ideally, you’ll be somewhere where the zombie disease will spread slowly so it won’t take you by surprise. This sickness spreads like a virus. One infected being can infect many others, who in turn, will infect even more until the population has reached a saturation point. If there are fewer people to infect the contagion will spread more slowly. Therefore, it would be prudent to live in a place with less population density. (Data from World Atlas)

Another factor to consider is the survival rates of your neighbors. If they can avoid zombie attacks they will not be available to infect you. Ideally, you’ll want to be surrounded by a fit population, a population of people capable of outrunning an attack. Therefore, you should be interested in places where people are more likely to engage in physical activity. (Data from American Health Rankings)

Finally, it’s a good idea to surround yourself with people who will not only survive the zombies, but fight back. The only way to get rid of zombies is to destroy their brains. Therefore, it is advisable to seek camaraderie with people who possess such an ability. Gun owners of any age will be uniquely equipped to reduce zombie numbers with minimal harm to themselves. They are less likely to need to approach a zombie (vs. hitting one with a blunt object like a bat) and thus can be effective while staying out of harm’s way. So, even if you are not a gun owner yourself, it is optimal to live somewhere where there are people who will use their personal firearms to remove sources of contagion. (Data from the Washington Post)

Here is a composite map taking all of the above factors into account. The more Zombie resistant areas are gray in color and the zombie friendly ones are in green.

Other geographic components to consider:
- Zombies have difficulty crossing rivers and mountains. You can seek areas strategically where there are barriers to keep the teeming masses from following you.
- If the outbreak gets serious enough to the point where utilities are cut off you might want to consider areas with ready supplies of water and a climate that is neither too hot nor too cold. Stay out of the southwestern states!
- The island of Hawaii has a welcoming climate and is isolated in the middle of the Pacific Ocean. Now might be the time to invest in that Pineapple Plantation. If an outbreak occurs elsewhere and it shuts down its shipping and airports there is hope for its inhabitants.
- Alaska is young, has lots of open space, and plenty of firearms. However, life could get difficult if you’re without utilities in the dead of winter.

Finally, if you’re looking for an affordable place to ride out the coming disaster, it’s possible to mix the above information with median home prices for a metropolitan area. Little Rock is looking mighty good!

Where would you live if you wanted to survive the Zombie Apocalypse?

Category: Analysis & Commentary, Blog

October 24, 2011

A Socially Responsible Software Company Part One: The Unexamined Life is not Worth Living

by higgins

2 Comments

Actually, Socrates said, “The unexamined life is not worth living for a human being.” But I think we should apply the same logic to companies — and not just because they are legal “persons” ;-)

At Rhiza, we’ve always tried to be a responsible company. But what does that really mean? My background is in computer science and philosophy. It’s not that weird a combination. Both disciplines search for rules to make sense of the world with, and both have a (sometimes unfortunate) weakness for pedantic precision. So I have a natural tendency to want to clarify and systematize.

What I want to do here is to explore the definition of a socially responsible software company, or, at least, start a process for arriving at the definition.

Right now I have some intuitions, some things I think we’ve gotten right so far, and a lot of questions. The questions are probably the most important part. If this is a topic that interests you, please leave a comment. I’m also going to the Social Venture Network conference next week. I expect it to provide a firehose of relevant information (and if you’re going to be there, come find me and we’ll chat).

I’m also hoping to get some other folks at Rhiza to weigh in with their opinions. Here is a non-exhaustive and possibly wildly off-the-mark list of topics we may be discussing in this space over the coming days and weeks:

  • Doing good for your employees. Frankly, I’m not sure this is “socially responsible” — it may just be enlightened self-interest! (Then again, maybe those two things aren’t so far apart.) Anyway, we have a lot of cool policies involving flex-time and working from home and babies in the office. But what else could we be doing? And how do we balance the demands of a start-up? Does success require a level of intensity that compromises other aspects of life? Or is that a false choice?
  • Being green. There’s a lot of interesting technical complexity wrapped up in this one. Our office is LEED certified; how meaningful is that? Is hosting web-based software in the cloud more or less green than other strategies? Does it matter which cloud you pick? Should we encourage people to work from home and save the carbon, even if productivity takes a hit?
  • Are some products inherently more responsible than others? Loads of potential controversy here! Some people think video games are bad for you, others extol their benefits. Fortunately, I can dodge that one since we don’t make video games. But you get the point: are there things we could put into or take out of our product that make it intrinsically more responsible? Or is it all a matter of perspective? Since our tools help people make data-based decisions, as a rationalist I like to think that the tools are intrinsically good. But maybe some would disagree.
  • Customers! Must socially responsible companies worry about whether their customers are doing good? Is the answer different if you’re selling a one-size-fits-all product or if you’re doing custom work? Again, I am sure this is fraught with controversy.
  • Open source software. There’s a big part of the geek community that thinks one of the most socially responsible things you can do as a programmer is to contribute to open source software. But there are obvious competitive implications for companies who do that. Can a balance be managed? And, assuming you are convinced that open source is the way to go, which of the zillions of licenses should you choose (and why)?

Okay. Enough questions. Write thoughts, send links, come find me (or Josh or Maryl) next week if you are in Philly. What do you think makes a company socially responsible? What would you like to see us do? Finally, I’ll bookend with another quote (from Upton Sinclair), just to remind us why these questions can be hard to think about:

It is difficult to get a man to understand something, when his salary depends upon his not understanding it!

Category: Analysis & Commentary, Blog

« Older Entries

Subscribe

Categories

  • Analysis & Commentary
  • Announcements
  • Events
  • In the News
  • Presentations

Follow Us

  • Twitter
  • LinkedIn
  • Facebook
  • RSS

Get Rhiza Labs Updates

Enter your e-mail address below to receive Rhiza Labs e-updates:

info@rhiza.com | 412.488.0600 | 5850 Ellsworth Avenue, Suite 200, Pittsburgh, PA 15232

  • Twitter
  • LinkedIn
  • Facebook
  • RSS
Transforming the world's data into knowledge

© 2013 Rhiza Labs, LLC. All Rights Reserved. Rhiza® is a registered trademark of Rhiza Labs, LLC.

  • Legal
A MAYA Company