Continual Inspection

Learnings, findings, notable thoughts and observations

Microsoft WCF, OData and SSIS

We decided to give Entity Framework a try behind an OData web service. Initially this sounded like a great idea and after figuring out that the Enum types weren’t supported properly in Entity Framework 6 we finally got a WCF service running OData on Entity Framework 6.   The next challenge we faced was figuring out how to get the SSIS package script to interface with the web service we deployed. After fighting with numerous configurations and suggestions on the internet we decided to take a different approach. The error we continually got from the SSIS script package was one detailing that it could not find one of the dependent dynamic link libraries. Eventually we figure out the they needed to be registered in the GAC (Global Assembly Cache). Once we did this everything started groov... [More]

Logging, a necessary evil

During the development of a product, often the logging of events inside the system is neglected. We often tell ourselves “we will get round to it” or “we don’t have time for that right now”. The sad part about these theories is that logging can actually help development. The most difficult thing to decide is which logging framework to use as there are a plethora of logging frameworks available for each programming language. This alone should illustrate how important logging is but also has the side effect of making it extremely difficult to choose one. Next we are faced with the challenge of deciding a log format. What information do we need? What information is helpful? What information might be helpful? Then just as we think we have a handle on it, a vital part of information is missing ... [More]

Windows 2012 FTP on Amazon EC2

While fiddling with Amazon AWS and trying to get an EC2 instance running, I ran into some issues with the FTP service. A little searching revealed that you have to use passive FTP to get this working with EC2. I found this gem: http://www.itq.nl/blogs/post/Walkthrough-Hosting-FTP-on-IIS-75-in-Windows-Azure-VM.aspx It is for Windows Azure but works on Amazon. Just remember to configure the ports in the Amazon security group! Oh, Appcmd.exe can be found here: %windir%\system32\inetsrv on Windows Server 2012.

Creating an Android Virtual Device

Now that we have all the packages we need we can start creating our devices. Now the first thing I did is create a device manually thinking to myself “I have done this before”. After I booted the device I could not interact with any of the hardware keys available on the skin. Bummed I tried again and again and again but no joy. I couldn’t find any additional configuration settings that would allow me to enable the hardware keys! So using the traditional method of opening the Android SDK manager (Android SDK installation on Ubuntu 12) and opening the AVD manger via “Tools –> Manage AVDs” and hitting the “New” button wasn’t panning out to well. Traditional means of creating an Android Virtual Device. Searching around, I found a pos... [More]

Android Emulator in Ubuntu 12 VMware Guest

After installing the Android SDK as described in "Android SDK installation on Ubuntu 12", I created a virtual device. Rather excited, I hit the start button and nothing happened. So I waited. Then a minute or two later a screen appeared. Yay! It seemed like everything was working. Then nothing. I hovered over one control on the emulator screen and it turned blue and stayed blue. No boot screen and the CPU maxing out at 108% according to “top”. So I did some googling and read a few articles about guys having similar issues. The only problem is that all the issues seemed to be related to a physical machine and not a virtual machine. So I continued to fiddle and read and fiddle and read to no avail. So this was it, no Android development on a virtual machine. I refuse to accept t... [More]

Android SDK installation on Ubuntu 12

Right lets get cracking. This post will deal with the manual installation of the Android SDK on Ubuntu 12. If you are using Eclipse is might be more useful to use the ADT plugin provided for Eclipse. This article assumes you need to manually reference the SDK. First things first. The machine is a 64bit virtual machine. Before you go any further you going to need to make sure you have a few libraries install. Open up a terminal and using apt-get install the following libraries: libgcc1:i386 libstdc++6:i386 zlib1g:i386 libncurses5:i386 This is because the mksdcard requires the 32bit libraries (the mksdcard utility is used when creating your virtual device) Next thing you need to do is grab the Android SDK available at: http://developer.android.com/sdk/index.html Someth... [More]

Why paired programming doesn't work

Many of us as developers have heard of paired programming. If you haven't, here is the wiki definition Paired Programming. Many people don't like it and others love it. Criticisms I have heard include loss of productivity, fear of being judged, not getting along with your partner, an inability to concentrate with someone continually watching and the list goes on. I personally have used this technique and I think it is fantastic. Having immediate feedback, someone double checking, knowledge sharing, questioning, verifying, silly jokes and someone to have a coffee break with. The really cool part about this is that you get to know someone new. By hearing their ideas and understanding their thought process, you communicate better and collaborating always leads to better solutions. Well, in my... [More]

Are all these frameworks needed?

Ok so I am going to play devil's advocate. I have been following a project by the name of backbone.js. Very cool little project that has a great deal of potential. Then I noticed other JavaScript projects cropping up.All of these projects have a great deal of potential and have some really significant features. Making life easier for developers and opening up a plethora of avenues to achieve the demands of modern systems elegantly.My question is this. Instead of going off and creating new frameworks to deal with the deficiencies of current frameworks, why not collaborate with existing framework authors or teams? Is the idea of open source supposed to be small cross sections of people competing against each other to show who the smartest is? There has to come a tipping point where all these... [More]

The importance of naming.

William Shakespeare said “A rose by any other name would smell as sweet”. While this might have had some deeper meaning it doesn’t apply in the naming of code related items. Now lets examine the following piece of code: 1: public static void getInstance(String key) Now on initial examination one might think that this is some sort of mechanism to get the instance of a singleton. It might also appear to be some form of factory method. Lets take a look at it a little closer and figure out why it is wrong: 1: public static This line denotes that the function is public and static, which in turn means it can be access via other methods or pieces of code with an instance of the defining class. So good everything appears to be normal. Next we have 1... [More]