Monday, August 01, 2011
I consider myself a pretty skilled debugger, and reasonably familiar with the things you can do in Visual Studio (My Visual Studio course Part 1
and Part 2
, for example.) Conditional breakpoints
in C++ and in C#
, breakpoints that only break every 10th time
they're reached, customizing the data tip
that shows when hovering over one of your own types, making data tips transparent
, and plenty more
have all been covered here in the blog over the years. But I still come across things I didn't know before, or didn't try before.
Take this blog post
by "Daan-Nijs" about the abilities of the watch window. I knew the first one, but the rest are new to me:
- Changing a value in the watch window
- Changing a type in the watch window
- Inspecting an array in the watch window
Then there's re-running or skipping code by dragging the instruction pointer - I only knew I could right click somewhere and say Set Next Instruction. Finally he includes a reminder of how to enable Edit and Continue. All this is for C++, but you're welcome to give some of the techniques a try in other languages and see what happens. Being a faster and more productive debugger will rocket you up the overall productivity leagues like nothing else.
Friday, July 29, 2011
Since Tech Ed came and went during my blogging hiatus, I didn't get around to providing links to some of the sessions you might want to see. It's time to correct that omission:
There were other sessions I attended, including a great interactive session that was not recorded called "C++ Renaissance at Microsoft: How the C++ Developers Can Get Involved" with plenty of conversation between Microsoft people and native developers. You might want to do a little searching on the main Tech Ed Video site
to see what interests you.
Wednesday, July 27, 2011
Today saw the release of the first episode (naturally, Episode 0) of GoingNative on Channel 9. As the introduction says:
GoingNative is a new, monthly show on C9 dedicated to native development and native developers, with an emphasis on modern C++.
You know there's been a lot of talk about the C++ Renaissance. I'm happy to see that phrase get picked up, and I've got another one for you: Modern C++. Or as some folks like to say "not your father's C++". If you think C++ means manual memory management, strings as arrays of characters and a strange cast of global functions, and longing for a library or framework that might rival what .NET has to offer, then you haven't been keeping up with C++. The good news is that it won't take you long to catch up - shared_ptr and unique_ptr, the Standard Library, lambdas and other Modern C++ goodies are easy for both managed developers and longtime native developers to learn.
In Episode 0, Charles Torre (longtime C++ friend) and Diego Dagum (C++ Community lead, blogger, and Tweeter) lay some groundwork and, of course, show code. It's always about the code, right? Then, they ask you to get involved. Whether you're someone who wants to learn about C++, or someone who wants to make sure something about C++ gets taught to others, speak up! And yes, that includes topics on non-Microsoft platforms. Email C9GoingNative - they're using hotmail - or on twitter, follow or talk to @C9GoingNative. (There's a Facebook group, too - whatever way you like to interact is welcome.)
But wait, did that sound like a whole episode? Nope, they grab the camera and head over to see Ale Contenti - one of my favourite team members and one I've done interviews and sessions with before. His talk gets technical fast, which is one of the things I like about him! I too have a soft spot for 6502 assembler and find template meta-programming a bit of a write-only technique. I, too, like "the power the language gives you to make the language bigger with libraries" and think that's part of the appeal of C++ for me. Well, that and the power and performance and control, of course. Are there downsides? Well, there's what Joni Mitchell called "the crazy you get from too much choice" - C++ gives you many ways to do everything, according to your circumstances, and having to decide how to do it, or having to connect two components that made different choices about something as simple as how to represent a string, can be frustating. As well, it's great to be in control, but that does mean that nobody is looking after you. If you're inexperienced (and sometimes, even when you're not) you can make dangerous choices and, as we like to say, shoot your foot off. Security holes and vulnerabilities are important and C++ will let you write bad code, so you need to be aware of best practices. Both Ale and Diego address these points, and you can expect to see more of that in time to come - especially if you ask for it!
Looking forward to next month's show already,
Monday, July 25, 2011
So, how cool is this? Guy Smith-Ferrier
is going to speak at the East of Toronto .NET User Group meeting in August. Why? Because he's the kind of community-oriented person who takes time out of a transatlantic family vacation to speak at a user group, that's why. And his topic sounds like science fiction, but it's real:
Mind Control Your Computer In C#
No really. This isn’t some clever session
title. I’m really talking about controlling your computer with your mind. I’m
not making this stuff up. This is real. Today. You put on a headset, you use a
C# SDK and you control your computer with your thoughts. Yes, you are reading this
right – you mind control your computer. It is a reality and it is possible
today. Once you’ve gotten over your disbelief consider the applications.
Applications for the physically impaired alone are a whole revolution. Not to
mention the possibilities for gaming. Want to be shocked and amazed ? Come and
see this session.
The meeting is set for August 24th at the Whitby main library. There's something awry with the website at the moment, and everyone who's talented enough to do anything about it is on vacation, leaving only me, but trust me, we're having a meeting and it's going to be a doozy. Guy is a great speaker - he even wrote and recorded a series of videos
on how to be a great presenter. He speaks at TechEd and runs events in the UK. And it's our tremendous luck that he'll be in our neighbourhood this summer so make sure you join us to see this session!
Saturday, July 23, 2011
So, you're a C++ programmer? You've written a Windows app or two in your time? Let me propose a little challenge to you. Write one. Only start with File, New and don't let Visual Studio generate any code for you. Write each line of it. Then explain it. No MFC, No ATL. That's what was asked of me a while back, and the result is a six-paper series
that has finally arrived on MSDN.
I have to say I really enjoyed the simplicity of the smallest Windows program possible. I also enjoyed making it better, which included making it more of a C++ program and less of a C one. I also covered a little Direct2D, a little COM, and a little "here's some other stuff you're going to want to read." If it's been ages since you wrote a Windows program in C++, or wrote one that wasn't all covered in barnacles from frameworks and libraries you might not want to rely on for simple things, I really suggest you give this series a read - it won't take long and you can use Visual C++ Express if you like - the first chapter includes links and instructions for getting all the tools you need. Better still, if you've never written a Windows in C++, why not give it a try and let me know what you think?
ps: Never blog that you're not blogging. Never blog about why you're not blogging, no-one cares. Just blog. Right?
Saturday, April 02, 2011
Here's yet another C++ team member on Channel 9. Boris starts out reviewing some "old days" things including the Intellisense background I pointed to recently. He explains in more detail why it's so hard to be the C++ team, needing to build an IDE for a language they can't control and that is used by such widely different people. I love that Boris appears to have framed and hung on his office wall someone's comment on a blog post. If you ever wondered whether what you type can make a difference, there's your answer.
With the history and reminiscing out of the way, Boris warms to a topic I haven't heard on Channel 9 before (though I have been hearing it in person) and that's the importance of C++ and specifically the Microsoft toolset, Visual C++, to the games industry. He also talks about how the games industry can be important to all the other developers as well, which I find intriguing. Definitely worth watching and not a rehash of the other C++ videos you may have seen lately.
Thursday, March 31, 2011
You go to Tech Ed to learn about technology - developer tools, sysadmin tools, platforms like SharePoint or Windows Phone. But there's more to your work than the nuts and bolts of how to solve a technical problem. Do you use social media effectively? What would an effective use of Twitter or Facebook look like, anyway? Are jobs shifting because of technology? How important is cross-platform development? How important are new platforms? How do you react to big changes in your technical world and direct your own career?
Well, there's a Tech Ed precon Sunday evening
that covers that exact topic. And look who's involved: Stephen Rose
(Windows Community Manager), Zeus Kerravala
(Distinguished Research Fellow and Senior VP, Yankee Group), Richard Campbell
(Co-founder of Strangeloop Networks, co-host of .NET Rocks!, host of RunAsRadio, Microsoft MVP, Microsoft Regional Director),
(Senior Technical Director for Penton Media’s IT & developer publications, author of SQL Server Developer’s Guide series from Osborne-McGraw-Hill),
(Microsoft Regional Director, Founder of InterKnowlogy),
Michele Leroux Bustamante
(Chief Architect with iDesign, Microsoft Regional Director, Microsoft MVP, author of Learning WCF (O’Reilly)),
(Principal Developer Evangelist for Microsoft, Central Region),
(Microsoft Academic Developer Evangelist), Sean Deuby
(Technical Director, Penton Media’s Windows IT Pro Magazine, Microsoft MVP),
(Senior Industry Analyst, Penton Media’s Windows IT Pro and Supersite for Windows; author of Windows Phone Secrets), John Willis
(VP of Training & Services, Opscode), Laura Hunter
(Principal Technology Architect for Microsoft IT’s Identity & Access Management team), Yung Chou
(Microsoft Senior IT Pro Evangelist, East Region) and Barbara Yamauchi
(Microsoft IT program manager for developer tools and IT lifecycle management). Wow! And this is an interactive panel discussion, so you can help to shape the conversation.
There is a small fee ($99) and you have to arrive Sunday afternoon so you'll be able to attend. But it looks like a heck of an evening! Glad to see so many RDs and MVPs on that list.
Tuesday, March 29, 2011
The fourth of my Windows 7 development screencasts - Trigger Started Services
- has been published. It uses the recipe
(also recently published on Code Gallery) to simplify writing a service in managed code that starts only when it is notified by the operating system of a particular trigger. In my screencast I use the example of a USB device being plugged in. There are plenty of other triggers you could use. Adopting a trigger-started approach makes your service:
- easier to write and install. No sleeping, looping, having a config file to say how long to sleep for, etc.
- use less CPU when there's nothing to do
- respond more quickly when there's something to do. It's not in the middle of sleeping for 10 minutes or 2 hours -- it is started the moment the trigger happens.
It's a win all around and if you have a service you should take a look at the available triggers and see if you can convert yours.
© Copyright 2021 Kate Gregory
Theme design by Bryan Bell
newtelligence dasBlog 2.3.9074.18820
| Page rendered at Wednesday, April 14, 2021 5:05:07 PM (Eastern Daylight Time, UTC-04:00)
On this page....
Pluralsight Free Trial
Click Start a FREE 10-Day trial