← Older posts

Setting Targets, Hitting Targets: Delivering on Time

code Bob Hughes is an editor and co-author, who handles project management for IT projects in the telecommunications, energy and local government sectors. He is an academic at the University of Brighton where he gained a PhD in software measurement.

How, over time, do your bosses (and/or clients) rate you as a project leader? What influences that judgement? A big influence will be the regularity with which your team delivers on time. High quality software is great, but high quality software delivered when it is needed is much better. A history of late delivery will do you no good at all.

​So, the next question is how do you make sure that your team completes on time? In the last two posts we looked at what we might rather sternly call project discipline, but perhaps the biggest cause of late delivery is getting the estimate of time and effort needed wrong in the first place. You can be a great project leader with a great team, but if the original estimate is wrong, you could be basically stuffed.

I have heard a project management guru argue that even if you do not understand a technical area, you can always tell when someone is lying about it. But when I was a programmer, it sometimes took me longer to do a task than I originally told my boss. I really believed my estimate was correct at the time. I was not deliberately lying. Continue reading →

Smart-er Watches

codeMartin ‘MC’ Brown is the author and contributor to over 26 books covering an array of topics, including the recently published Getting Started with CouchDB. His expertise spans myriad development languages and platforms Perl, Python, Java, JavaScript, Basic, Pascal, Modula-2, C, C++, Rebol, Gawk, Shellscript, Windows, Solaris, Linux, BeOS, Microsoft WP, Mac OS and more. Martin currently works as the Director of Documentation for Continuent.

The current trend for the release of SmartWatches is, to me, an inevitable part of people wanting to be connected, but not necessarily wanting to get out their phones. Let’s not forget Google’s Smartglass, which is, in so many ways, a very similar idea. A passive device that shows you information without you having to get your mobile phone out; Google Glass does it through your glasses; a watch does it on your wrist.

What’s interesting is the responses and comments to the SmartWatch genre by many people inside and outside the community, and generally, they fit into the following categories:

  1. Why would I want a watch?
  2. Why doesn’t insert SmartWatch here do this?
  3. If it doesn’t replace my phone, I don’t see the point.

Continue reading →

Tracking Web Performance with WebPagetest

code Tom Barker is a software engineer, an engineering manager, a professor and an author. Currently he is Director of Software Engineering and Development at Comcast, and an Adjunct Professor at Philadelphia University. He has authored Pro JavaScript Performance: Monitoring and Visualization, Pro Data Visualization with R and JavaScript, and Technical Management: A Primer, and can be reached at @tomjbarker.

Tracking web performance is a key to maintaining your web site. One of the key tools that I use to keep track of the web performance of my sites is WebPagetest.

WebPagetest was originally created by AOL and open sourced for public consumption and contribution in 2008. It is available as a public web site, as an open source project, or for download to run as a private instance. The code repository is found here. The public web site is located here. The public site is maintained and run by Pat Meenan, via the WPO Foundation.

WebPagetest is a web application that takes a URL, and a set of configuration parameters as input and runs performance tests on that URL. The amount of parameters that you can configure for WebPagetest is extraordinarily robust. Continue reading →

Get Your Hands Dirty Refactoring in AngularJS

code A guest post by Christopher Hiller, the author of Developing an AngularJS Edge and a Software Architect for Decipher, Inc. He enjoys gaming, coding, and gleaming the cube. He can be reached on GitHub or as @misterhiller on Twitter.

Before we get started on refactoring in AngularJS, I want to make sure you’ve seen the two previous posts in this series: 13 Steps to AngularJS Modularization and Writing Tests and Stomping Bugs in AngularJS. In this final part of the series, I’ll discuss how to get your hands filthy with the code. Continue reading →

Implementing Pie Charts in R

code Tom Barker is a software engineer, an engineering manager, a professor and an author. Currently he is Director of Software Engineering and Development at Comcast, and an Adjunct Professor at Philadelphia University. He has authored Pro JavaScript Performance: Monitoring and Visualization, Pro Data Visualization with R and JavaScript, and Technical Management: A Primer, and can be reached at @tomjbarker.

Continuing the series of posts that I’ve been writing, focusing on data visualization and specifically different types of data visualizations in R, this post will focus on pie charts.

A pie chart is a circle that is sliced into wedges. The circle represents the entirety of a data set, or the whole. The wedges demonstrate how the whole is divided into parts. Continue reading →

Homebrew Packages for the Developer

codeShannon Appelcline is a versatile author and programmer who currently works as the lead iOS developer for Skotos Tech, an online entertainment company. In the past two years, he’s written seven iOS games for them, all based on tabletop releases by popular German designers. The first of these was Reiner Knizia’s Money (2010)—which has also been ported to MacOS—while the most recent was Reiner Knizia’s Modern Art: The Card Game (2011). Shannon’s two most recent books show the breadth of his interests. They are iOS4 in Action (2011), published by Manning Publications, and Designers & Dragons: A History of the Roleplaying Game Industry (2011), published by Mongoose Publishing.

Previous posts talked about how to set up Homebrew on your MacOS X system, and how to keep it up to date. If you’ve followed that advice (or if you’ve previously used Homebrew), then you should have a package management system ready to go on your MacOS X system.

But, what do you do with it now? And how do you use it to improve your development work? Follow along to find out. Continue reading →

Product Quality: The Project Leader’s Key Concern

code A guest post by Bob Hughes, editor and co-author, handles project management for IT projects in the telecommunications, energy and local government sectors. He is an academic at the University of Brighton where he gained a PhD in software measurement.

Previously, in the Your Project Will Be a Success If… post I explained that the book Project Management for IT-related Projects, published by BCS The Chartered Institute for IT, had been designed to help novice IT project leaders grappling with their first project leadership responsibilities. The words project leadership, rather than project management, were used since the concern was not with the strategists in the boardroom, but with those who look after the actual development work that involves both technical and human issues. The idea behind the book was to talk about the basic approaches – which in a good project leader are often instinctive – that lie behind the detailed advice given in textbooks.

It comes down to quality

My advice in the previous post is about making sure you know why your project has been started. Let’s now focus on the idea that during the execution of an IT project, the project leader’s key concern is all about quality. Continue reading →

Writing Tests and Stomping Bugs in AngularJS

code A guest post by Christopher Hiller, the author of Developing an AngularJS Edge and a Software Architect for Decipher, Inc. He enjoys gaming, coding, and gleaming the cube. He can be reached on GitHub or as @misterhiller on Twitter.

If you haven’t read my previous post on modularization, you might want to take a look, since I cover how to get your AngularJS app organization in top shape. In this post we will look at writing tests and stomping bugs in AngularJS.

Perhaps you have thousands of lines of AngularJS JavaScript, and yet only a few unit tests? Even in The Age of the Unit Test, it happens. If you have bugs piling up, you may want to consider writing some tests. Continue reading →

Mastering Parallel Coordinate Charts in R

code A guest post by Tom Barker, a software engineer, an engineering manager, a professor and an author. Currently he is Director of Software Engineering and Development at Comcast, and an Adjunct Professor at Philadelphia University. He has authored Pro JavaScript Performance: Monitoring and Visualization, Pro Data Visualization with R and JavaScript, and Technical Management: A Primer, and can be reached at @tomjbarker.

A previous post that I wrote looked at using scatterplots to identify relationships between sets of data. I talked about the different types of relationships that could exist between data sets, such as positive and negative correlation. This idea was couched in the premise of team dynamics – do you see any correlation between the amount of people on a team and the amount of work that the team can complete, or between the amount of work completed and the number of defects generated.

In this post I will talk about my current favorite type of chart: the parallel coordinate chart. The parallel coordinate is my favorite because it clearly shows nuanced relationships between several different data points, and it is much like a scatterplot, but scaled to encompass many different axes, instead of just two like with a scatterplot. Continue reading →

Using ESlint Plugins for Node.js App Security

codeA guest post by Adam Baldwin, the Chief Security officer at &yet and the Team Lead at ^Lift Security, where they help teams build more secure Node.js applications through assessments, consulting and education. Adam can be reached at @adam_baldwin.

As part of our code quality efforts at &yet, we require that developers lint their code. This allows us to technically enforce a number of things that contribute to code quality and help us keep code consistent among the developers on our team.

A new linting tool called ESLint for JavaScript has emerged that I feel will give the classics like jslint and jshint a run for their money, due to its plugin architecture and use of Esprima to provide the parsed JavaScript AST (Abstract Syntax Tree).

I’ve been experimenting with ESLint to identify potential security issues within code and I’ve published the work-in-progress here.

This post is a short walk-through of an ESLint plugin I created to identify regular expressions that are potentially vulnerable to ReDoS (Regular Express Denial of Service) and to give you some background for creating your own security-minded plugins. Continue reading →

← Older posts