# Thursday, 01 March 2007

Something really weird started happening on my buddy list:

What's this i'm thing? Well I went to my new search start page... and didn't even need to search, because the link was there. This is another charity initiative. You put a string in your Messenger name and one of nine charities gets money when you have conversations. It's "aimed at those living in the United States" but I'm not letting that stop me... I chose Unicef. Start a conversation?

Kate

 

Thursday, 01 March 2007 20:11:56 (Eastern Standard Time, UTC-05:00)  #    
# Wednesday, 28 February 2007

My talk will be Thursday morning... you should register. Look who is speaking at this thing! Look what you can come and learn! Montreal is a lovely city, and it's easier to get your boss to send you to Montreal than Barcelona, isn't it?

Kate

Wednesday, 28 February 2007 19:59:49 (Eastern Standard Time, UTC-05:00)  #    
# Tuesday, 27 February 2007

While our new projects are on VSTS / TFS, we have some older projects on source safe that we aren't migrating. If you're in the same boat then you need to pay attention to the DST change that is coming up very soon. You could lose a checkin (possibly even the entire project history) if another one occurs within an hour of the first. Now, which is easier - banning all checkins on the DST change day, or reading a knowledge base article and following some simple instructions?

Kate

 

Tuesday, 27 February 2007 19:52:42 (Eastern Standard Time, UTC-05:00)  #    
# Monday, 26 February 2007

Joey deVilla pointed out these cool sites for making origami out of money.

http://members.cox.net/crandall11/money/shirt/
http://www.metacafe.com/watch/300507/make_an_origami_shirt_out_of_a_dollar_bill/

I couldn't help but notice they featured American money... since loonies are really hard to fold, and toonies not much better, I tried a five:

Fun!

Kate

Monday, 26 February 2007 19:27:18 (Eastern Standard Time, UTC-05:00)  #    
# Sunday, 25 February 2007

One of the things that C++ can do that C# can't is MSIL linking from the IDE. Normally when you have a solution with two projects, a build creates two assemblies (one .exe and one .dll) for you to deploy. Sometimes you want to deploy only a single file, but you want two projects. Sometimes you want the advantages of static linking while you're creating MSIL and deploying onto the CLR. So how do you do it?

I created a tiny little solution with two projects, both in C++. One is a console application and the other is a library. I set the library to compile as /clr:safe and the console app as just plain /clr. In the console app I added a reference to the library.

At this point if I build and run I will have HelloWorld.exe and Library.dll.

Now I went to the Library project settings and made a few changes. First, on the Advanced tab of Linker options, I turned off assembly generation:

This gets the linker to make an assembly fragment called a .netmodule rather than an assembly. Next I changed my output file name:

Then I deleted the reference in the console application, and re-added it but this time to Library.netmodule instead of Library.dll. One more thing, the linker inputs in the console application need to include the .netmodule:

 

At this point I can build the solution, and delete Library.netmodule, Library.dll and the like and HelloWorld.exe will run just fine. I don't need to deploy Library because it's actually inside HelloWorld.exe - that's MSIL linking.

I have a mentoring client who is using this right now. They have an MFC application with a mix of native and managed code and it can't be compiled /clr:pure. They want to add some WinForms controls to that application, and the designer can only work with verifiable assemblies. So now one project is the user controls, and it's /clr:safe, and the the main exe is a mixed assembly. Yet they only deploy a single file in the end.

Kate

Sunday, 25 February 2007 19:18:55 (Eastern Standard Time, UTC-05:00)  #    
# Saturday, 24 February 2007

Man, the hits just keep on coming at Channel 9. This time it's Rico Mariani, nominally on performance but in my opinion really on how to have a successful career. Reminiscing about the University of Waterloo, computer stores in Toronto, the amazing Ontario Science Centre, and a Commodore PET (all things from my past though I didn't work at these places I just visited them) he somehow works into every sentence how being a nice person and wanting to help is a recipe for success. Later he starts talking about creative leaps and eventually about how to make your programs faster.

Want to be seen as an expert? Want to be put in charge of something? Want to make a difference in someone's life? Watch it! It's a huge download - over 800 meg - but so worth it.

Kate

Saturday, 24 February 2007 18:37:15 (Eastern Standard Time, UTC-05:00)  #    
# Friday, 23 February 2007

Who knew that picking up enough programming knowledge to teach it to talented kids at a summer camp could lead to a career doing some of the geekiest and most detailed work there is in this business - testing the compiler itself to make sure it still works the way it's supposed to? That's just one of the nuggets of information in this latest Channel 9 C++-land interview:

Meet Marina Polishchuk, a software engineer on the VC++ quality control team. Her mission: Outsmart the compiler with clever programs that confuse and or break it. Fun stuff. Here, we learn about what she does, why she does it and how she got here. Enjoy!

Kate

Friday, 23 February 2007 07:06:13 (Eastern Standard Time, UTC-05:00)  #    
# Thursday, 22 February 2007

Until now, no woman had won the Turing Award. That surprised me. Frances Allen was recognized for her work in optimization, automatic parallelization, and high performance computing. She must be used to receiving honours. According to the ACM's press release:

In 1989, Allen was the first woman to be named an IBM Fellow. In 2000, IBM created the Frances E. Allen Women in Technology Mentoring Award, naming her as its first recipient. As her Turing Award citation notes, she has been an inspirational mentor to younger researchers and a leader within the computing community. She is an Advisory Council Member of the Anita Borg Institute for Women and Technology, whose goal is to increase the participation of women in all aspects of technology. She also received the first Anita Borg Award for Technical Leadership, which was presented at Grace Hopper Celebration of Women in Computing in 2004.

She joined IBM fifty years ago. Wow, what she must have seen in those fifty years!

Kate

Thursday, 22 February 2007 22:50:12 (Eastern Standard Time, UTC-05:00)  #    
# Wednesday, 21 February 2007

I came across this list of "making the most of your time" and it struck a chord with me. I think because it's not just about productivity and crossing a lot off the to-do list, but instead thinks about what you are achieving with the time you spend. Not many productivity lists include "making a difference to the world". Something to think about...

Kate

Wednesday, 21 February 2007 22:44:02 (Eastern Standard Time, UTC-05:00)  #