Showing posts from September, 2008

Custom WinForms Controls - Forcing “Always on Top”

Having read the following question from MattBerry on the student forum for the MCAD I am studying towards: Does anyone know how to make a custom control the top most control on a form i.e. its z-order. I know forms create the z-order in the order the controls are created, and I know you can use the control.BringToFront method after all controls have been created. What I want to know is, is it possible to set this z-order in the custom control's code, so that it can be encapsulated? It sparked my curiosity, can it be done? I have never tried anything like this myself. And yes, there is a side of me that would get REALLY pissed off with using a control that did this, but I thought “what the hell?” lets have a look and see what we can do. Now, a bit of disclosure, it has been a while since I done any Windows development, so this may well be possible to do a lot easier, but hey, it took me 15 minutes :P Getting Started I had no real ide

StackOverflow – Followup Since Release to Public Beta

StackOverflow has been in private beta for a while now, and the community has exploded. I thought I would take a bit of time out to review some of my thoughts following it’s release to the public. These points are not really in any order or organisation, so forgive me if it’s a bit of a poor read, I have literally been jotting down ideas for this post as and when they popped in to my head. My apologies if it’s all too random :) Some Big Names Enter the Affray So we have had a couple of big names get in to StackOverflow including: Scott Hanselman ( profile ) John Resig ( profile ) Roy Osherove ( profile ) (thanks Mendelt!) Jon Galloway ( profile ) (thanks Jon!) Phil Haack ( profile ) (thanks Jon!) Jon Skeet  ( profile )  (thanks Anon!) (If anyone else has noticed some other big names, let me know and I will get this list updated) This is not only nice to see (because they are good guys) but the technical expertise they will bring to the community

GTD – Keeping “Fresh”

For my next instalment of my GTD journey, I want to talk about keeping the old “noggin” fresh . This is an often overlooked part of getting things done. I want to talk about getting over “brain fatigue”. To put it simply, if your brain loses momentum, YOU lose momentum. Due to this, as part of wanting to work smarter (not harder ) we should look at it and see what we can do to fix it. Look at the Problem Now, not everyone may suffer from this. Some people may be able to do 8-9 hours of work and go home and do everything else and still feel pretty refreshed by the end of the day. I however, can not. Far from it in fact. Here is my current take on the situation: I am a software head. I write software for a living, I study software, it is my career and my passion. While this is awesome, it also means I am sat in front of a computer for an average of 12 hours a day (holy crap even I never realised it was this much until I worked it out!). This means I am always ty

StackOverflow - CrackOverflow or StackOverblown?

Stack Overflow is finally due to come out of private beta this Monday (15/09/2008), so I thought it was about time I got my thoughts down about the new programming resource/community that is the brainchild of Jeff Atwood of CodingHorror . StackOverflow has caused quite a stir within the programming community, already being dubbed " CrackOverflow " due to its addictive nature, but has some of the hype really just made it "Stack Overblown "? Note: Any links to user profiles or questions on StackOverflow are not intended to be personal attacks against them, they simply reinforce some of the points I am trying to make here. Also, links to StackOverflow will require access to the beta if it has not yet been released. What is StackOverflow? Straight from the "About" page on the StackOverflow blog : It’s a collaborative programming community venture between Joel Spolsky and Jeff Atwood . In my opinion, it's a great idea, and one that is much ne

GTD: Keep Things Consistent

I have found “keeping the flow going” is a real important part of maintaining a GTD process. Knowing I had some great, accessible tools was fine, but I had another problem that slowed me down. This problem was that I used two different methods to get to the tools. Tools I Was Using At Home At home I was using the (pretty damn good) Start++ from Brandon Tools . Now, I have been using this tool for a while at home (pretty much since I upgraded to Windows Vista ) and been more than happy with it. At Work Since I use XP at work, I could not run Start++ so instead run Launchy . Again, this is a fantastic bit of kit. It looks nice, and has really started coming on well. There are also some great plugins available for it. The Problems Key Combinations Start++ works with the Vista start menu, so to bring it up, I just press the WIN key. Launchy binds to a key combination (I think it defaults to CTRL+Space, but could be wrong). I have it bou

TDD – Getting Started with Test-Driven Development

I have been expressing interest in getting up and running with TDD for quite some time, probably the best part of nearly two years in fact! (wow). I have always struggled to get going though. In my previous job I was pretty much flying solo, and even though I am in a 6-man team in my new job, we still are pretty isolated (not my choice!). Every time I have gone to the programming community and asked “how do I get started?” I pretty much got the same response wherever I went - “Just do it”. This was real frustrating because it can be so overwhelming, if you don’t know where to start, how can you start? So I started to dig deeper for as many TDD/Automated Testing sites as I could, even if it was pages and pages of stuff that I didn’t want to know, if I got one little snippet of something useful, I would be happy. I came across some great sites (links will follow). Some were very, very simple. Almost so simple that they don’t really cover the testing, they cov

GTD: Keeping Things Accessible

Following on from my admission that I am a crack GTD addict, here is my second instalment of my getting-started-with-GTD experience. I started purging my brain of all the clutter that I didn’t need to deal with at the time. My tasks, thoughts, events, information and the like always ended up in one of these locations: RememberTheMilk (RTM) Google Calendar Google Reader Delicious Google Notebook Yes, I know I am a bit of a Google fan boy. I don’t care. They work. They are online. I don’t need to sync anything. Works for me :) Tasks went straight into RTM , events I needed to be reminded of went straight into Calendar, interesting blog posts for further reading get starred in Reader, good links get saved and tagged in Delicious and any odd bits of knowledge and info went in to Notebook. This meant I was hitting them a lot – especially RTM. So, I soon found that me needing to keep grabbing the mouse and clicking my shortcut on the Firef

Twitter Noise and Tweetiquette

I recently had a contact tell me they have ceased to follow me due to the large amount of tech-chatter that I participate in on Twitter . Now, I have no problem with that, they are not a tech-head and I don’t want to pollute her twitter screen with my constant geeky drivel. But, it did get me thinking, twitter has sort of become an IM service. I find myself often posting extremely uninteresting posts to people (e.g. “thanks!”) as replies. This means that the update will appear on the screens of all who are following me. Sure, I have had no complaints, but it must be quite annoying. I have to say, my screen often gets flooded with similar messages. I do think this sort of chatter is appropriate for twitter, its fast, its light, its accessible. It’s nice to have the IM-esque use to it, it’s saves me flicking back and forward between applications. Great. But I do not want to be polluting other peoples space - so, effective immediately, I will most likely start direct messaging th

GTD: Getting Things Done – My Name is Rob Cooper, and I am a Crack Addict

OK, I have previously identified that I needed to rethink my strategy when it comes to “getting things done” ( GTD ). But I still felt I was lacking in my productivity. So I got thinking some more, I thought about it when in the shower, I thought about it when washing the dishes, hell I probably dreamt about it. Then it hit me. That was the problem. Err, What? I was thinking so much about GTD that I was actually not getting things done! Sounds stupid right? Yeah I know, but it is very easy to fall in to this trap. You know you need to do something, you know you have a lot to do, when the hell do I do it, but do it smartly, where do you begin, so many questions, AHHHHH! Boom. Head explosion. So now I knew my biggest problem. I wasn’t getting things done. Crap, I am back at square one. But the difference this time is that I knew I was disorganised this is a big step in the admission process. You need to admit that you have a problem and you need to fix it, yeah you are not