Posted on by & filed under being awesome, Business, career advice, careers, Content - Highlights and Reviews, Daily Learning, leadership, leading teams, learning.

by Rob Fazio, PhD

“Having a vision is fun, vision with precision gets it done.”

Vision statements on a wall, on a website, or on a piece of paper can serve a purpose for businesses, but they don’t lead to success. The purpose of a vision is to have something not just to move towards, but to achieve. We need to challenge ourselves to move beyond the just the emotional connection to a vision and focus on mapping out the hard work it takes to get somewhere you want to go. A big mistake leaders make is that they think simply having a vision is enough, it’s not.

Research and reality tells us how it is. Psychologist Lien Pham and Shelley Tailor from University of California (Pham & Taylor, 1999) put students into two groups. They asked one group (Group A) to visualize how great it would be to get a high grade. The other group (Group B) wasn’t asked to visualize the positive feelings associated with the end state of a high grade. Both groups kept track of the hours they spent studying. Even though the group that visualized the positive feelings associated with a good grade only did this for a few minutes it had a significant impact on the amount of time they studied as well as their grades. The group of students (Group A) that visualized the positive feelings ended up studying less and ended up with lower grades. The visualization may have made them feel good, but it did not prepare them for success and therefore set them up for the failure. My view is that Group A, that associated the positive feelings with the outcome, became overconfident and were not aware and/or not realistic about how to get to what they wanted.

What makes the point even more clearly is that the researchers had a third group of (Group C). This group was asked to visualize the “how” or process of getting an A for a few moments a day. They were asked to get into more detail and visualize how and what they would do to get an A. Compared to the group (Group A) that just visualized the outcome of getting an A, and to the group that wasn’t asked to do anything (Group B), the group that was asked to visualize the “how” (Group C) ended up studying more hours and earned higher exam grades than both groups. The researchers concluded that visualizing the steps to prepare them for success put them in a more realistic and practical vision to succeed. Read more »

Posted on by & filed under Big Data, Business, career advice, Content - Highlights and Reviews, Tech.

Recently, we were able to ask five questions of Murtaza Haider, about the new book from IBM Press called “Getting Started with Data Science: Making Sense of Data with Analytics.” Below, the author talks about the benefits of data science in today’s professional world.

Getting Started with Data Science
  1. What are some examples of data science altering or impacting traditional professional roles already?

Only a few years ago there did not exist a job with the title Chief data scientist. But that was then. Small and large corporations, and increasingly government agencies are putting together teams of data scientists and analysts under the leadership of Chief data scientists. Even White House has a Chief data scientist position, currently held by Dr. DJ Patel.

The traditional role for those who analyzed data was that of a computer programmer or a statistician. In the past, firms collected large amounts of data to archive rather than to subject it to analytics to assist with smart decision-making. Companies did not see value in turning data into insights and instead relied on the gut feeling of managers and anecdotal evidence to make decisions.

Big data and analytics have alerted businesses and governments to the latent potential of turning bits and bytes into profits. To enable this transformation, hundreds of thousands of data scientists and analysts are needed. Recent reports suggest that the shortage of such professionals will be in millions. No wonder we see hundreds of postings for data scientists on LinkedIn.

As businesses increasingly depend upon analytics driven decision making, data scientists and analysts are simultaneously becoming front-office superstars, which is quite a change from them being the back office workers in the past. Read more »

Posted on by & filed under Content - Highlights and Reviews, information security, Information Technology, IT, Operations, privacy, security, Tech.

by Sari Greene

I cringe each time I hear the oft repeated declarations that “every company will be compromised” and that “it isn’t a matter of if, but when”. These statements are the basis of the FUD (fear, uncertainty and doubt) driven cyber sales machine. What is closer to the truth is that Internet connected systems have a high probability of being subject to a targeted or opportunistic attack, inadvertent exposure, or malicious subversion. However, it is (and I stress) not inevitable that the attacker will be successful. Motivation, work factor, evasion capabilities, resiliency, and sometimes, luck all play a part. Threat modeling can be used to understand these factors and influence the outcome.

Threat modeling is used to identify and categorize potential threats. Conventional cybersecurity threat modeling uses one of three approach; attacker-centric, architecture-centric, or asset-centric.

  • Attacker-centric threat models starts with identifying an attacker and then evaluates the attacker’s goals and potential techniques.
  • Architecture-centric threat models focus on system design and potential attacks against each component.
  • Asset-centric threat models begin by identifying asset value and motivation of threat agents.

Many organizations find this task daunting. Do not despair! Threat modeling does not have to be overwhelming. A simplified approach to threat modeling is to answer four essential questions that identify threat adversary motivation, attack workfactor, organizational threat intelligence and detection capability, and resiliency. Read more »

Posted on by & filed under Big Data, Business, Content - Highlights and Reviews, Tech.

By Steve Hoberman

A data model is a precise representation of an information landscape, in much the same way as a map is a precise representation of a geographic landscape. “Precise” is the key characteristic of a data model, which means that there is a clear, unambiguous way of reading every symbol and term on the model. A team of business analysts for example, will all read the data model the same way and understand exactly what is being communicated, and then afterwards can debate whether the data model reflects their understanding of the business or whether the measures on the data model reflect what is required in the business requirements. An application development team will all read the data model the same way and understand exactly what is being communicated, and afterwards can discuss the ideal way these structures should be implemented.

Without the data model, we rely more on conversations and requirements documents, both of which are traditionally ambiguous. Conversations and requirements documents are often essential inputs to the data model, however.

For example, “A Customer has Accounts” is typical of an ambiguous statement that might be made verbally or appear in print. Business analysts discussing this statement would need to invest valuable time first understanding exactly what is being communicated. Developers discussing this statement might make erroneous assumptions as to what a customer or account is, leading to a poor design choice. Read more »

Posted on by & filed under C++, Tech.

By Brian Overland

For C++ programmers, maintaining legacy code has always been important. However, the last few upgrades to the specification have created what some experts have called “a whole new language.” So how do you start using it?

For your own projects, you may want to start using new features which improve your programs without breaking your old code. There are some excellent features that can be used this way.

1) Thousandth-Place Separator

Programs using big constants have always caused readability problems. For example, what number is this?

Can you tell at a quick glance what this is? A million? Ten million? A hundred million?

The C++14 specification supports a new place-separator (‘) that makes the identity of the large constant much more obvious:

Of course, anyone reading this in English would like to see commas used here instead, but the resulting syntax would be impossible. Consider this function call:

If a comma (,) were used as internal-place separator, would this statement call a function taking three arguments—10, 100, and 200—or would it take one argument equal to 10,100,200?

So the apostrophe (‘) works best. The nice thing is that you can start using it right away, even in old programs… old-fashioned literals such as “10000000” are still accepted as always, but for readability’s sake, should be revised whenever you can. Read more »

Posted on by and & filed under Content - Highlights and Reviews.

As we move rapidly into 2016, we take a retrospective look at 2015. It was an important year for Safari and our PubFactory platform. Strategically significant milestones for us as a company and the strength of our technology included:

  • Growing the volume of content on PubFactory to more than 30M unique publications, including articles, books, and reference works across the social science and humanities and scientific, technical, and medical subject areas. In particular, the number of journals hosted on PubFactory increased by more than 25%.
  • Delivery of a mobile optimized responsive design on a platform-wide level as a default standard for all new PubFactory implementations. Overall global consumption of content has been growing by 60% year over year and Safari is committed to continuously enhancing the platform to serve the mobile needs of our clients’ customers as an out-of-the-box capability, not a costly customization.
  • Building out PubFactory’s eCommerce engine to integrate with PayPal and making readily available for all publishers. This effort ensures critical consolidation of systems and cost savings for PubFactory publishers. And the new eCommerce capability makes it easier for publishers to support many different purchasing models, including short-term rental.
  • Provision of a platform-wide level integration with sales analytics and data visualization application to provide robust reporting on institutional subscribers that makes renewal and upsell opportunities easily identifiable. This is one of several in a continuing roadmap of enhancements to PubFactory’s reporting and metrics capabilities which were a definitive area of investment in 2015 and continue to be so in 2016.

Read more »

Posted on by & filed under managing people.

Image by Igal Koshevoy for Open Source BridgeWe first heard VM Brasseur speak in 2013 at Open Source Bridge, where she gave an dynamic and motivating talk about people, processes, and management to a rapt crowd. Since then, VM has given that talk, called “A Crash Course in Tech Management,” at OSCON EU and Portland in 2014 and 2015, respectively. A notable public speaker, manager, developer, and Open Source advocate, VM is one of our favorite thinkers on managing people and processes, and we were very excited that she agreed to interview with us!

A Safari member, VM also charmed us with one of our favorite tweets ever.

What is the best advice you’ve received as a manager? Where did you receive this advice? How would you recommend that managers seek advice and training?

Years ago, soon after I first became a manager, a colleague told me, “Just pick up the damn phone.” It was in reference to providing good customer service, but it stuck with me. Digital tools like email and IRC are all amazing, but often the best thing we can do to help foster better relationships and understanding is just to pick up the phone and listen.

I’ve found that the best sources for advice can come from my own teams, but it’s not easy to get to the point where people feel comfortable providing that advice (or managers feel comfortable asking for it).

Communication of that sort requires trust, and trust is only effective if it goes both ways. If either side harbors or fosters distrust, dishonesty, or suspicions then trust isn’t possible. However, once trust starts to build, asking for advice and feedback, listening to it, and then taking actions is not only a great way to develop as a manager but also to reinforce and increase that level of trust on both sides.

How do you go from being a “good” manager to a “great” manager?

You go from being a “good” manager to a “great” manager when you stop being a manager at all and start being a leader.

It’s a like a video game: There are quests you need to learn about and fulfill. The quests can include setting up the right processes and policies (for the right reasons), determining staffing needs then interviewing and hiring the right people, onboarding new team members, coaching so your team members can continue to grow, communicating and setting expectations, balancing the needs of the company, team, and individuals, and gaining the trust of your team and learning to trust them in return.

If you can do these things then you’ll find you’re no longer managing. You don’t have to. Your team doesn’t really need oversight anymore. You’ve leveled up: You’re a leader.

The majority of your time is no longer spent keeping an eye on things. Instead, now you’re able to work more strategically and light the way for your team and your company.

What tools and frameworks do you use as a manager that you find particularly useful?

I try very hard not to dictate or proscribe tools. Every company, team, project has different needs and no tool is good for all of them.

Rather than suggest tools, I prefer to suggest methods for selecting tools. Take the time to determine the needs of your team now and to think ahead to the probable needs of your team in the next year or two. Write down a set of criteria, requirements, and use cases. This is the sort of stuff you’re doing when you start working on a new feature or product (or at least I hope you do). That’s really all tool selection is: another project, and a very important one at that.

Changing tools takes an immense amount of work and selecting the wrong one can be disastrous for productivity and morale. So I urge you to give tool selection the time and attention it deserves rather than jumping to grab the shiniest, newest, most trendy thing available.

As for the tools for my personal productivity, I’d be utterly lost without Trello, RememberTheMilk, Evernote, Dropbox, and IRC. These are my exobrains and I love them dearly.

What is the tipping point for tech adoption? When and how do you decide to adopt a new stack? How do you communicate that to the people who work with you?

They communicate it to me. While I keep up to date on the latest developments in the tech world and focus my attention on news related to our stack, I can no longer call myself a technologist as such.

Therefore, I usually rely upon my developers/ops folks to come to me when there’s a need to add, change, or upgrade our technology. They’re closer to the problem and much more familiar with what needs to be done.

Whatever the problem is, changing technologies is like changing any other tool: Difficult, expensive, and not to be undertaken either lightly or by the faint of heart.

Before I approve any technology upgrade, addition, or change I would prefer to see a well-considered discussion on the following questions:

  1. What are the business needs for this change? They should go beyond “Ooh, shiny.” We can use the shiny things on the prototypes and proof-of-concepts. For production, our tools need to meet a different set of criteria.
  2. What is the support/lifecycle for the project? Is it well-maintained? Is it well-tested? Is the community active and engaged?
  3. What are the steps necessary for adopting this technology? What, in detail, is required for each and every step? What’s our up-front human cost for this adoption?
  4. What will this adoption gain us? Not anecdata, but actual data about what we will gain from this new technology. Give me charts. Give me graphs. Sell me on it.
  5. How will this new technology affect others in the team/organization/company? For instance, enabling experimental language features in your code may work in your setup, but it may break your coworkers’ dev environments and the CI/CD system. Think this through and communicate with everyone before pulling the trigger.
  6. What is the long-term maintenance required for this technology? Think of it like a puppy. Who’s going to clean up after it and make sure it has its shots? How are you even going to know that those shots are needed?

The process doesn’t have to be formal, and the level of detail required when answering will, of course, vary by the relative importance of the technology to the project. What looks like a small technology change can have big impact that is amplified if you don’t have a process for thinking through it before jumping into the deep end of the adoption pool.

What books, blogs, or videos would you recommend for managers?

Anything that Bob Sutton posts is good, and you can usually find a lot of interesting stuff in Harvard Business Review (ed. note: It’s all on Safari!). Beyond that, I don’t really follow any specific blogs. Most of my managerial blog article reading ends up being one-offs which I find by way of Twitter and then save to my Evernote.

For books, there are three which I recommend to everyone, manager or not:

  1. Hiring Geeks That Fit by Johanna Rothman. This is the only good book on hiring and interviewing I’ve ever found. It’s not just good, it’s great. Rothman does a marvelous job of breaking down the ordeal of interviewing and hiring. She shows not only how important it is to do these things well but also provides actionable frameworks for fixing your hiring process. Great stuff.
  2. No Asshole Rule by Bob Sutton. This was a philosophy I subscribed to before the book came out, but Sutton not only gave that philosophy a name, he backed it up with actual research. Data show that it is, in fact, much more expensive to project/team productivity to keep that asshole on your team rather than cutting him loose. Just fire him. You (and your team) will be glad you did.
  3. Badass: Making Users Awesome by Kathy Sierra. Sierra hasn’t written a book about product design. She’s written a book about how to think about people and their needs and how to craft your work in order to meet those needs (thereby making people awesome). If that isn’t the goal of management, then I’m doing it wrong. This is a fantastic book and I’m very grateful to Sierra for bringing it to us.

There’s one podcast I recommend: Manager Tools. The presenters approach things from a more corporate big-enterprise sort of way, but their advice can typically be applied to a lot of teams and companies. I’ve been managing for a long time now, and I still find plenty to think about each time I listen to an episode. Find the topics and advice which match your needs and give those episodes a listen.

I’m also excited about some of the topics I’m working on for talks this year. The first one with be a three hour technical conference speaking tutorial which Josh Berkus and I are co-presenting at SCALE14x. We’ve made all of the mistakes and, thanks to this tutorial, you won’t have to. Even if you don’t want to see this presentation, you should definitely check out SCALE14x. It’s definitely a front-runner for best community-run FLOSS conference.

How do you cultivate your leadership skills?

You have to practice, and to practice in the right way. It’s not simply a matter of, “Lead, lead, lead, lead, lead, leadership mastered!”

For example, if you were trying to learn calligraphy and all you ever did was write without stopping to see what you’d done properly and what needed work, you’d never become a calligrapher. So you need to lead, stop, think, analyze, correct, adjust, repeat. It’s an iterative process.

There are countless opportunities to practice your leadership outside of the office as well. For instance, have you ever gotten into the, “Where do you want to eat tonight?” discussion with your partner or friends? It goes back and forth undecided until it’s too late to do anything at all. Instead, you can practice your leadership skills by taking the lead. “Would you like to go to dinner tonight? Here are three places which I think could be fun…” You’d be surprised how much these seemingly mundane little leadership exercises can help you learn and improve.

Check out more of VM’s work at her website. Interview condensed and edited for clarity by the Safari editors.

Posted on by & filed under Business, Content - Highlights and Reviews, continuous learning, corporate learning, Learning & Development, work culture.


In the age of rapid globalization, mind-blowing technology advancements, and growing consumer power, one thing is becoming increasingly clear: for a business to survive and succeed, it must become a learning organization first and foremost. Regardless of industry, size, age, or business model, every organization must forge ahead in learning better and faster in order to stay competitive. Read more »

Posted on by & filed under Content - Highlights and Reviews.

One of the strongest features of Safari is the array and range of publishing partners who provide valuable content to our library. A key partner for us is Manning Publications, who provides our platform with a well-curated selection of technology books for professionals. 

As part of a continuing feature here at the Safari blog, we’d like to shine a spotlight on Manning Publications and their catalog of content for application developers, system administrators, software engineers, architects, and anyone else involved with the computer business. 

Big Data  Soft Skills  Go in ActionOculus Rift

Big Data: Principles and Best Practices of Scalable Realtime Data Systems by Nathan Marz and James Warren

Learn how to build large-scale data systems to help you capture and and analyze the vital web data you need to make crucial business decisions. The authors walk you through the process step-by-step from the batch layer to the serving layer to the speed layer.

Go in Action by William Kennedy, Brian Ketelsen and Erik St. Martin

A brand new title which was recently added to Safari, this book is a comprehensive and cohesive guide to the Go language. Proficient experience with other languages is assumed by the authors as it is written for the intermediate developer. Topics covered include packaging, libraries, and testing and benchmarking.

Oculus Rift in Action by Bradley Austin Davis, Karen Bryla, and Phillips Alexander Benton

Expected to release commercially in 2016, the Oculus Rift headset will bring a cutting-edge virtual reality experience to the market. In this book, you will learn how to create 3D games and other programs exclusively for the Oculus Rift. Experience with C++, C#, or another OO language is required as you read about how to use the Oculus C API, the VR user experience, and advanced integrations with the Oculus Rift.

Soft Skills: The Software Developer’s Life Manual by John Z. Sonmez

One of the most popular Manning titles within Safari, this classic book is the career guide that technically-minded professionals need to read. Author John Sonmez explains the importance of the ‘soft skills’ which are important in today’s workplace such as how to work remotely, the value of learning, and developing positive habits.


You can also check out this list in Safari, which includes an offering of the newest and most popular Manning Publication titles.