Sunday, March 27, 2011

Weekly roundup: going to the roots of TDD

I'm reading Test-Driven Development by example by Kent Beck, the original book where TDD was presented to the public. I'm getting many insights on the Red-Green-Refactor process, but one thing is becoming clear (and it is also explicitly stated): TDD is not a substitute for design choices. It gives you a quick feedback about the current code design, its testability and coupling; but choosing metaphors, names and patterns is up to you.
Unless you were once bitten by a radioactive Kent Beck, your design-sense should be nurtured with practice, like any other skill.

Here are my articles published this week, some of which regard testing as well.
Practical PHP Testing Patterns: Configurable Test Double is the main method for building Test Doubles.
How to enrich lawyers explains the goals of the patent system, and its many issues.
Practical PHP Testing Patterns: Hard-Coded Test Double is a type of Test Double written by hand, and very explicative.
Web Workers, for a responsive JavaScript application is a running example of this HTML 5 innovation.

Sunday, March 20, 2011

Weekly roundup: the "innovation" buzzword

I just returned from the first seminar of Alta Scuola Politecnica on Lake Maggiore. It's too early to make a judgment on this experience, but the speakers (e.g. Francesco Lissoni, Trevor Pinch) had indeed made a good job in transforming the course title (Something something something innovation if I remember correctly) into tangible concepts: why pursuing innovation and what it means, how to involve users into your projects, the impact of patents and intellectual property, and other interesting topics.
And working with colleagues of very different backgrounds (management, graphic design, even aeronautics) and nationality (Russia, Serbia, Colombia) is surely an unstable and funny terrain.

While I was away, my four articles for this week have been published on DZone.
Practical PHP Testing Patterns: Mock Object
Table-free CSS layouts in 10 minutes
Practical PHP Testing Patterns: Fake Object
Which PHP framework would you use today for a brand new application?

Sunday, March 13, 2011

Weekly roundup: Lake Maggiore

I'm leaving for the whole week to Lake Maggiore due to university events (ASP, and no it's not ASP.NET but another acronym.) So far we haven't yet done anything at ASP apart from expressing preferences for projects, and this will be our kickstart event.
It seems that my project, which will shape many hours of my work in the year to come, will be related to e-learning services, and has been proposed by Accenture, whose clients include 94 companies from the Fortune Global top 100 index. Hope to have an interesting experience.

Here are my original articles published this week.
Practical PHP Testing Patterns: Test Stub
GitHub is a web application, Twitter is not (yet)
Practical PHP Testing Patterns: Test Spy
Eliminating duplication
Expect articles to pop out on during the week - I left four other originals to my editor for publishing. For the upcoming week I will be slow in responding to comments, though.

Sunday, March 06, 2011

Weekly roundup: new semester

I'm starting a new semester at PoliMi tomorrow. I did not really have a choice on the selection of courses for this round, but the subjects seem nevertheless interesting. Still, I have to work on my computer vision project to wrap up the first semester, and my PHP work time will be greatly reduced.
Some topics I will encounter in the next months and that will probably influence my articles are:

  • Java and non-Java web development with frameworks (don't yet know which particular technologies)
  • Physical architectures (clustering, parallelism, distributed systems and similar)
  • Performance evaluation (how many concurrent users can this machine sustain?)
  • Machine learning and model estimation (like how do you get a machine to recognize human faces)

Anyway, here are my original articles published last week.
Practical PHP Testing Patterns: Implicit Teardown is the last type of teardown for test suites, which is inserted in hooks provided by PHPUnit.
SOLID for packag... err, namespaces explains the 6 principles which extend the SOLID ones to packages instead of classes. In PHP, I think namespaces will become somewhat equivalent to binary packages in other languages.
Practical PHP Testing Patterns: Test Double introduces the various types of Test Doubles like Stub, Spy and Mock. Each will have its own dedicated article in the series.
What you must know about PHP errors to avoid scratching your forehead when something goes wrong is exactly what it says on the tin.