JavaScript is a multi-paradigm language with rich functional programming capabilities. Functional programming does not have to be difficult or hugely theoretical. Quite the opposite – it can help you to solve the most common programming challenges in a more concise and elegant fashion.
In this video I focus on working with arrays in JavaScript. Normally, when dealing with arrays a developer would write a for loop and mutate a variable or two. However, JavaScript already comes with functions, such as, every(), filter(), map(), reduce(), etc. that help you to write better code for array operations.
More...

I have already blogged about the ways to share expertise and knowledge inside your organisation However, there is one more way. That’s something we call a codefest or hackathon. Codefest is an opportunity to work for two days on any project you like using any technology of your choice. Also, it’s a chance to work with people you don’t have on your project. This blog post is available on my company’s blog.
More...

Where IT organisations have heterogeneous technical environments it is not always possible to know what your colleagues are working on and which challenges they are facing. This blog post will discuss various ways to share information in an IT organisation. The article was written for company’s blog where you can read it now.
More...

Recently, I came across a situation which once again proved the immense value in having code reviews. I was working on a tricky part of an application that involved substantial design work. As part of our 'Definition of Done', I had to submit my code for a peer review. The review turned out to be invaluable - after all, it's always useful to get the second pair of eyes to look at your work. I wrote this article for my company’s blog where you can read it now.
More...

There can be debates whether the Agile Software Development processes have become mainstream or not, but most of the software development houses are trying to adopt the Agile practices. Yet, coming from academia or, say, a less agile environment, such practices can be misunderstood. In this post, I am going to tell how I have become an avid agile practitioner and what has helped in that glorious journey.
More...

I have already covered the Visio event model in one of the previous posts. Unfortunately, not every event can be handled in that easy way. For instance, the double-click event requires a totally different approach.
In order to handle the double-click on a shape you have to use ShapeSheet More...

Often, you want to either to read or put some additional information regarding shapes in your diagram. For instance, you have an application for drawing a layout of your office. Obviously, every piece of equipment or furniture your have has some information, such as its name, code and any other information related to facility management. There are two ways of reading/writing such kind of information. The first one is to make use of Visio custom properties, while the second one is to store that kind of information in a database. The former is relatively simple, as it doesn’t require to have any additional layer, such as database. At the same time, the latter is more versatile, as it allows integrating Visio application with other business application by querying a database. In the tutorial we cover the first option, that is using custom properties of Visio.
More...

In the previous chapters we have already seen an important Visio event, DocumentOpened, which is triggered each time you open a new diagram. However, the Visio API supports tons of other events and some of them are necessary for building sophisticated applications around Visio. Provided you have an application with an embedded Visio control and users can use the application to modify diagrams. Obviously, you want to keep track of such changes and, say, record them in a database. Visio events allows you to receive notifications every time such a change occurs.
More...

This is the second part of the Developing for Visio series. Today, we’ll speak about how to analyse programmatically parent-child relationships in Visio diagrams. Often, especially in block diagrams there are boxes that contain other boxes. However, during iterating through shapes in a Visio diagram such a relationship is not preserved.
More...

This tutorial demonstrates how to extend the Visio functionality by writing an Visio add-in with VSTO, creating a standalone application with both Windows Forms and WPF, and finally by building a browse application with WPF (XBAP).
More...

The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.
My personal thoughts tend to change, hence the articles in this blog might not provide an accurate reflection of my present standpoint.