Tag: SAS

SASTechies 2015-08-31 14:31:00

Hey All,Today I happened to read this good presentation about the Data Visualization Best Practices in Business Intelligence reports…There is a excellent graphic referenced here which summarizes which type of data visualization Graphic would be bette…

Making Notes With Livescribe 3

A couple of weeks ago I wrote about active listening, and I mentioned that I find that note-taking helps me understand (and remember) what I am being told. The downside of this approach is the pile of age-old notebooks that I don’t want to throw away “just in case I need them”. I think I recently found a solution to my problem…

Back in June I bought a Livescribe 3 digital pen. This is a conventional ink-based pen that writes notes in books, but its party trick is that it has a miniature infra-red camera built-in that observes my jottings and stores an electronic copy. The copy is stored inside the pen, but a Bluetooth link with my Android phone (or Apple iPhone) sees the digital images transferred to my phone (either in real-time, or next time I connect the pen and phone). The Livescribe+ app on my phone allows me to view the pages and books of all of my writings since I bought the pen in June. I can throw away the books I’ve used since June!

The Livescribe 3 is the latest in a series of smart pens from Livescribe. Like its predecessors, the Livescribe 3 needs the company’s proprietary micro-dotted paper for it to do its magic, but the books are reasonably priced and widely available – or you can print your own micro-dotted paper if you wish (if your printer can manage 600dpi+). In addition, the pen uses Livescribe’s proprietary ink refills (67mm length and 2.35 diameter).

Truth be told, the pen is a bit chunky, but I soon got used to its shape and I no longer notice it. This may, in no small part, be due to its light weight. All-in-all it feels very comfortable in my hand.

I’ve found the digitised images to be very accurate and readable facsimiles of my analogue scribbles. And the Livescribe+ app does a decent job of optical character recognition (OCR) of my words too – making the digital pages searchable.

If you’re worried that your notes are a little vulnerable if they are only stored on your phone, fear not because the iOS version of the Livescribe+ app allows automatic synchronisation to Evernote and IBM OneNote. Apparently this feature will be added to the Android app soon.

All-in-all I’m smitten with my new pen. It accurately digitises and stores my scribble & writings, and it is nice and easy to use.

The Neo N2, which grew out of a Kickstarter campaign, is a direct competitor and gets good reviews. I honestly can’t recall why I chose the Livescribe over the Neo. I think they’re pretty similar in features and price.

Did I forget to mention the price of the Livescribe 3? Ah, this is its only major drawback. Expect to pay about £130.


Follow me on Twitter: @aratcliffeuk

Exercises for Learning SAS Programming

Our new book, Exercises and Projects for The Little SAS® Book Fifth Edition, includes a variety of exercises to help people learn SAS programming.  Rebecca Ottesen, Lora Delwiche and I designed this book so that it can be used either in a classroom setting or by individual readers working alone. One of the challenges we […]

Exercises for Learning SAS Programming

Our new book, Exercises and Projects for The Little SAS® Book Fifth Edition, includes a variety of exercises to help people learn SAS programming.  Rebecca Ottesen, Lora Delwiche and I designed this book so that it can be used either in a classroom setting or by individual readers working alone. One of the challenges we […]

NOTE: SAS Global Forum 2016 – Call for Content is Open #SASGF

Have you thought about sharing some of your knowledge with fellow SAS practitioners at SAS Global Forum 2016 in Las Vegas, April 18 – 21? User participation is what makes SAS Global Forum (SGF). Attending the papers from SAS staff is always informative…

Good Communicators are Good Listeners

A couple of weeks back I wrote how great developers have skills beyond syntax and design patterns. One of those key skills is communication.

Communication is a two-way operation, and the art of listening is oft overlooked, so I thought I’d offer some notes on the subject here. Specifically, what is commonly known as “active listening”.

There is a difference between simply hearing someone’s words and engaging & understanding what someone is saying. If we want to be an active listener, it isn’t enough to just hear what someone is saying. Active listening means i) we are focused on what is being said, and ii) we are open to the speaker’s point of view.

For the first part, paying attention, we should be listening and trying to understand what this means. There are different means of doing this, which suit different people. For me, I do this better by taking notes (plus, writing down what people say makes them feel heard and important!) and by using follow-up statements like:

  • Can I try to repeat back what you said, in my own words?…
  • So, another way of saying that is ….. Is that correct?

Each of these makes sure we understood the person’s point of view and gives them confidence that we are doing so.

The second part of active listening is being receptive to other peoples’ thoughts and ideas. Sometimes this can be really difficult for developers, or other smart people, because many times they are 5 steps ahead of everyone else! However, interrupting or assuming what someone else is going to say can hinder us from hearing new ideas.

It is very important to make people feel heard (not just listening to their words, but understanding their points).  To be more receptive to others here are some tips:

Don’t interrupt.  This one can be hard, when we already know the answer to something, or have thought through the solution or path already. However, allowing people to say their thoughts shows respect and consideration for others.

Don’t assume what they are going to say. We might be right, but we could also be wrong, and either way it prevents the other person from voicing their ideas. Problem solving, brainstorming, and planning are all things that can be better done collaboratively, and that means each person should have a chance to contribute.

Do ask clarifying questions. Try to understand the “why” behind what they are suggesting; even if the “how” is wrong, their motivations may be sound. Getting to the root of things by asking questions makes the other people feel heard out, ensures the roots of issues get addressed, and can lead to more productive conversations.

Acknowledge their view as important. They probably wouldn’t have said anything if it didn’t mean something to them. Therefore acknowledging their point, or motivation behind their point, makes the other person feel recognised and their concerns addressed. A simple statement like “that is a good thing to consider” or “thanks for bringing that up, we should definitely note it” is all that is needed; even if you plan to refute that view or disagree with it.

Wait for their response. If we ask someone a question show that we want to hear the answer by waiting for him or her to respond. Some people (especially technical folks) tend to like to think things through before they verbalise them. Other people are more comfortable when they are talking. If you fall into the latter camp, make sure that if you are talking to someone who likes to think through their reply, that you don’t keep talking and wait for their answer. Ask the question, pause and wait.

Notice their body language. Not all communication is said out loud, so take a few moments and try to observe how the person is reacting to what is transpiring. Are they guarded? Visibly upset or shaken? Are they excited and happy, nodding along to the statements? These are all clues that can help us understand what is really going on under the covers. Learning to pay attention to these can help us change our tone, or adjust our approach.

Listening (and contemplation) is such an important element of communication. We should always remember that we have two ears yet only one mouth; we should use them in proportion!


Follow me on Twitter: @aratcliffeuk

Unix Command-Line Top 10

If you are introduced to command-line Unix (or Linux or any other Posix-compliant variant) after a lifetime of Windows, it can be a daunting experience. To those thrust into this position, I always offer my top “ten” most useful commands to begin getti…

Great Developers Communicate!

There are so many skills that make a difference between a good developer (someone who knows their syntax and has a bagful of good design patterns) and a great developer. Many of those differentiating skills are related to communication.

I wrote about good communication skills nearly six years ago, so it’s probably about time to revisit the subject!

Few if any of us work alone. The vast majority of us work as a team. Communication within the team is a necessity, not an option. As a developer, good communication will ensure you deliver the right thing and gain recognition for your abilities; as a manager, good communication is important if you and your team are to deliver what the business needs when the business needs it so that they can get maximum business benefit.

Many developers like working independently and are proud of the autonomy they may be given. But the paradox here is that the autonomy and independence can lead to a lack of recognition of their abilities. Many of us have worked damn hard only to see the boss give plaudits to somebody who may have contributed much less to the collective. Why does this happen, and how can we avoid it?

Surely there must be some hard numbers that will make it clear who’s contributing the most to the team. Well, in my experience, traditional metrics such as lines of code, bugs closed and features added all have drawbacks in the reality of day-to-day software development, e.g. are two small features more valuable than one larger feature? And clearly, softer activities such as writing-for-maintainability and helping/coaching others have no reliable metrics for comparison. So, if there are no reliable metrics, how do you get noticed?

I think it comes down to trust. When a manager gives autonomy and independence to team members they are trusting them to complete the assigned task, make wise and strategic decisions along the way, and pro-actively communicate problems long before the become a problem. For someone to invest their trust in us, we have to show that we are in fact a good investment. We might ask ourself:

Does my boss trust me?
Do my team-mates and peers trust me?
Have I done a good job to earn their trust?
How would my peers describe me to someone else?
How influential am I within the organisation?

As a team member, we want to be judged by our contributions, and we want autonomy and the ability to own substantial things. As a manager, we want to give recognition and praise to the people who deserve it, but we don’t want to micromanage and spend our days being Big Brother. So there’s an implicit contract: I will give you autonomy and independence, but it is your responsibility to share status and information with me.

For example, a team member once told me he had worked hard and really gave it his best, but from my viewpoint his progress wasn’t up to the same level of his team-mates. When he was leaving the company he told me all the things he had done – and I asked him “Why didn’t you share this with me before?” You see, I would have advised him to spend his time elsewhere on priorities that were more important to the business. He responded with “I thought you would know.” Don’t make that same mistake.

And so my conclusion in all of this is: if you want autonomy, and the ability to own and control your own domain and projects – it is your job to push information and build trust with your team members.

In other words, you need to learn and do the following:

Follow through. Do what you say and consistently deliver on your commitments.

Pro-actively communicate when a task takes you longer than you thought, and why.

Improve your communication skills. In order for others to hear you, sometimes you have to hone the way you deliver your message.

Volunteer information and make an effort to explain vague or hard to understand ideas and concepts. Make an effort to share the details of your decisions and diversions. This is also important when you make mistakes – letting others know before they figure out on their own will show ownership of the situation and can prevent misunderstandings later.

Be forthright and authentic with your feelings. Even when you may hold a contrary opinion communicate your thoughts (respectfully and with tact).

Don’t talk behind the backs of others. It is very difficult to build trust if someone knows that you will say something negative about your boss, the company leadership, or another team-member.

Be objective and neutral in difficult situations. Learn how to be calm under pressure and act as a diplomat resolving conflicts instead of causing them.

Show consistency in your behaviour. Not just in follow-through but by eliminating any double standards that may exist.

Learn to trust them. This is one of the hardest ones, but trust is a two-way street. Giving others the benefit of the doubt and learning how to work with them is essential to a strong mutual working relationship.

In turn, hopefully, you have a good manager that will be able to ask you good questions and take the time to understand your contributions. And if that is not your situation, then make sure you are sharing information with those around you; such as your peers, your boss, and other stakeholders.

Good leadership is keeping everyone on the same page, and if you want independence it is your responsibility to make sure people know what you are contributing.

I don’t claim to come close to following my own advice in all situations, but I do keep reminding myself of what I believe is the right route to trust and autonomy. What is your route?


Follow me on Twitter: @aratcliffeuk