February 18, 2013

Enum: the ‘simple’ C# value type we love to complicate

Filed under: Development — Tags: , , , , , — Arne Joris @ 12:20 pm

Enums are simple collections of constant values, using an underlying integer to store the value.  Enums implement IComparable, IFormattable and IConvertible while still being value types and give us everything we need to store and use things like status values, action codes, colours etc…

You can use enum values in both server and client code, but when the user interface displays an enum, or when the user must be able to choose enums from a combobox, we can run into complications with enums. Making enum display values more human readable and showing values in a particular order are not that easy to implement. In this article, I will show you a solution used in a WPF client consuming WCF web services.

(more…)

January 11, 2013

A .NET-based user interface for MATLAB applications

Filed under: Development — Tags: , , , — Arne Joris @ 6:58 pm

logo_matlab MATLAB is a numerical computing environment for engineering applications. It supports communicating with and controlling hardware and processing and visualizing data from that hardware, which makes it a very popular platform for writing the software that goes with custom hardware solutions.  It also supports creating user interfaces too, but they tend to look outdated and clunky. matlabGUI_example1a

For example, the control and display software for your custom pump controller system can easily be written in MATLAB. It would run on a PC that is connected to your hardware, lets the user turn the system on and off, set parameters such as pump cycle delays and display graphs showing overall efficiency or total energy input. You can compile all the MATLAB code and sell it, along with your hardware and the MATLAB compiler runtime, as a product.

But what are your options when you want a sleeker, more modern UI with a ribbon bar, interactive graphs and UI themes or skins?  The most economic solution with a relatively short time-to-market, is to create a .NET based UI which connects to your MATLAB functions. In this article, I’ll elaborate on how exactly this works.

(more…)

December 17, 2012

Are you a pointy haired software manager?

Filed under: Development — Tags: , — Arne Joris @ 4:11 pm

Ah, managers… We all love to hate management, until of course we join its ranks. Then we like to think we are different from those other pointy haired types, but we fail to see the evidence to the contrary.

If you recognise some of your own behaviour in the anti-patterns in this article, it is time to re-evaluate! Admitting you are a pointy haired boss is the first step toward better management.

(more…)

November 22, 2012

Happy Thanksgiving America!

Filed under: General — Tags: — Darrin Maidlow @ 5:43 pm

To all my American friends, colleagues and readers – please have a safe and happy holiday weekend surrounded with family and friends!

November 16, 2012

SCRUM: beyond better software

Filed under: Development,Small Business — Tags: , , — Arne Joris @ 6:24 pm

Agile software development has been picking up steam in the last couple of years and especially SCRUM has become a very popular development methodology. SCRUM can produce better results for complex projects and the internet is full of helpful tips on how to tailor it to specific project types, team structures or industries.

I have been using SCRUM for several years now,  in both large and small environments and found that there are  non-technical benefits from the SCRUM process that can have a positive impact on your business. Benefits such as effective customer engagement, timely customer payments and better estimates should be of interest to everyone in the software development business. Small companies may benefit the most because the link between a developer’s pay cheque and customer happiness is obvious and there can be direct contact between end user and developers.

(more…)

November 3, 2012

A big welcome to Arne–our newest contributing author

Filed under: General — Tags: — Darrin Maidlow @ 9:32 pm

welcome to the big leagues arnePlease join me in welcoming our newest contributing author !  Arne is has been my colleague at for several years and has had a diverse fifteen year career spanning the world.  

We’re always interested in hearing from talented folks that might like to contribute to – if you’d like to become a contributing author please feel free to .

It’s a boy!

Filed under: General — Tags: — Darrin Maidlow @ 6:37 pm

Hey everyone!

Another day another baby!   On November 2nd at 1am exactly our son, Ozzy Ash Pawliuk-Maidlow was born.  Yup, Ozzy as in =]  Weighing in Ozzy Ash Pawliu-Maidlowat a hefty 6 lbs 5 oz (as opposed to our who was 4 lbs 7 oz).  Mom and baby are doing great.  As I hoped this time around was a LOT easier.  Much better when you have some idea what you’re getting into.  The only thing I wasn’t prepared for was the lack of sleep.  Staring blankly at a screaming baby on maybe 2 hours of sleep trying to remember how to change the diaper on a newborn.  The last time I did an all nighter was when our daughter was born.  Before that it had been many years =)

Fortunately the little guy looks great in pink : )

November 2, 2012

Visual Studio running slow? Check your Anti-virus

Filed under: Development — Tags: , , — Darrin Maidlow @ 8:00 am

TurtleFor several weeks now I’ve been suffering a slow painful agony at work,  has been unusably slow.  The editor takes forever to display WPF views and don’t even get me started on builds.  I’ve got what I would consider to be a pretty decent pooter – Alienware M17xR3 with an Intel i7-2720QM 2.2Ghz, 16GB ram with SSD drives.   The machine is still generally pretty quick.  It boots in a matter of seconds.  A quick test of the disks using shows that disks are running within the expected ranges.

Visual Studio seems to be the only thing really running slowly

I tried the usual suspects.  Disabling all plugins and addins.  is a very powerful tool – but it can also come with a cost creating all of its metadata.  It was conceivable that as our solution grew (it’s at 40+ projects) some bug may have been exposed in R#.  I  also and that were rumored to help deal with slowness.

There’s no bad ideas when you’re brainstorming

That header there was for those of you with toddlers and TV’s glued to the Disney channel.  Yes, its true… I have kids TV show songs like stuck in my head most o f the time now.  Oh the joys of being a parent =)  In all seriousness though after sitting back and thinking about the systems involved it dawned on me.  Real time anti-virus scanning.  Visual Studio is constantly writing temporary files during use.  Builds are especially disk intensive.  Builds are also usually building and copying around exes and dlls that real time anti-virus engines love to scan.  This may not be immediately apparent on smaller solutions which would explain why this seems to have been a progressing problem.  As more and more code and projects were added to the solution – Visual Studio got slower and slower.   To test this theory I just disabled and ran a build.  Hurray it was fast again!

Add some scanning exceptions

Thankfully due to our strict rules on source control all of our solutions exist within one of two folders – one for and one for .  This allowed me to create a handful of exceptions under the AVG real-time scanner settings that excluded my source control repositories.  Suddenly now my designers as well as my builds are quick once more!

Set it and forget it is great – except when you set something up years ago and forget about it when its causing you problems.  =)

October 26, 2012

WPF style resources bug causes stack overflow in .NET 3.5

Filed under: Development — Tags: , , — Arne Joris @ 8:12 am

XAML logo We recently re-wrote an AutoCAD 2010 application to be entirely based on .NET.  Our application was using Windows Presentation Foundation for the presentation layer, which lets you nicely separate presentation from business logic using the MVVM pattern.  Since this application also had to run in AutoCAD 2009, it had to use the .NET 3.5 version.

It turns out there is a bug in .NET 3.5 (fixed in 4.0) that causes a stack overflow exception when you define two or more default style resources for the same type at the same level.  If you use global resource files and window-specific default styles, you may run into this and its not at all obvious what the problem (or the solution) is.

(more…)

October 18, 2012

SQLBase

Filed under: Uncategorized — Tags: , — Arne Joris @ 12:10 pm

SQLTalkIconOne of the perks of doing software development for small- and medium sized organisations is that you get involved in all aspects of IT.  In our projects at we have done backup, workstation and router configuration, printer troubleshooting, mail merge support and, of course, database maintenance.
Database administration skills are a must when you develop line-of-business applications, and most of us know our way around the usual suspects: Orace, SQL Server, MySql and sometimes even DB2, Informix or PostgreSQL.

When you specialize in legacy application renewal, you sometimes come across more exotic database varieties. In this article, I’ll share my knowledge of SQLBase , a variety I came across earlier this year.

SQL what now ?

Gupta SQLBase was one of the first relational databases for the PC in the 80s. It has changed owners several times in its 30 years, but currently it seems to target embedded platforms, claiming to be a ‘no maintenance’ RDBMS. But back in the mid to late 90s, SqlBase was still a very popular relational database technology for PC platforms, which is why some of the older legacy apps still use them.

I have been helping a client out with DBA services for an aging 7.6.1 release of SQLBase. To give you an idea of how old that is: the hardware requirements state that you need at least 24MB of RAM available on Windows 95, 98, NT or windows 2000 :-)

(more…)

Older Posts »

Powered by WordPress

Switch to our mobile site