PInvoke vs Managed Interfaces performance

I stumbled across this article in my research for a project. I wondered if writing a C++ / CLI wrapper would improve the performance of interfacing with the my specific hardware….turns out it won’t improve much.



Which programming language is the most popular…

I was curious today about what the next big thing would be in the programming world and stumbled upon this very nice chart.

It shows the popularity of programming languages based on discussions in Stack Overflow and constantly polling the commits done in Git Hub.

I wasn’t surprised by C#, PHP and Java, i expected them to be there but JavaScript is really up there. Plus R language is really high as well.

Anyhoo, it’s an interesting chart, let me know what you think.



Cloud 9 IDE and hiding secrets

I’ve using Cloud 9 IDE and one thing that has cropped up is the need to hide sensitive information in public work spaces.

If you are unsure of what Cloud 9 IDE is, it’s a browser based Integrated Development Environment. It’s great for things like node apps and it has a few templates for things like Ruby on Rails, Node C/C++, etc… Head over to for more details.

The other great thing is that all projects have a terminal that adds a great deal of flexibility when coding.

I was trying to hide the API key and secret to the data store in one of my Node projects and because the projects on C9 are public workspaces other people can potentially see what you have written in your code.node

The first thing I tried was to add an environment variable from the shell. This did add the variable but for some reason it wasn’t exposed in node through ‘process.env’ and the more i searched the less i found.

Not to be disappointed I looked through my C9 project and I found an area called Run & Debug and in there I was able to create different run profiles. Each of these profiles had an option to add command line arguments. After a bit of reading i found that these arguments are exposed in Node through the ‘process.argv’ array. Not ideal but it works.

C9 Cmd Line Arg

demo image

In this example environment the argument was at index 2 in the array but this may vary in other environments. I did get a friend to log into their Cloud 9 account and see if they could see the run profiles and she couldn’t see it.

I’m not sure if this is the best way to do this and I would love to know if anyone else has found a better way to hide sensitive information in Cloud 9 IDE public work spaces.


Edit – Try to be an optimist

After a bit more reading I found a popular node module called optimist. It hashes the options you pass in the command line. So now you can just pass in whatever key & value into the Cmd Line Args.

Have a look at the examples


Love this article on Coffee Script

Nicolas Bevacqua is a very passionate individual. He blogs about the obfuscation created by Coffee Script in things like answering questions on forums or posting examples

It’s quite a funny read and I personally agree with him. I’m not saying CoffeeScript is bad, i think it looks nice but the point being made is CoffeeScript !== JavaScript and you can’t expect people to understand your code if they have only ever known JavaScript.



Backbonejs and PubNub, a nice couple

I’ve been a fan of PubNub for a while now but haven’t gotten around to using it in anything substantial (most of my work resides on intranets).

I saw this post by Dan Ristic on making Backbone real-time with PubNub. To be honest, it’s really easy to get this up and running. The guys from PubNub make it really easy for developers to get rolling with their platform.

I guess I don’t have any excuses to not do something with PubNub…


.NET Extension Methods

A friend found this. 

It’s a whole bunch of convenient extension methods that people have written and have decided to share with the world. 

What I have found is that I have written almost the exact same mehtods for some of these. Kinda creepy but confirms that I’m on the right track when I programming (or both you and the writer have it wrong…).

Read, borrow and enjoy.