Categories
Education Technology

Rock SOLID software construction

SOLID - Software Developement is not a game of Janga
Software Developement is not a game of Janga

I spent last two weeks deep diving into code written by our contractors and writing some test against the same. This was a pleasant break from my regular duties of an architect. As an architect I am always trying to ensure the code follows pragmatic design principle and I really dig SOLID and TDD.

<aside>

S.O.L.I.D. (a.k.a. S.O.L.D.I.)

The charm of Uncle Bob is, he can give a concrete shape to abstract ideas. I have been following the principles laid out by SOLID for some time, but he makes them fit together and remove ambiguity.

So, what is SOLID principle?

Categories
Education Technology

10 programming related podcasts available on iTunes

These are some of the better podcasts on the craft of programming.

  1. Hansel minutesitunes
  2. pixel8 – What makes great user experiences?itunes
  3. .NET Rocks!itunes
  4. Herding Codeitunes
  5. Pragmatic Podcastsitunes
  6. The Thirsty Developer Podcastitunes
  7. Deep Fried Bytesitunes
  8. Elegant Code » CodeCastitunes
  9. The Java Posseitunes
  10. Software Engineering Radioitunes
Categories
Technology

One question to rule them all

Job interview in progress

Recently, while interviewing a person, I came up with an interesting question. That led to a series of discoveries about the interviewee. So I thought I would share it here.

How does xUnit work? **

This one question offered insight into various aspects that I cared about. I steered the discussion until I got the answers to these question, without asking them explicitly.

  • Do you know what unit testing is? – Awareness level
  • When do you write test cases? Before or after the change? – Practitioner skills
  • How does unit testing work? – Conceptual skills
  • Do you understand annotations? How are they used in JUnit / NUnit? – Advanced developer skills
  • Do you understand the implementation behind unit test frameworks, or are you a dumb consumer? – Architectural skills
  • How was the implementation explained? – Communication skills

What are your favourite questions?

** Replace xUnit with language specific implementation (JUnit, NUnit, etc.).

Categories
Everything else

Ultimate Blog Editor

If there was ever a totally unqualified opinion, here it is. A blogger for 6 weeks and change, this is my thought what a blogging tool should be.

Those who came here searching for the ultimate editor, I am sorry to disappoint, only ideas here.

To start with; I have tried WordPress online editor, Scribefire, Windows Live Writer and Drivel; and found them all lacking in one aspect or another. Currently I find Live Writer to be better than the rest. Trying out OneNote which has few features I like.

So, having laid the foundation, here are the features I would like to see in a blog editor.

Categories
Education

Tip: Convert an image to text (OCR)

Haven’t there been times when you came across some text that you could not copy or edit? It could be for a variety of reasons, whether it is a scanned copy, or an image containing text, a screen shot etc.

I came across a similar situation yesterday, when I was looking for a word list to create a Pictionary for my kid. “Stretch mark mama” had this great list; unfortunately she shared it as an image. I needed to extract the text out of the image and remembered an old trick. So I thought I would as well share it.

The trick is to use the Document Imaging application that comes with MS Office.

Categories
Education Technology

Playing with Small Basic

Yesterday I stumbled upon SmallBasic, while looking for something else. It is an interesting little project by Microsoft to create an entry level language to teach programming. It is a mix of toned down BASIC and Logo. Since the language (or is it an application) is still in infancy, version 0.5 released recently, I will try not to be too harsh on it.

Sample program with obligatory screenshot

Showing Flickr Image
   1: url = Flickr.GetPictureOfMoment()

   2: img = ImageList.LoadImage(url) 

   3: GraphicsWindow.Title = url 

   4: GraphicsWindow.DrawImage(img,0,0) 

   5: GraphicsWindow.Height = ImageList.GetHeightOfImage(img) 

   6: GraphicsWindow.Width = ImageList.GetWidthOfImage(img)

image

The Good: