Archive for the ‘Career’ Category

Triangle Javascript 2013-07-30 AngularJS and Yeoman

Live tweeting the AngularJS/Yeoman presentation at TriangleJS meeting.  Kyle Buchanan presenting.

  • HTML as your teplate language (can be extended)Two-way data binding between views and models
  • Encourages structure and testing
  • Dependency Injection
  • Templates are a big part of the efficiency.

Kyle showing some code, explaining the $scope. ng-repeat example.

The ng- thingies are called directives.

Now talking about 2-way data binding.

Showing ng-model. There are many ng-<something>. Check out the documentation.

Creating a Service- Angular creates a singleton when it injects a service. They call it a service, but the method is called .factory

app.factory(‘NowPlayingSvc’, [function() {

return {

libraries: [








  • AngularJS Documentation
  • AngularJS eBook
  • AngularJS on Google+

Look for preso on the TriangleJS github account.


A workflow tools Yo, Grunt, and Bower.

To scaffolds out a new application. Grunt builds, etc. Bower is used for dependency management.

You need node.js, git and optionally Ruby and Compass if you plan to run compass

Working with Yeoman and AngularJS

This Yeoman looks great. I guess I’ll need an Apple to run this stuff.


TACFUG Meeting Notes 2012-03-15

March 16, 2012 1 comment

Eleven of us met at Open Intelligence in Raleigh on March 15th for the monthly TACFUG meeting. Anant Pradhan gave a presentation titled Design Patterns for Everyday Use. This was a precursor to his talk at CF.Objective in May.

Anant is a young developer at UNC-CH and is taking graduate classes there along with working. He started with a general description of design patterns explaining that they were best practices rather than recipes for code. Many of the same problems come up in programming and similar solutions have been found. These have been organized into types including creation, structural, behavioral, and concurrency. Anant explained that only the first three really were used these days.

He went on to describe the three types in detail with listings of a number of subtypes. I won’t give away any spoilers so you will need to go to his talk in Minnesota to get all the good stuff. He is still working on parts of his talk, especially thinking of code examples that would help explain some of the information. It looks like this is going to be a good session for folks who didn’t grow up using Java.

There was discussion among the group after Anant’s preso. He got a lot of good feedback from the group about pretty much everything. Dan Wilson brought up a book that helped him get started with design patterns called Refactoring To Patterns by Joshua Kerievsky.

Please send me any changes or comments on my notes. I write them up so I remember them.

Book Review: Escape from the Ivory Tower by Nancy Barron

March 13, 2012 Leave a comment

I saw this book in the book raffle at Science Online 2012. I didn’t get it in the raffle, but decided to buy it later. I’m glad I did. My longer review is on Goodreads.

There is a lot to like about this book for scientists or technologists who are leery of working with the media. It should be on the list of to-read books for many scientists who want the public to know about their work.

Analytics Camp 2012 Big Data Intro and Roundtable

February 25, 2012 Leave a comment

Big Data session at Analytics Camp 2012

Tim Ross is giving an intro on big data systems such as Hadoop and other big data systems. Plus NoSQL systems.

Hadoop was developed at Google to deal with distributed data systems.

Apache Hadoop is a distributed framework for data processing and storage.

Google’s Map-Reduce paper describes the process. Tim explained how the map-reduce framework works by distributing the data across a number of lower powered commodity servers. Map-reduce processes the data on each server and collapses it to another server which then sends to the consumer of the data. Splitting up the data allows much faster, concurrent data access.

Hadoop is written in Java. Is was opensourced. Many use cases are batch.

HBase is nosql database that is gaining traction. Used by Google. Partition tolerant. Can be used with Hadoop.

HPCC Lexus/Nexus opensourced HPCC, marketed as a hadoop killer.

Conrad evaluated Pentaho. Analysis and reporting tools. Frontend tools resource. Focuses on analysis. Strength is building the cubes for processing. Uses MBX language (sort of like SQL) for processing.

Business Intelligence was mentioned.

Tim used a presentation he did in the past on Hadoop. When you write it, you write a mapper and a reducer. He used it on a genomics project.

IRODS was mentioned.

Tim showed the Yahoo! Developer Network site “Module 2: The Hadoop Distributed File System“.

Column oriented RDBMS systems mentioned.

There is a Hadoop user group that meets in Durham. There is a Triangle Pentaho user group also on


Analytics Camp 2012 Data Science

February 25, 2012 Leave a comment

Data Science

Melinda Thielbar discussing data science in the 1pm session.

Talks about using a distribution curve of % of customers versus $ Sales as an example.

Example curve dealing with mean vs median

Most underestimate mean vs median.

What does a data scientist do? Each part of being a data scientist actually is a scientific discipline in itself.

Many get caught up with having a single number that describes something, but it is the complexity of the data within the curve that is the important part.

Many times filtering of complex data will exclude information that may provide trends.

You can have success in analyzing data that others are excluding.

Lots of discussion on interactions of data scientists and other scientists with other disciplines as well as with each other. Can people from different worlds interact with respect? Can they communicate?

Data scientists understand randomness and understand it in all its forms and where it comes from.

A better data set is better than a bigger dataset. Discussion of experimental design. Different algorithms and tools can be used to reduce the number of data points. There is a lot of stuff in control theory.

Analytics Camp 2012 Introduction to Google Analytics

February 25, 2012 Leave a comment

Jim Hazen from SAS led the session on introduction to Google Analytics.

Jim Hazen from SAS talking about basic web site analytics

Jim Hazen at Analytics Camp 2012

Concepts in analytics. Described the triangle concept of

Hits, Page Views, Visits, Visitors, and Individuals.

Use of a permanent cookie to determine a specific visitor. Use of authentication to determine a specific visitor.

Time on site explanation. Interesting idea of how they determine how much time people spend on a site. The last page they visited is indeterminate. Only n-1 pages can be measured since they are measuring the difference between visit timestamps.

No absolute in web analytics, this isn’t finance. Trends are more important than absolutes.

Much on the Google Analytics main page is crap. It is based on older web analytics. You have to drill down more to answer any questions about it.

Shows Visitors Overview page graphics by day, month, year. Showed location data using SAS site as the example. Showed how to use the filters to get rid of the noise.

Interesting idea for looking at what types of devices are accessing your site. Is mobile important? You can answer the question about how to divert resources for mobile development versus web development. Is mobile important?

People are bidding for you when you search Google. Google is asking for bids for ads from vendors when you search.

When you click on a ad link at the top of the search, someone pays Google a specific amount. Google is optimizing it for their benefit. All the ads have tracking codes.

Organic search items are below (in white) under the page search items.

The Sources page is @DeanPeters (SAS) favorite report because it tells you how people are getting to your site.

Very interesting discussion that had to be cut short.


Email Hell

February 15, 2012 Leave a comment

Ever get caught up in an email stream that seems unending? For example:

Joe: “Anybody want to go out for lunch?”

Mary: “I guess, where do you want to go?”

Bill: “Depends, where you thinking of going?”

Joe: “I’m thinking sushi!”

Mary: “Sounds good.”

Bill: “When do you want to leave?”

Mary: “How about 12:30?”

etc., etc., etc.

Q: How do you deal with the proliferation of email messages like this chat?

A: Joe: “Anyone want to join me for sushi at lunch? If so, meet me in the lobby at 12:30. See you then, or meet us at Acme Sushi on Hwy 28.”

Chatting is best done using a chat service.

Give a direct solution, don’t leave things hanging that have to be discussed.

Categories: Time Management

Taming Email Streams

January 22, 2012 1 comment

This post is inspired by a session at Science Online 2012 that I attended in January 2012. The session was on the information overload that many of us endure in our personal and professional lives. There is a constant stream of tweets, email messages, IMs, Google+ posts, FaceBook, etc. Some people become engrossed by all the information and it destroys productivity. I have dealt with email for a long time and have looked into ways to get a handle on it.

I compare the problem to that of a sick and bleeding patient. You deal with the critical thing first. The first thing to consider is to stop the bleeding rather than try to cure the illness. Minimizing the incoming stream can be accomplished in most cases. First, analyze who is sending you messages so you have some idea how you can manage the flood. Most email is from people on your workgroup, friends & family, email distribution lists, and miscellaneous senders.

For project teams or workgroups, there are effective techniques for managing email. Frankly, good management will have developed a communications plan even if it is loosely defined. It is important for a manager to set up rules of engagement for communications. Put together a communications plan where team members understand when to email and when to use other communications.

For example, a manager may want to limit email to weekly updates (daily in some cases.) Individuals may be assigned to deliver their input to one person and that person might send one message a week to the team. I see a lot of people in a constant email stream defining work assignments. These can be multiple messages where one answer ends up causing additional questions. Suddenly, you have 10-20 messages to define simple tasks. Email probably isn’t the best way to handle these types of problems, but I see this happening all the time. Use the telephone or walk down to the person rather than have a long email stream back and forth.

Carbon copy is one of the most abused parts of email systems. Each person should think about who really needs to be copied on messages. There are very few times when everyone on a distribution list needs to have a copy of a message between two other people. This means that all those people need to manage the message with no gain in productivity. Don’t do it.

The email system should not be a file storage where people attach documents and send them back and forth. That is what file systems do. Also, FTP, wikis, and all sorts of collaboration tools are better ways of handling the file distribution problem. The versioning issue with files are also a big problem when people email copies of files around for review or editing. It can be very hard to determine the latest version and the correct version of a document.

A manager should also consider other forms of communication. A wiki or blog system may be a better mechanism for a team. Those will allow other team members to see Q&A and not have to repeat the same discussion on another email thread. Collaboration tools should be used for collaboration rather than having that stuffed into a messaging system.

Getting all the communication plan at the start of a project is a good way to limit the number of messages you have to manage. After a few projects, you will notice a reduction in the number of messages due to frequency and the number of CCs that you get. The idea is to reduce the number of message in total and only message when information is useful rather than CYA which happens a lot in business.

Business people should also consider the sources of their messages and ways to compartmentalize groups of messages into separate folders. Most email systems allow you to filter messages by a number of criteria. You can send email lists to specific folders. You can send messages from the boss or special accounts into the “important” folder. Family and personal messages can be sorted to a “Personal” folder automatically by the sender’s address. Email distribution list messages can be sorted to different folders. Alerts from machines and systems that many of us receive can be moved to a “Alerts” folder. Getting things out of the Inbox and into specific folders allows you to deal with the messages appropriately (or not at all.)

If you find that you don’t read all those messages from professional email lists, you should consider unsubscribing from them and using the web based system to peruse messages. That gets the messages out of your system, but they are still available on-line at your leisure. Some of the geek lists I received would have hundreds of messages a day. No one can deal with a job and deal with lists like that.

Unless you are told by your management that you must be available in real time, consider turning off your email client for most of the day. Check email two to four times a day at specific times. Some people do it twice at 11am and 4pm. Obviously, this doesn’t work for everyone and it should be cleared by your management. This goes to another issue of time management, but it is very much related. That’s another blog post though.

The conclusion is that the best way to deal with email is to not get it in the first place. Determine a communications plan for any teams that you manage. Figure out ways to reduce message count. Delete messages viciously. Sort and file any incoming messages and plan time to deal with them. If you see that you don’t deal with them over time, maybe you should look at why you are getting the messages in the first place. Life is too short to worry about missing something!

Science On-Line 2012

January 20, 2012 Leave a comment

I got word on Wednesday, January 18th, that I was off the waiting list and off to the science bloggers / writers conference Science Online 2012 at the McKimmon Center at North Carolina State University. After signing up, I started perusing the sessions at the unconference and was happy to see a number of interesting topics.

Day 1 was very interesting. After the initial welcome by @MisterSugar, Dr. Randy Woodson, chancellor of NC State gave an official welcome to the university. He obviously “got it” and was happy to be the host to this event. The keynote was next with @mireyamayor of National Geographic video fame. Her keynote was one of the most interesting keynotes I have seen at a conference (though I mostly go to geek conferences where speaking is not a main skill.)  She gave a hour long talk on how she started and how she segued from a graduate student studying monkeys in the jungle to TV host. It resonated with most in the audience who most likely had a similar history. She is an adventurer at heart and it showed in her talk.

The sessions started after that. I have to say that I had not studied the program given the late addition to my schedule so I figured I would “wing it”. During the rest of the day, I hit some winners and some that I wish now I had skipped. I’ll add those to the blog after I think about them. I should have looked into the rooms to see where the more famous people were attending since I didn’t have a lot of experience with the topics. I may try that technique in Day 2.

Professional Community and the Toxic Workplace

April 17, 2011 Leave a comment

I hear all the time about how professionals should take care of what they post to social media. Business HR departments and hiring managers are going through search engines to determine if someone could be a problem employee. This may be true, though I doubt it is often the deciding factor in hiring most professionals. Even at that, it is probably prudent to avoid posting how wasted you got last weekend and the photos of wild drunken orgies if at all possible.

In most cases, those looking for work at businesses are also searching and gathering information on prospective businesses. This can be tough since there is not a lot out there for most businesses except marketing materials. Even if you find something, you can’t really use the information since many toxic environments are hidden behind layers of management. Two departments in the same business can have startling differences of climate.

Of course, that doesn’t mean that it is impossible to find out what it is like to work at a company. What isn’t discussed often is the grapevine that is part of many fields. These fields are most often highly specialized and technical, but don’t have to be. People in the field develop an underground communication network which allows them to find out details that businesses have been able to hide in the past. The new social media and networking systems have allowed people from vast distances to almost instantaneously find out when a business unit has a poor employee climate. What was once a void for information is now very widely known.

For example, a business wants to hire a software developer in a very specialized language and platform. This field most likely has mailing lists, blogs, events, user groups, and conferences devoted to this technology. Many people involved in the field get to know each other personally and virtually. This happens to the point where a community develops and trust within the community becomes high. This means that those in the community have resources that have only been available within academia and a few other professions up to that last decade.

A business that has treated employees in that field poorly in the past may find that they may have difficulty in attracting the caliber of applicant that they want. The hiring manager may be surprised to find out that people who would have applied for positions are seeking work elsewhere. They also may find applicants who know a great deal about the climate within the business and ask uncomfortable questions.

So businesses who allow toxic environments to fester will find that they have more difficulty hiring and keeping the top applicants if they are in a very specialized field. It behooves businesses and managers to be very aware of the climate in their organization and fix the climate when they detect a problem. Unfortunately, perceptions can take a long time to fix long after the toxic environment has been fixed.

Categories: Career