Posts

Showing posts from February, 2016

Coarse Grained CPU-Profiling for Applications using Process Explorer

Image
Today I wanted to quickly graph an applications CPU performance and compare how different start-up flags affected the CPU performance of the application. I didn't want to open perfmon.exe and go through the rigmarole of selecting the correct perf counters yadda-yadda.. I just wanted something quick and dirty.. As we all know, Process Explorer is the swiss-army knife for all things process based. If you need to do any diagnostics on a process then chances are Process Explorer will be able to help in some way. Enter Process Explorer with its "Performance Graph" tab and this quick little tip! With Process Explorer running, go to the process in question and select the "Performance Graph" tab. You will see something like this: This tab displays the "CPU usage" for the process, the "memory usage" and the "disk I/O". All useful information. As an aside, watching to see if the memory usage increases is a basic way to see if your

To-do or Not-to-do?.. That is the question.

Image
"Note to Self: Remember to write a to-do list" As a full-stack, dev-ops software developer we have to juggle a lot of moving parts. We work on multiple projects with multiple time-frames in addition to looking after servers, performing system-administration and keeping up with the constant changes in the tech landscape. In short, we can have a lot going on at any one time. Who doesn’t love a good to-do list? Over the years I have used everything from pen-and-paper to test driving the latest tools of the moment to try and keep up-to-date and on top of what I need to do. Everyone out there might have their own system, but if there is one thing we can all agree on, its the importance of keeping some kind of to-do list. Choosing what to-do from your to-do list But writing the to-do list is only half the battle. We’ve all been there. You finish collating everything you need to do, and then, inevitably you sit back and think "Gee. Which one of these should I be doing f

C# Dynamic Types & Expando Object

Image
Let me get this straight!! You want to declare an Object but you don't know what member variables you need ahead of time. Have you gone mad? JavaScript Land You've got to love the dynamic nature of JavaScript and how the language allows you to mutate objects at run-time. You don't need to define class definitions of an object upfront. That's so old-skool! You can just create them... on the fly! var movie = new Object(); movie.name = "Interstellar"; movie.genre = "Sci-Fi"; movie.director = "Christopher Nolan"; Later, if you want to add a new member variable or a function at run-time.. Just add it! movie.Rating = 8; And of course you could do the same thing using the object literal notation: var movie2 = { name: "Aliens", genre:"Action", director:"James Cameron" }; and later: movie2.Rating = 9; C# Land In C# land, things are a little different. A bit more traditional. Our objects need to