Sep 15, 2006

Windows Mobile - Year Long Series

Today we kicked off the first module in what would be an year long series of modules on Windows Mobile. Each module consists of:

 

1) A Webcast giving an overview of the topic (90 minutes duration - 4:30 pm to 6:00 pm)

2) A session broadcast that explains in detail the topic itself (3 hours - 3:00 pm to 6:00 pm)

3) A lab that allows you to try first-hand the technology being discussed (day-long)

 

We did the first webcast today on the first module. The topic was Windows Mobile Fundamentals. The session broadcast would happen on the coming Sat (16 Sep) and the lab on the next Sat (23 Sep). The topics for the next 8-9 months are:

 

Oct - Compact Framework Fundamentals

Nov - Working with both Managed and Native Code

Dec - Crossbow - What's New

Jan - Using Windows Mobile Communication Stacks Part - I

Feb - Using Windows Mobile Communication Stacks Part - II

Mar - Data Storage and Access

Apr - Using Location APIs

May - Securing Windows Mobile Apps

Jun - Performance Tuning Windows Mobile Apps

 

In my opinion, mobile programming is where the next big growth in mainstream computing would take place, and very soon customers would be asking for mobile-based solutions. So I would urge you to think hard about mobile programming, and if possible, invest in your skills in this area. We are really working hard to help you become successful in this area, and if you have any ideas / feedback / suggestions, we are very eager to hear them.

 

 

 

 

 

Sep 13, 2006

Cryptography Webcast Series - On Demand Recordings Available

We closed the Cryptography Webcast Series on Friday, with the final discussion on storing secrets. During the webcasts, a lot of people asked whether we would put up the recordings for later viewing or not. I am happy to say that each webcast is available for online viewing at http://www.microsoft.com/india/webcasts/ondemand.aspx#Webcasts_on_Cryptography. I have also added links to the various webcasts to my Talks List.

 

While right now you can only view them online, we are working on letting you download the recordings too. The Live-Meeting tool does give you the link to download, but if you click on that link, nothing would happen. This is a bug, and the infra team is working on it. I have been given a deadline end-Sep. Will post as soon as the downloading functionality is available.

 

Sep 7, 2006

Cryptography Webcast Series #4 - Trust on a Public Network

Just got thru with the 4th webcast on the Crypto Series - there were several good questions. Much more than what people were asking last time. If you attended the webcast and have a question, do post it here in the comments section, and I'll try and answer it.

 

 

 

 

Sep 6, 2006

Cryptography Webcast Series #3 - Tamper Proofing data

Just concluded the third webcast in the Crypto Webcast Series. There were a couple of glitches - my audio call got put on hold during the webcast and it took a while getting that off the network. And later when I was doign the quiz, the slides were not visible.

 

I apologize on behalf of our infra team for these glitches - we are still working on the backend platform thru which we do these webcasts and hopefully you would see an improvement soon.

 

As usual, if you have any questions / feedback, please do share it here, and I will try and answer to the best of my ability.

 

 

Software Transactional Memory Video on C9

Couple of days back I wrote a post on concurrency. One of the things I mentioned was the work being done by Tim Harris and the MS Research guys. What I did not know at that time was that they have released a Channel 9 video on it. Visited C9 today and saw this video - it is uber cool.

 

They even have links to the various papers these guys have written on the subject. Rocking stuff!! This is what the future of programming is going to look like.

 

 

 

Sep 5, 2006

Cryptography Webcast Series #2 - Hiding Secrets in Plain Sight

Just concluded the 2nd episode of the Cryptography Webcast Series - Hiding Secrets in Plain Sight. There were about 30-40 folks on the call. We talked about the basics of symmetric and asymmetric algorithms, esp the workings of some key algorithms and the various block cipher modes of operations.

 

Not too many questions today - much unlike yesterday. Which to me means two things - either folks got everything, or they got nothing. I hope it was the former! :-) But if you are still thinking thru your questions, please drop them here and I'll try and answer them as best as possible.

 

Crypto Webcast Series #1 - Video is online

The video recording of the today's webcast is now available online at http://www.microsoft.com/india/webcasts/ondemand.aspx#Webcasts_on_Cryptography. 

Sep 4, 2006

Cryptography Webcast Series #1 - Crypto 101

Just concluded the first webcast in the series on the basics of crypto - we had about 70 people which is not at all bad for what appears to be a boring topic to most folks. I hope everyone had as much fun going thru it as I had preparing for it. While I tried to answer almost all questions, please do feel free to ask questions here and I'll try and answer them as well as I can.

Cryptography Webcast Series - Begins Today!

In my various interactions with developers around the country, I have found that most of us do not really understand Cryptography. I believe that understanding Crypto is very important to understand how to build secure systems - it is hard to think of a security mechanism which does not depend on Crypto in one way or the other. So till one really knows how Crypto works, what makes it work, and what one can do with and cannot do with it, one's knowledge of security systems would be based on nebulous assumptions. Not a very good idea when it comes to security.

 

Now why do people not understand Crypto? In my own case, I did not really know Crypto till I started investigating it about four years ago as a part of a project I was working on. Till then, all I had heard about was that Crypto involves intensive mathematics and that one basically needs to read Bruce Schneier's Applied Cryptography - a huge intimidating tome that did not look welcoming at all. However, when I had do it, I found it rather interesting, and started browsing other material on the net. To my surprise, it was not tedious at all, and rather exciting - a game of cat and mouse played over centuries, and now playing itself out on a global scale!

 

Over the last two years or so, during all my research and talks on secure coding, I kept realizing how most of what I was reading and talking about follows directly from the principles behind Cryptography, and decided it would be a good idea to share my joy and excitement about Crypto with others. My colleagues liked the idea and the result is the webcast series we are about to start in a couple of hours.

 

I'll try and keep it fast-paced and exciting. The focus would be on providing conceptual knowledge hard to put together without a lot of research, and sharing best-practices that should come in handy in daily life. You can register for the webcasts at http://www.microsoft.com/india/webcasts/#Crypto. Here's hoping for a fun week ahead!

 

Code with Concurrency or Don't Code at all!

As chip-manufacturers continue to add more cores to the microprocessor, moving from dual-core to multi-core to many-core CPUs, increasing the parallelism in code would be imperative to taking advantage of this hardware. Herb Sutter of the C++ fame has written very eloquently on this subject in his famous article The Free Lunch is Over and the follow up article for the ACM Queue: Software and the Concurrency Revolution. You can also listen to him talking about this subject at the PARC forum.

 

If you read these articles, you would figure out how critical it is to understand concurrent programming and start using these idioms. To get started, I would recommend the following:

 

1. Concurrency: What Every Dev Must Know about Multi-Threaded Apps by Vance Morrison

2. Writing Faster Managed Code: Know What Things Cost by Jan Gray

3. CLR Inside Out: Using Concurrency for Scalability by Joe Duffy

4. The Concurrent Affairs Column by Jeffrey Richter

5. The Concurrency and Co-ordination Runtime Videos by Jeff Richer at Channel9

 

While this in it itself would take a few days to read and I guess about a month to understand, if you are hungry for more, follow this up with the list of books put up by Joe Duffy at this blog entry.

 

Lastly, there is some very interesting work being done at Microsoft Research. Check out C# Software Transactional Memory, the Comega Programming Language, and writings by Tim Harris.