Engage

Posted in:

I am a full-time consultant who is available to engage with clients remotely or onsite anywhere in the world (I currently hold dual-citizenship between Australia and the United States).

To discuss your specific needs, please call me on +1.650.336.5877, or email me at craig@craigsdickson.com, or use this Contact form, or download a copy of my resume from this page.

The following is an overview of the services I provide to clients:

Software Development Process Improvement

  • Coaching for Agile process evaluation, adoption or improvement, including Scrum, Lean, Kanban and Extreme Programming (XP)
  • Definition, refinement and documentation of team processes and practices
  • Definition of Quality Assurance and Quality Control standards
  • Integration of defect tracking systems with other tools and processes
  • Engagement with customers and requirements elicitation

Software Development Team Management

  • Job Description authoring
  • Salary range and benefits package definition
  • New candidate acquisition and screening
  • Team workspace design and office space evaluation
  • Skills assessment of existing resources
  • Collaboration strategies for teams

Vendor Management

  • New vendor discovery and screening
  • Vendor proposal reviews
  • Offshore vendor management, including onsite visits and reviews
  • One throat to choke multiple vendor management

Software Configuration Management (SCM)

  • Introduction of an SCM system to teams not already using one (Subversion, Git, CVS etc)
  • Subversion and CVS training
  • Subversion and CVS server installation and configuration
  • SCM process definition and documentation, including branching and merging processes
  • SCM system migration, particularly CVS to Subversion

Build Management

  • Implementation of Apache Maven and Apache Ant based build systems
  • Automation of builds, particularly in relation to a Continuous Integration system like CruiseControl or Hudson
  • Management and versioning of produced code artifacts, particularly in relation to an Artifact Repository like Nexus or Artifactory
  • Release numbering strategies and Alpha and Beta customer release programs

Software Architecture & Design

  • Enterprise-level system architecture definition, existing architecture reviews
  • New database design and existing database design review
  • Formal UML based architecture definition

Enterprise Java Development

  • Specialist in full-stack JavaEE development
  • Public API design and documentation for ISVs
  • Web service development and integration
  • Code reviews and performance tuning
  • Service Oriented Architecture (SOA) design and implementation

Web Development

  • HTML, JavaScript and CSS development
  • Integration of AJAX style JavaScript libraries including GWT, JQuery and ExtJS
  • Integration of Adobe Flash and Flex components

Automated Testing Strategies

  • Introduction of tools like JUnit and Sellenium to teams that currently do not do any automated testing
  • Integration of tests into automated build scripts and generation of metrics
  • Static analysis of codebase quality

Mobile Development

  • iPhone application design and development, specializing in integration to JavaEE based back ends
  • Web based mobile development

Social Media Strategy

  • Specializing in small to medium business that do not have dedicated in house Social Media resources
  • Evaluation of current Social Media presence
  • Recommendations for Social Media platforms based on particular business needs and goals
  • Evaluation of Location based services in relation to business needs and goals

Once again, to discuss your needs and to find out how I can help you, please contact me by phone on +1.650.336.5877, by email at craig@craigsdickson.com, or simply use this Contact form. If you would like more detailed information regarding my experience and qualifications, you can download a current copy of my professional resume from this page.

Multiple Online-Personality Disorder

Posted in: Personal Branding, Social Networking

With the increased hype and focus on social media and social networking, many people are struggling with trying to keep their public/private lives, or their professional/personal lives separate. And for those people, I have some bad news – there can be only one You in social media!
Continue reading »

Apple MacBook Pro Hard Drive Upgrade

Posted in: System Administration

In a previous post (Apple MacBook Pro Memory Upgrade) I detailed the reasoning behind choosing to perform some upgrades on the MacBook Pros in my family instead of buying new ones. In this post I will go over the process needed to upgrade the hard drives to give us a little more room to move for the next couple of years and hopefully some performance improvements as well.
Continue reading »

Zembly victim of Oracle takeover

Posted in: Enterprise Java

Just received this email from the Zembly team at Sun. They don’t specifically point the finger at Oracle, but it doesn’t take a genius to join these dots.

We regret to inform you that on November 30th, 2009 we will be suspending the zembly service.

More than three years ago, we started this project with the goal of making it easy to create next-generation Web apps. Our original tagline was “Build the web, using the web,” and the ideas we were incubating around platform-mediated Web applications, Web API mashups, and social programming were brand new.

We learned a lot along the way. Your confidence and enthusiasm helped us improve the project and do amazing things that we never imagined when we began this journey.

Thank you to everyone who’s been with us through the ups and downs. It’s heartening to see that many of the best ideas pioneered in zembly have started to appear elsewhere. With your support, we’re proud to have contributed to the DNA of the Web.

For more information about the zembly suspension, please refer to the FAQ section at http://zembly.com

Finally, if you have questions, please contact us at zembly-support@sun.com

All the best,

– The zembly team

Sun Microsystems, Inc.
4150 Network Circle
Santa Clara, CA 95054
Click here to unsubscribe

Apple MacBook Pro Memory Upgrade

Posted in: System Administration

When I buy a tech gadget, whether it be a cell phone or a laptop for example, it always costs me twice as much as everyone else. No matter how good a deal I try to find, it always ends up costing me exactly twice as much as everyone else. Does this happen to you?

It is caused by Geek Wife Gadget Purchasing Syndrome, wherein I cannot buy any cool technology without also getting the same thing for my wife because she also covets cool gadgets.

We had planned to update to the latest MacBook Pro this coming January, as that would mark 3 years since we purchased our current identical in every way MacBook Pros. However, in these turbulent economic times and because of the syndrome mentioned previously, we decided to explore alternatives.

In the end we decided the laptops were not too bad and we could probably squeeze another couple of years out of them, but we had to do something about hard drive space and RAM. So this post details the RAM upgrade and I will detail the hard drive upgrade in another post.
Continue reading »

An Email Strategy

Posted in: System Administration

Anyone with an email address has had to deal with spam. Insidious, potentially offensive, sometimes incomprehensible but definitely time wasting spam. It is such a problem that there is a whole industry of software products out there to deal with the spam. Some of these tools can delete the spam straight away, others just tag it and allow you to redirect it to a Spam folder or something similar. But what none of them can tell you is who gave away your email address? Was it that online store you purchased a gift from last month? Did they then sell your email address to a list broker? Maybe it was a co-worker playing a joke that gave your personal address to that porn site?

Wouldn’t it be nice to know who gave away your email address? I certainly want to know.

In addition, unfortunately as good as some of the tools out there are, some spam inevitably gets through. I have given up on email addresses because they had become so riddled with spam that the signal to noise ratio was not worth the effort anymore. My original Yahoo! mail account comes to mind. I want to be able to block as much spam as possible – not tag it or redirect it, I simply want to know nothing about its existence in the first place.

So this is how I manage my email and deal with spam.

Firstly I purchased my own domain name and I set up an email server to host the email for that domain. Even the most basic Linux hosting plans will be more than enough for this purpose.

Next I set up just one real account on the email server. I then configured the server to redirect all of the email sent to that domain to that one real account. This is often called a catch-all account.

Now whenever I need to provide an email address for something, I use a unique one-off address. For example, when I signed up for Netflix, I used netflix@mydomain.com as the email address for my account. Whenever Netflix sends me an email at that address, it still ends up in my Inbox because of the catch-all account. l also know that if I start getting spam email being sent to netflix@mydomain.com then I need to have some harsh words with Netflix (thankfully this has not happened with Netflix).

If you implement this strategy, you’ll be surprised how many of these one-off addresses you end up creating. So to keep things organized (and so I do not forget who I gave the address too) I try to map these addresses to the domain names of the website or the company I am giving them too. This however, will raise some eyebrows from time to time. When the car salesman at the BMW dealership asks for your email address and you tell him it is bmw@mydomain.com you will almost certainly get a strange look.

OK, so now I can give out unique (traceable) email addresses to companies and websites when they ask for them. If I start getting spam being sent to a specific address, I know who sold me out. It also means that the email address that my personal friends and family use is kept reasonably secluded and not plastered all over websites and in databases all over the planet.

Now what do I do if the spam being sent to one of these unique email address gets out of hand? Easy, I just block receiving email for that address on the server. Any email sent to that address will bounce back to the sender with a message telling them that the account is no longer valid. I never see the email, I am never even aware of its existence, I never waste time downloading it to my phone or laptop. Perfect. In addition, the rest of my email is not affected, it still all gets through.

In my environment I run Sendmail as my mail server. Configuring Sendmail to completely block certain recipient addresses is very simple. You will need to edit the file /etc/mail/access which is a simple text file – if it does not exist, you can create it. In this file, you will need to add a line for each address you want to block. Here is an example

To:bmw@mydomain.com REJECT
To:vistaprint@mydomain.com REJECT

Sendmail will reject/bounce any inbound message sent to either of these 2 addresses. In my actual file I have about 15 addresses total being bounced currently.

Once you have edited the access file, you have to turn it into the database format that Sendmail expects. This is also easy to do.

$ cd /etc/mail
$ makemap hash access.db < access

That’s it. You don’t even need to restart Sendmail, the settings take effect straight away. Anytime you need to start rejecting another email you just add another line to the access file and regenerate the database.

Now, in the spirit of full disclosure, I admit that I do still get some spam. This is spam that is being sent to addresses that are legitimate and which I do not want to block. But I do know that the number of spam messages I do see versus the number that are getting bounced is slanted heavily in my favor – something like 1 or 2 per day get through versus 1 or 2 hundred that are getting bounced.

Let me know if you have any other ideas for taking better control of your email.

Agile 2009 Conference

Posted in: Software Development Team Leadership

Agile 2009 Conference

August 24 – 28, Chicago, USA

Don’t wait! The early bird pricing is still available! Only $1799 for a
regular registration – and many discounts are available. See
http://agile2009.agilealliance.org/ “Registration” tab for more details.

NEWS! Agile Conference Program has been Announced

Alistair Cockburn will give keynote “I Come to Bury Agile, Not to Praise
It”

Agile software development was defined from small, colocated projects in
the 1990s. It has since spread to large, distributed, commercial
projects around the world, affecting the IEEE, the PMI, the SEI and the
Department of Defense. Agile development now sits in a larger landscape
and needs to be viewed accordingly.

Jared Spool will give keynote “The Dawning of the Age of Experience”

Experience design is no longer a nice-to-have luxury of a few
organizations with tons of money and exceptional visionary management.
It’s become commonplace for organizations that build products and web
sites. In his usual entertaining and insightful manner, Jared will talk
about what it takes to build a design team that meets today’s needs.

More info on the keynotes http://agile2009.org/keynotes

Agile 2009 is the premier international Agile conference. The full
program has just been announced, and you can see all of the sessions
listed here:

http://agile2009.org/programOverview

Show your support – Get a cool badge for your website or blog! When
visitors click on it they’ll be directed to the Agile Alliance home
page. Get your badge here

http://agile2009.agilealliance.org/badges

Sign up to receive email updates about the Agile 2009 conference – click
the button here http://agile2009.agilealliance.org/

Now is the right time to register!
———————————-
* Super early bird prices are available, but they are selling out fast

* Airline tickets prices are still low

* Our partner, United Airlines, offers a special 5% discount on top of
their lowest fares. Check out the page

http://agile2009.agilealliance.org/information

* The official hotel – Hyatt Regency – has rooms set aside at special
rates for you. Link to it via the ‘Registration’ tab at
http://agile2009.org/programOverview to get the discounts.