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