JetBrains has released the v1 edition of dotPeek. If you’re looking for an alternative to Reflector, give it a try.
http://www.jetbrains.com/decompiler/?utm_source=dotpeek10-release&utm_medium=newsletter&utm_campaign=dotpeek
Today, I was asked by a co-work (new to XAML) how to add a tab to a named tabcontrol that isn’t directly related to the sender.
Well, if the target control is a parent, you can use FindName(nameOfControlToFind). If the control is in a different branch, things can be a bit more tricky.
I knew I’d written something for this a while ago so I started cruising through all of my source code and eventually found this:
private static DependencyObject FindControl(DependencyObject parent, Type targetType)
{
DependencyObject target = null;
int numberOfKids = VisualTreeHelper.GetChildrenCount(parent);
for (int i = 0; i < numberOfKids; i++)
{
var child = VisualTreeHelper.GetChild(parent, i);
if (child.GetType() == targetType)
{
target = child;
break;
}
target = FindControl(child, targetType);
if (target != null) break;
}
return target;
}
}
This needs to be extended to find a control by it’s name, but it works.
It’s been a hard week and it’s only Wednesday.
Last week I finished up another term in school. I’ve been taking some CS and Calculus from the local community college. I’m still eye-balling a run at a Masters in CS from PSU, but priorities have shifted a bit since January.
Next week, I convert to “Blue” at Intel. I’ve been doing consulting work for them off and on for about 13 years. I’ve been working with the same team for over 3. There was an internal shuffle and an opportunity presented itself. I’m taking it.
This change in my status allows me to change how I use my time. I can step away from the consulting game. I turn I can focus on code and deep dive into topics that I never had time to explore, like AIs. If I can explore AIs and Machine Learning at the office then I can either drop the Grad School idea, take only a few courses to satisfy specific interests (as part of my annual training budget) or continue as I have been. At the very least, I’m going to wait until Fall before I think about taking any more formal classes.
Putting all of this together…
I have been pushing very hard, working 40+ for months and months while carrying at least 8hrs in school. It’s come at a price. I’m extremely tired. I’ve used this last week on the “other side” to rest. I’ve been sleeping in, taking 4 hours afternoon naps, and still trying to go to sleep around midnight. I think it’s working. I feel better tonight than I have in a while. It helps that the woman is back from a series of road trips. I always sleep better when she’s at home. 
New Music:
Shinedown
Amaryllis
http://hbr.org/2012/04/the-real-leadership-lessons-of-steve-jobs/ar/pr
Do the ends justify the means? Yeah. He was an asshole, but was he right? I’m still thinking through this one.
My usual morning lurking lead to this article.
And so it begins… As my mind rabbit-holes on the ideas that I have had and never put to paper.
http://www.purdue.edu/newsroom/research/2012/120219KlimeckAtom.html
It’s even got pretty pictures… The next step is scaling it up and dealing with thermal issues.

And I was just wondering when I’d get a true world phone with satellite enabled service… Anything is possible it you can scale down the hardware. Atomic level switches qualify.
http://editorial.autos.msn.com/blogs/autosblogpost.aspx?post=3ee3b791-cde5-44c4-a95f-7081c47f8059
http://editorial.autos.msn.com/5-great-excuses-for-buying-a-truck?icid=autos_2383
So… Do both.
When the weather’s good ride a bike. It’s in everyone’s best interests. Then when the weather isn’t so snappy or when you need to haul something, use your truck. Problem solved.
Works for me. 
You know a “vacation” wasn’t when it takes more time to recover than the actual trip.
Read more…
Sitting in Belize International Airport, waiting for the flight back to Dallas. The woman is a bit tweaked because of the bumpy flight from San Pedro. Puddle jumpers and storms do not make for smooth flying.
It has been a reasonably good trip. Snorkeling with sharks. Cave tubing. Altan Ha (Mayan) ruins. Sleep. There were a few issues with one of our traveling companions. “If you have no interest in international travel, why are you here?” And the food hasn’t been very good. Oh well. No one died.
And I was only offered coke and ganga twice on this trip. The long-hair must throw them off.
I’m looking forward to American- style cheeseburgers and Pepsi!
Time to queue for boarding…
I was reading through my email today and came across an article from Dr. Dobb’s entitled The Need to Rewrite Established Algorithms. My thought after reading the article is “Who’s going to do that?”
I have started thinking about getting a MS in CS this last year. After talking with one of the prof’s I’ve gone back to school filling out all of the pre-requisites. This means I get to retake most of the CS undergrad core. After all I don’t have a “real” CS degree. I have a BA in Anthropology and a related field in CS (which is like a minor but not good enough for the ivory tower). As part of my studies, I participate in the online discussion groups. On a weekly basis, I read through the comments from my instructor, the TA, and other students.
And I’m left wondering who is going to re-write these algorithms? I haven’t seen any course work related to parallel programming. My peers are struggling with basic control structures and casting issues. Their heads would explode if they had to deal with async timing and execution. Parallel programming can be damn hard stuff.
So how do we do it? How do we train programmers to understand the bigger picture? We have multi-core processors on almost everything we buy now. But most core is still written to be run on a single core instance. Gone are the days when we can just throw more ram or a faster proc at a given problem. We need some changes. Big changes.
At this moment, I have no suggestions. Which disappoints me even further. Why? Because one of the local private/for-profit universities asked me to apply for an instructor position. I declined. I don’t think I know enough to be teaching others just yet. Yes, I’ve been programming in one form or another for over 3 decades. Yes, I was writing code as a child. Yes, I’ve been working as a full-time developer for well over 15 years now. Yes, I am doing senior level work, including architecture and mentoring. But I still feel like I don’t know enough…
We have to make changes to our CS programs. We have to improve our educational system. We have to upgrade.
I learn things is by ripping them apart, putting them back together, and/or putting them together so I can rip them apart. I want to learn how MS leverages ServiceLocator, MEF, and the composition featers highlighted in Prism.
To this end, I have been playing with the Stock Trader Reference Implement from the Patterns and Practices team. I took all of the content from the 6 or 7 dlls and shoved it all into a single project. Just because… Moving the App.xaml file from the StockTraderRI project into my project sent things sideways. After I resolved all of the ‘other’ build issues (namespace, embedded resources, data inputs, etc), I found that I didn’t have a static Main entry point ala “does not contain a static ‘Main’ method suitable for an entry point” error.
Solution
Click on the App.xaml file.
Select Build Action
Set to ‘ApplicationDefinition’
That’s it.
Enjoy!
I’m running a 64-bit version of Win7. There’s a little niggle when you’re trying to compile x86 apps. It’s a long story. Some people say to run everything in a ‘new’ debug configuration named x86. I found a solution that cuts to the real issue. You need to update your system to know it should target to x86 platforms.
Solution
Run the following command from a command prompt while running as administrator.
C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Ldr64.exe setwow
Reference:
Here is the reference where I found this info:
http://social.msdn.microsoft.com/forums/en-US/phoenix/thread/9a43e9a1-a744-4a1a-bb34-3604254c126b/
As you can see the moderator presented the solution, so it’s basically a Microsfot blessed solution.
Enjoy!
Today, I’ve been having problems with Visual Studio. I keep getting these weird “MSB3061″ errors. The solution for me was t oclose Visual Studio and do the right-click “Run As Administrator”. The problem went away after that. I suppose I should do a clean then try to launch VS under my normal user rights.
Easy work around… Maybe it will work for you.