Links to C++ AMP and other content

Fri, September 16, 2011, 10:00 PM under GPGPU | Links | ParallelComputing | VisualStudio | Windows

A few links you may be interested in.

UX Movement

Sat, November 13, 2010, 07:10 PM under Links | UserInterfaceDesign

A few months ago I shared a UX blog that I found interesting. Today I'll share another: UX Movement. They have interesting design articles (e.g. this, this, this, this and that) and occasionally shares great UX resources (e.g. this and that).

Let me know if there are other UX resources you recommend…

Visual Studio Async CTP

Sun, October 31, 2010, 06:30 PM under Links

While most of the buzz at the recent PDC here at Microsoft's headquarters has been about Windows Azure and Windows Phone, there is a truly noteworthy technology that as a .NET developer (of any kind of application) you should pay attention to, even in its early technology preview stage: Visual Studio Async CTP.

I could provide many more direct links, but you do not need them: just visit the home page of this technology to download whitepapers, watch videos on how this technology integrates with C# and with VB, (through the new async and await language keywords) as well as videos on how the technology works under the covers (based largely on the Task Parallel Library). More importantly, download the actual bits (they install on top of your Visual Studio 2010), which include many samples. Get ready for a revolution in Asynchronous Programming with C# and Visual Basic.

Technical Computing Launch

Mon, September 20, 2010, 08:22 AM under Links

I've mentioned before our Technical Computing group and today it takes the next step with the launch of Windows HPC Server 2008 R2.

Get the official word and read all about it at Soma's blog post, the Microsoft blog, and on the Microsoft news center. To watch the keynote plus more don't forget to visit the dedicated HPC launch site.

User eXperience

Sat, July 31, 2010, 02:09 PM under Links | UserInterfaceDesign

The last few months I have been spending a lot of time designing (and help design) the developer experience for the areas I contribute to (in future versions of Visual Studio).

As a technical person who defines feature sets, it is easy to get engulfed in the pure technical side of things and ignore the details that ultimately make users "love" using the product to achieve their goal, instead of just "having to use" it. Engaging in UX design helps me escape that trap.

In case you are also interested in the UX side of development, I thought I'd share an interesting site I came across: UX myths. In particular, I recommend reading myths 9, 10, 12, 13, 14, 15 and 21.

Let me know if there are other UX resources you recommend…

"Parallel Programming Talk" show

Wed, November 11, 2009, 08:09 PM under Links
Over at the Intel Software Network Aaron Tersteeg runs a "Parallel Programming Talk" audio show on which I was invited as a guest (for the 55th episode) to talk about Microsoft's parallelism offerings in Visual Studio 2010. The call started at 7:45AM, so if my voice sounds croaky to you, now you know why ;)

Check out the 20-minute chat (and related hyperlinks) on Aaron's blog.

Visual Studio Documentary

Thu, October 1, 2009, 01:00 AM under Links
Hopefully anyone reading this blog monitors ch9, but on the remote chance that is not true, you must watch the two-part brilliant 1-hour documentary on Visual Studio: Part One and Part Two.

PDB Files

Wed, May 13, 2009, 03:39 PM under Links
I want to share this comprehensive blog article by John Robbins. No need to paraphrase the title, it perfectly describes the content already: PDB Files: What Every Developer Must Know.

Taking Parallelism Mainstream

Tue, November 18, 2008, 12:58 PM under Links
At the PDC2008 attendees received USB hard disks with tons of software and information. One of the items was a technical whitepaper that my org published and you can open that XPS document directly here. For more, I have a permalink to our Parallel Computing Dev Center on the left pane of my blog.

Fishbowl Video Interview on Parallelism at Tech Ed Online

Sat, November 15, 2008, 07:00 AM under Links

Mark Dunn asked me some questions on parallel computing during a 15 minute interview at the fishbowl in Barcelona. Find it on this web page (or watch it directly in your media player).

Podcast with NxtGenUG folks from PDC08

Sat, November 15, 2008, 05:37 AM under Links
You may (or may not) wish to listen in on a 5 minute random chat (after a few beers at the Ask The Experts) I had with Chris Hay and John McLoughlin (NxtGenUG boys) on their PDC podcast (38:45 – 43:25).

Visual Studio 2010 and .NET Framework 4.0

Mon, September 29, 2008, 09:18 AM under Links
...are the names of our next release that developers can look forward to (it is great to finally be able to talk about some of the new features publically... even though I have already hinted at a couple e.g. here ;-).

Soma made the announcement; his blog post focuses on the VSTS SKU. The theme continues on channel9 all week.

Also just noticed the presspass announcement and MSDN page.

The future: Spatial Computing

Sun, September 28, 2008, 09:42 PM under Links
...according to Craig Mundie. The 2 videos on that page are demos that I've seen internally before and I especially like the first demo, check it out. Beyond the videos the report looks good too. Favorite quote:
"We have to master the transition to a parallel programming environment, with highly distributed, concurrent systems."
Read the full article.

Video Chat about Sharing code and cool new VS2008 features

Wed, June 4, 2008, 10:36 PM under Links
While at Tech Ed, I spent 13 minutes chatting with Richard Campbell about my two sessions. View the recording on this page (or download the wmv).

Parallel Extensions June CTP is out

Mon, June 2, 2008, 04:13 AM under ParallelComputing | Links
Following the first ever drop last December, the latest preview is now available. Ed has the link and details here.

SideShow Managed Components v1.0

Tue, May 27, 2008, 03:25 PM under Links
Back in 2006 when Windows Vista was released I got very excited about the SideShow feature (the auxiliary display support). I got so excited that I wrote a series of long blog posts. Read bottom up my SideShow category.

I just got word that the team finally released the managed bits:
+ Windows SideShow Managed API 1.0 SDK.
+ Windows SideShow Managed Runtime 1.0.

I haven't played with the final release of the API, but I doubt it is that different to the Beta version that I used to record this SideShow screencast (in January 2007). If you spot any differences, let me know.

Last Flash issue for me

Thu, May 8, 2008, 01:48 AM under Links
In last’s week Flash issue, I wrote 500 words About Silverlight 2.

I have enjoyed being the editor of the UK MSDN Flash newsletter. Ever since I took it over, it has topped Microsoft's (worldwide) newsletter growth stats compared to previous years in more areas than one. Additionally, its format inspired other newsletters from other Microsoft subsidiaries outside the UK. Hope you don't mind me blowing my own horn and since I can't publically back up these claims with numbers, you'll just have to take my word for it ;-). Exactly a year after the first issue I edited, the time has come for me to hand the newsletter back and I look forward to receiving it with a bit more anticipation as to what content I'll find inside!

Thanks to everyone that stayed tuned to that Flash feed, and I also hope you'll stay tuned to my blog feed.

Getting Started with IronPython

Sat, April 19, 2008, 05:45 AM under Links
My TODO list has had for a while to find some time to play with the Dynamic Language Runtime (DLR) and I may find an excuse to do that soon given that it is supported (and aligned to ship with) Silverlight 2. In the meantime, I needed a true expert to write a short related article for the MSDN Flash. All my research pointed to one guy and he happened to be based in the UK too: Michael Foord. Read his succinct 500 words on getting started with IronPython here (scroll down). Like I stated in my Flash intro... "exciting times!"

Introducing the ADO.NET Entity Framework

Sun, April 13, 2008, 02:55 AM under Links
Occasionally people will ask me why I don't blog about some of the new data technologies. The answer is simple: my colleague MikeT (aka internally as Data Boy) owns that space. So who better to ask to write a relevant article for the MSDN Flash that went out 10 days ago. Read his great 500-word introduction to the Entity Framework here (scroll down).

Positioning the ASP.NET MVC Framework

Thu, March 20, 2008, 07:19 PM under Links
In the latest issue of the MSDN Flash, ScottHa wrote an article that, in my opinion, perfectly positions the ASP.NET MVC Framework. Read the 500 words here (scroll down).

MIX08 Keynote Announcements

Wed, March 5, 2008, 01:16 PM under Links
If you missed the keynote (live in Vegas or online), Tim Sneath was updating his blog live for it so you can read an outline here.

- You already know about ASP.NET MVC Preview 2 form my previous blog post.

- Many Silverlight 2 Beta 1 related downloads – Guy had all the links here before anyone else I think. You'll be hearing a lot more from me on that technology on this blog so stay tuned...

- Internet Explorer 8 Beta 1 is out with unprecedented standards support. Choose the most appropriate download for you.

- There were many other announcements (such as Silverlight for Windows Mobile and Nokia) but nothing that we can actually get our hands on right now.

One of the most impressive keynote demos was actually not appreciated as much as I thought it would be (judging from audience reaction... maybe it is the wrong crowd?). Hardware accelerated performance improvements in WPF. The application was doing all kinds of crazy 3D effects and the CPU utilisation in task manager was barely moving! I can't wait to get my hands on that when it is released in the summer. Move the thumb of the video to 02:08:10 to watch it...

ASP.NET MVC Preview 2

Tue, March 4, 2008, 07:24 PM under Links
UPDATE: It went dead for a while but now it is back - same URL ;-)

Just spotted the ASP.NET MVC Preview 2 download. Three things to say about the subject in reverse order of importance:

3. I'll be doing half a session on this in Newcastle in May (but more on that closer to the time)

2. It is now separated out from the larger ASP.NET 3.5 Extensions package

1. You can go get it here.

Want to work on my team?

Thu, February 28, 2008, 03:36 AM under Links
Join me, MikeT and MikeO as the "developer folk" in Microsoft UK DPE.

'DPE' stands for "Developer & Platform Group" (the 'E' is silent :-).

Job Description here.

Synchronization made Easy by the Sync Framework

Fri, February 22, 2008, 10:41 AM under Links
At my last blog post I shared some links, video and code for Sync Services. I mentioned how it is the first step/part of the larger upcoming Sync Framework. In the latest Flash newsletter from earlier this week, we have a great first look at the Sync Framework describing "participants" and "providers". For the non-Flash subscribers, scroll down on this page to read the 500 words.

Get back your Search in Vista SP1

Mon, February 18, 2008, 06:02 AM under Links
On an internal MVP newsgroup (yes I am still monitoring those) someone complained about the removal of the "search" explorer menu option from Windows Vista SP1 (available now to msdn and technet subscribers) and someone else came to the rescue. Susan Bradley captured the background and solution on her blog.

My VS2008 Article for QBS magazine

Tue, February 12, 2008, 05:22 PM under Links
Recently I wrote a 2-page article on Visual Studio 2008 and .NET Framework v3.5 for QBS Software. You'll find the hard copy of the QBS magazine via various means if you are in the UK, and they have also kindly made it available online. Download the 1MB PDF file here.

How To Run Surveys and Which Survey Site Is Best

Sat, January 26, 2008, 09:09 PM under Links
In my quest to get some feedback I setup 3 surveys for my subscribers with identical questions on three different sites: surveymonkey, zoomerang and questionpro (I also signed up and test drove for a bit wufoo but it wouldn't let me setup the questions the way I wanted them so I gave up). I thought I'd share my learnings here so you can use the knowledge if you setup a survey for your own site/blog or even for your team at work or your customers. At the bottom I also have some generic tips.

Remember my disclaimer.

All 3 vendors offer a free version of their paid for services. The main limitation of the free service on all sites is that they only allow 100 responses per survey.

In all cases you sign up by providing your email and then you receive the login info. Surveymonkey sent me one text-only email with login details and that was the last I heard from them. The other 2 sent me html emails and also decided to sing me up to their newsletter (which I promptly unsubscribed from). Surveymonkey gives you a URL that points directly to the survey; the other two force a landing page (where they have their adverts) before allowing the survey taker to proceed.

Zoomerang has a funky easy to use user interface and with minimal clicks you can setup the survey and ditto for browsing the results (both overall and individual). There are 2 reasons I will not be using their free service again. Not only you cannot download the reports but they will only hold them on their servers for 10 days since the launch time of the report. More importantly, they will not notify you when the 100 allowed responses are complete and instead let people fill in your survey beyond that and if you want to see the additional completes you have to pay (I noticed this at some point and had to manually close the survey)!

QuestionPro has a horrible unintuitive user interface IMO. In addition, it takes far too many clicks and slow response times to setup the survey and ditto for reading the reports. Its login timeout is also too short so it added additional clicks to my user experience every time I refreshed the reports page. The main advantage it has is that even the free version allows you to get csv/xls reports to your own machine, whereas the other 2 will not let you do that unless you pay. Even generating the report involved making a few clicks and then receiving an email with an attachment (instead of just right click->save as). Beware that they will not notify you when the response limit reaches 100 and if there are more than 100 responses they will not show you *any* reports until you upgrade!

Surveymonkey just works. Best experience for setting up, quickest to use for browsing reports, keeps you logged in with no apparent timeouts and smoother experience altogether both for me and for the people taking the survey. None of the issues I mentioned in the previous two paragraphs.

To conclude, here are some random tips if you run a survey. This is based on my vast experience of doing this...twice ;-)

1.Keep the number of questions short; definitely make them fit on a single short page. Any more than that and users will abandon the survey the minute they see it. Budget 20 seconds per question and then gauge how long you think someone will spend overall there before giving up – this should guide you to the total # of questions.

2.Write questions in such a way so the user can just select the answer (i.e. Yes/NO or multiple choice). Again, if you force me to have to do a lot of typing, I will probably not take the survey. Make the last choice "Other" where applicable and offer an optional textbox for additional comment.

3.Following on from the previous point, try and make the multiple choice answers exclusive. Allowing multiple responses per question (like I did) means having to spend a lot more time analysing the results as the percentages alone do not show the full picture.

4.When you think you wrote a good question, visualise how the results will be interpreted. If you cannot think of how you would interpret the results or what action you'd take based on the results then the question is wrong. For example, I asked a question in my survey that was just to satisfy my curiosity and in hindsight it was not actionable or interpretable so I should have left it out.

5.The more factual-based questions you have, the faster the user can move through them. The more opinion-based questions that you have the longer it takes to fill in and the longer it will take you to analyze. Just something to bear in mind.

6.Assuming that you managed to write questions where the user didn't have to use the keyboard, make the last question open ended. Make it last, so you don't receive feedback that is covered in other questions. Make it open ended because the verbatim feedback will likely be more important than the rest of the questions.

7.Never use multiple different survey sites for the same set of questions. Aggregating the results from 3 different engines for consolidation is a bit of a time consuming nightmare.

UK 2008 Launch Registration Now Open

Wed, January 23, 2008, 07:09 AM under Links
As per my intro in today's MSDN Flash (that will at some random point appear here), the registration is now open to everyone. Come learn about Visual Studio 2008, SQL Server 2008 and Windows Server 2008 in Birmingham on 19th March. Register from here.

My VS2008 Articlette in TechNet Magazine

Sun, January 13, 2008, 02:44 PM under Links
Even though I am a developer (as opposed to an IT Pro), I do enjoy some of the content of the UK TechNet magazine to which I subscribe. In the January issue, they feature a two-pager (p10-11) on the three launch products for 2008 (SQL Server, Windows Server and Visual Studio). I recall being asked to share my top 5 features of VS2008 with them, so I wasn't too surprised when I saw my name and photo in there.

To read my relevant bits, scroll down on this PDF page until you read the words "On Visual Studio 2008".

MSDN Flash 9 Jan

Thu, January 10, 2008, 06:43 AM under Links
The MSDN Flash was delivered yesterday (subscribe here). In addition to a great SharePoint article, my UK readers will find great choice for in-person developer events in the Register and Horizon sections – you can view this issue online now.

For UK techies only – 2008 launch registration

Tue, December 18, 2007, 07:14 AM under Links
You all know that 19th March is the UK launch of the three 2008 products. If you are interested in receiving an email about with the registration link a few hours before anyone else sees it, please register your interest here.

WPF for LOB apps?

Tue, December 18, 2007, 03:29 AM under Links
Tim asserts that most developers think WPF is irrelevant and blames Microsoft for it. I am as guilty as the next person about stating where I think WPF fits compared to WinForms. Of course, not everybody holds that view and Jaime backs up his thoughts with a pointer to an interesting article: WPF goes to work.

Assuming you have WPF experience, what do you think?

MSDN Flash 12 Dec

Thu, December 13, 2007, 02:47 AM under Links
The MSDN Flash was delivered yesterday (subscribe here).

In every issue we have a feature article on a specific topic and this time it is about building Silverlight Sidebar Gadgets – you can view this issue online now.

Me too links of today

Thu, December 6, 2007, 06:32 PM under Links
- How can a truly innocent blog post on Internet Explorer 8, attract over 100 comments!

- ScotGu states in a reply to his own post that the ASP.NET 3.5 Extensions Preview will be available tomorrow.

- PDC08 announced (hopefully it won't be rescheduled again). Can you believe that I've never been to one?!

- There are 5 (five!) other announcements made in the last 36 hours, but rather than list them here I'll include them in the upcoming Flash as usual. Please subscribe now.

MSDN Flash 28 Nov

Thu, November 29, 2007, 02:50 PM under Links
The MSDN Flash was delivered yesterday (subscribe here). In the editor's intro you'll find where and when the UK 2008 Launch takes place – you can view this issue online now.

The manycore shift white paper

Thu, November 29, 2007, 01:17 AM under ParallelComputing | Links
"Parallel Computing Initiative Ushers Computing into the Next Era"
A bit high level (marketing?) at times in this 10-page document, but there is definitely some interesting stuff in there - read it!

Futures, promises and dataflow programming

Wed, November 28, 2007, 04:25 PM under ParallelComputing | Links
I am a bit slow so I had to read this page twice on wikipedia, but it was worth it in the end, I think. See if you get it all in one pass: Futures and Promises. Because my imperative head wasn't completely blown away I also spent time trying to grok dataflow programming. Opens your mind doesn't it?

Concurrency and Parallelism

Wed, November 28, 2007, 09:50 AM under ParallelComputing | Links
Via Jason, I discovered this post on the concurrency learning curve and following links from there, I found Intel's view on "data and task parallelism". Interesting stuff!

Blend with VS2008

Tue, November 27, 2007, 05:14 PM under Links
If you are looking for a copy of Expression Blend that works and is supported with VS 2008, look no further than Blend SP1.

Silverlight for VS2008

Tue, November 27, 2007, 12:52 AM under Links
Silverlight 1.1 Tools Alpha for VS2008 spotted in the wild.

MSDN Flash 14 Nov

Thu, November 15, 2007, 04:25 AM under Links
The MSDN Flash was delivered earlier (subscribe here). There is a FULL roundup of the Tech Ed announcements and downloads. Also, as usual, you can purchase the featured MS Press book (this time it is a Silverlight book) at a huge discount for a limited time (until the next Flash issue comes out) – you can view this issue online now.

MSDN Flash 31 Oct

Wed, October 31, 2007, 07:59 AM under Links
The MSDN Flash was just delivered (subscribe here). The Fresh discoveries include "Oslo" and the editor's Intro may have the bag let the out cat ofyou can view this issue online now.

Orcas Beta 2 VPC expiration in a week

Thu, October 25, 2007, 03:05 PM under Links
I don't like "me too" posts but this is important, especially since I am responsible for some of you downloading it: If you are running VS2008 Beta 2 in a VPC, it will expire November 1st. Full details on JeffBe's blog.

MSDN Flash 17 Oct

Wed, October 17, 2007, 09:10 AM under Links
The MSDN Flash was just delivered to its subscribers. There were 15 Fresh discoveries and an opportunity to win an Xbox Elite 360 – you can view this issue online now.

An advert for Microsoft ADCs

Thu, September 20, 2007, 01:02 AM under Links
When I get emails for support that are not directly related to my blog posts/events/screencasts I usually point the person to an appropriate free online support forum and newsgroup (e.g. for mobility questions I point them to these two and for questions in other domains I find the appropriate forum).

Occasionally the email (or phone call as the case was recently) is much more involved and for an educated answer the helper must gain a lot more context and insight into the environment. In these scenarios I recommend consultancy (not the body shop variety where people get installed in your office, but true advice from experts on a as needed basis). If the company is serious about their architectures staying up to date with where the Microsoft platform is going and about getting advice ranging from high level strategic issues down to performance optimisations in a certain implementation, then I suggest Microsoft Application Development Consulting.

As a customer you buy a set of consulting (150-2400) hours that you can use as you see fit during the year (maybe a presentation on some new technology of interest, a code review, an architectural planning meeting, help in building a proof of concept, debugging a nightmare bug etc). You are assigned an ADC that is effectively on-call for your company, (but who can decide to bring other members of the team as he sees fit – at the same rate). The ADC understands your product(s), environment(s) and people, and can be used remotely and/or on-site as the occasion dictates. To find out more about the rates, view a datasheet and get the contact email and phone number, please visit the ADC page.

As an aside, when I interviewed here at Microsoft UK 17 months ago, I got two job offers: one being the one I accepted and do today, the other being the ADC role which I am advertising on this blog post. Reasons for choosing one over the other are irrelevant here, but I did have to sleep on it for a couple of nights... As a second aside, when I joined my current team, 3 out of the 4 other guys were former ADCs...

Have code? Share it!

Tue, September 18, 2007, 02:26 PM under Links
Occasionally I get emails which include attachments with Visual Studio projects and I am asked to look at them and give my opinion. Please note that I do not do that – sorry, I don't have time to look at my own code let alone somebody else's.

Stick it on your blog (if you don't have one, what a great way to start one!) or if you want it to be contributed by others maybe on codeplex. If there is more of a story to be told around the code (e.g. an article) then as a reader I find codeproject to be great for that kind of thing. Another place to post code and start a discussion is on channel9 of course. There are other places on the net but these suggestions should give you a good start...

Recently I gave such a reply to Ricardo Bartolomeu and you can see the results of his work here.

Where else do you share your code projects?

7 links from the past 14 days

Sun, September 9, 2007, 04:06 PM under Links
If you've been living under a rock (or on a remote disconnected beach) for the past 2 weeks, then below is what you have missed.
And if you have been online for the past 14 days, then you get a yellow card for every link you are not aware off (2 yellows make a red and you are sent off ;)

1. Silverlight v1.0 was released for Windows and Mac OS X, Linux to follow. TBH, I was expecting the release date to coincide with Mix:UK as I may have hinted, but clearly I was wrong. Read more here.

2. Plans for Windows Vista SP1 are made public. Read more here.

3. Release date period for Windows Server 2008 refined. Read more here.

4. ADO.NET Entity Framework Beta 2 released. Read more here.

5. OpenNETCF launch public community site for mobile and embedded developers. Read more here.

6. The first UK SQL Server community conference has opened registration. Read more here.

7. Now THAT'S innovation! I've always explained how touch screens suffer from the obvious problem of the stylus/finger/hand obscuring the line of sight and hence the touch precision. How about a double sided touch screen with a few additional twists? I very strongly encourage you to watch the entire 3 minute video. Read/watch more here.

No More Moth

Thu, August 16, 2007, 11:02 AM under Links
For those of you with blogs out there, how many times do you genuinely search for something on the web only to get your blog as the top result? As pleasing as it is to see your blog in the top search results, sometimes it just gets in the way because you know darn well that you do not have the answer on your blog (or else you'd just search that, rather than the whole wide web, right?).

I somehow ended up having a similar conversation over email with one of our interns, Ian MacGillivray, here at Microsoft UK and he found a solution (showing off LIVE's rich customisation) and it looks like he is phishing for a link to his blog now... So, if you want to see how LIVE is superior to Google or how to create your own customised search engine or how to search the web excluding my blog (not recommended!), read the post from Ian MacGillivray aka Bartholomew ;-)

Facebook from .NET

Tue, July 24, 2007, 03:20 PM under MobileAndEmbedded | Links
It looks like the world has gone crazy with this Facebook thingy. I have zero time for real socialising let alone for online socializing so I have ignored the whole thing. By "ignored", I mean I have acted on invitations (meaning I had to create my space or whatever it is called) and other things that come into my email inbox, but I have not customised anything or initiated connections/invitations or even uploaded a photo. So why am I talking about it here?

It turns out that there is a .NET API for Facebook! It also looks like supreme device developer and all around top geezer, The Foot, has started porting it to support the .NET Compact Framework. Check out his blog post for more (which follows on from this one that includes screenshots).

Duck Typing

Thu, July 19, 2007, 03:15 PM under Links
Not sure how this term managed to escape me up to now, but it did. Simple stuff like this fascinate me. From wikipedia:
"In computer science, duck typing is a principle of dynamic typing in which an object's interface and attributes determine valid semantics, rather than having the language enforce rules regarding inheritance or require type casting."

Found via Krzysztof where he discusses Duck Notation.

Parallel LINQ

Mon, July 9, 2007, 09:43 AM under ParallelComputing | LINQ | Links
Having done a lot of real world work with threading in the .NET Framework including working with the numerous limitations of NETCF v1.0 (inc. implementing the BackgroundWorker for it), I read with interest Sam's parallel computing blog post to see what links there would be in there and I wasn't disappointed. Check it out if you are new to threading in the managed world. That reminded me about a related topic that I keep mentioning at the end of my LINQ presentations and that I've been meaning to blog about in response to Tim's question: Parallel LINQ (PLINQ).

One of the numerous benefits of LINQ is the move to declarative programming, which has side benefits over and beyond the obvious ones. By writing code that tells the engine what it is that we want it to do rather than how to go about it, we open new possibilities where the engine can take our intent and split/execute it on multiple threads/cores (since ultimately it is responsible on the how). While most devs "get" that, it may sound a bit woolly to others, so here are some links/info about PLINQ.

I believe the first mention of PLINQ is in this eWeek article (August 2006). Joe Duffy announced his involvement (September 2006) and then followed it up with more info and a slide deck (January 2007). Bart watched a presentation on the topic and spills the beans on the AsParallel extension method which he follows with a NON-Plinq code example (April 2007). Finally, watch a real 5' demo by Luca from Tech Ed [between 51:26-56:40] (May 2007).

Of course, it is early days and PLINQ will not ship with VS2008 (or even as part of the wider Orcas-wave) but you get the idea... The earlier you start taking advantage of LINQ, the earlier you'll be able to take advantage of PLINQ when it eventually ships ;)

MSDN Flash newsletter

Wed, July 4, 2007, 03:11 PM under Links
If you are a developer on the Microsoft platform you should subscribe to the bi-weekly MSDN Flash newsletter to keep up to date with the latest news. The newsletter is available in the US and most other countries translate it to their own language so you can subscribe to a localised version if you wish. Check your local MSDN website. In the UK we have had our own version for a very long time and a couple of months ago I took over as the editor. After soliciting feedback from numerous people in the community we have streamlined the UK MSDN Flash newsletter to make it much more digestible and very easy to scan for info relevant to you. I also personally ensure that the content is aimed squarely at developers with no other noise.

If you are a developer in the UK, I urge you to subscribe to the MSDN Flash (you can unsubscribe from the same place at any time and your email isn't used anywhere else). Even if you are outside the UK, 3 out of the 5 sections are still useful ;)

For a taste of what you've been missing go check out the latest issue. Let me know what you think and I am also interested in what you like in other developer newsletters that you may subscribe to!

My book is now in my hands

Mon, June 11, 2007, 06:13 AM under MobileAndEmbedded | Personal | Links
Mobile Development Handbook

My book is now in my hands, and here is the proof... and another wobbly photo of the back :-D

At some point in 2006 I started writing a book and at some point in April 2007 we completed the project. I say "we", because I had two excellent co-authors, both long standing Device Application MVPs: Peter Foot and Andy Wigley. I would have liked to be able to say that I also am a .NET Compact Framework MVP, but unfortunately I lost that title when joining Microsoft last year as per the rules.

We explicitly targeted two audiences with our book and implicitly excluded one audience segment:
1. Existing C# and VB device developers - YES
If you are already targeting Windows Mobile devices you will know that all existing books talk about version 1.0 of the .NET Compact Framework and Visual Studio.NET 2003. Since those times there have been three service packs for v1.0, version 2.0 with two service packs and, of course, Visual Studio 2005. Furthermore, v3.5 is in Beta 1 right now as is Visual Studio "Orcas". Our book covers what is new in the .NET Compact Framework and Visual Studio 2005 compared to their predecessors. It also covers throughout the chapters, but also in a dedicated chapter, version 3.5 of the NETCF and VS "Orcas" for Devices.

2. Existing .NET developers who are complete newbies to device development - YES
There are millions of proficient .NET desktop developers that would like to know how to write code for their mobile device or generally want to find out how to transfer their skills or business logic to the mobile platform. The book's tone is certainly aimed directly to those developers by continually contrasting and comparing with desktop development as applicable, highlighting what is different or missing when doing device development.

3. Existing native device developers - NO
This book is all about managed code, but we never introduce any basic .NET concepts from scratch. We expect readers to know about those either through experience with previous versions of NETCF or through .NET desktop development. So if you are a native device developer, you should pick up another book to learn the basics of .NET. We also have made no assumptions of knowledge about the Windows CE and Windows Mobile platform. The reason is so desktop developers can get an introduction to the whole stack/environment and not just the dev platform and tools. So, as a native device developer, you will encounter concepts explained that you probably already are intimately familiar with.

Whether you are looking for a book to read cover-to-cover or for a reference that you go back to, this book will fulfil your needs. It isn't just a book on the raw technology, but more importantly it captures lessons from developers that have practised mobile and embedded development in the real world.

Mobile Development Handbook

Windows Mobile Device Center 6.1

Wed, June 6, 2007, 02:20 PM under Links
...with updates mainly for WM6 devices, available here (32-bit) or for 64-bit here.

Run better user groups

Tue, June 5, 2007, 07:17 AM under Links
It is as if Roy has been eavesdropping to similar discussions we are having here in the UK. Check out his list of tips for better user group meetings.

Acropolis CTP

Mon, June 4, 2007, 12:32 AM under Links
As if I didn't have enough things to play with and events to prepare for, my incoming list shows me an Acropolis CTP. Download it here.

Some links from the last few days

Fri, June 1, 2007, 03:03 AM under Links
Been on the road for a week so catching up with my aggregator:

- Microsoft Surface (my wife asked me "Why is your mouth open, what are you watching there?")

- There has been discussion on the web about comments Martin made about AlphaGeeks. It is too easy for people to jump on the "doom train" (fact: being negative is so much easier than being positive), which is why I found Rocky's take most interesting: Busy, busy, busy.

- Bill and Steve talk. If you don't have time for the full interview, watch this 8' of highlights video.

- I am glad that other companies are finally seeing my point of view: pure web apps don't cut it; we need offline support and fast UI response. Read Tim's report from Google Developer Day.

Windows Clippings 2.0

Wed, May 30, 2007, 10:30 AM under Links
Kenny Kerr has released Window Clippings v2.0. Read his announcement here. There is still a free version with all the important features and an advanced version for a truly modest price. Not only I downloaded it, but I paid for the extras as well. If nothing else, I encourage you check it out especially if you regularly do screen captures on Vista!

PDC postponed?

Thu, May 24, 2007, 06:19 PM under Links
Remember when the news broke about PDC07? Go back to my blog post and follow the link again (and weep).

More SideShow devices

Sat, May 19, 2007, 03:40 AM under SideShow | Links
It looks like Dan's pit of cool toys is truly bottomless! If you thought the video from CES had a cool collection of SideShow devices, then check out this video from WinHEC.


Tue, May 15, 2007, 05:32 AM under Links
When I come across Greek codenames internally it always pleases me (sad I know), but of course they cannot be talked about until they are public. It looks like this one is now since it has appeared in the Tech Ed US session list (type "Acropolis" in the keyword box, and then hit the Filter button). Out of curiosity I searched the web and found that there is a reference to Acropolis from over a year ago! So much for the secrecy... :-)


Sat, May 12, 2007, 03:13 AM under Links
I have been expecting this website for a while, and AFAIC see, Ian is the first to break the news. Have a browse around the site and expect some even cooler stuff to go up there at some point (I only wish I knew when). Oh, and if you ask me, mobile should have been included up there... I see it as part and parcel of the "client".

Compact Silverlight

Wed, May 9, 2007, 12:53 PM under Links
OK Mark, I'll take the bait! I don't make it a habit to talk about technologies that are so far out, but I guess this very early prototype is worth highlighting to my readers in case you guys have been under a rock for the last 10 days ;-).

Scott has the video he made with Derek on his blog and if you want to see the exact Silverlight demo shown at MIX, then download the WMV (15', 55MB) and fast forward to the 14th minute for the Window Mobile version of the demo shown in the first 14 minutes on the desktop platform. If you want to read more from the dev lead of the Windows Mobile Silverlight prototype (including screenshots) then go to Rob's blog entry (some great stuff there!).

Personally, I want to see how Compact Silverlight will compare to .NET Compact Framework. Sure, one is for cross-platform, cross-browser and the other only for Windows CE but there is an overlap. If all I am targeting is the Window Mobile platform, then I can write smart clients with the NETCF today that do the job nicely. All I am missing is a Windows Forms layer replacement so I can create rich user experiences (rather than dull LOB apps). That is, I want to use my existing NETCF apps and simply remove the UI and replace it with a XAML-based UI – I don't want my app running in the mobile browser and I certainly don't need another CLR. But hang on, isn't that essentially how WPF differs to Silverlight on the desktop? Yes it is, so if you ask me, I'd rather we got Compact WPF instead of Compact Silverlight. Just my 2 drachmas worth :-)

Microsoft Jobs

Thu, April 19, 2007, 12:21 PM under Links
Steve is giving up his job. If I ever decide that I am fed up of so many in-person events and would like to shift the bulk of my efforts to writing, I would go for this one. Imagine contributing in more ways than one to every issue of the world's best developer magazine on the Microsoft platform!

The other one is not a specific role but boy does Mike sell the MED division well! I tell you what, I am tempted already...

If the two above don't take your fancy, check out the full list (it is free to register).

Camtasia now works on Vista

Sat, March 24, 2007, 09:57 AM under Links
The baby of our team (sorry Mark :-)), just dropped me a line to point to an official version of Camtasia that works on Vista.

This is great news, I can now resume to producing some screencasts, which is something I haven't done for a while. If you are new to this blog, check out my previous screencasts on channel9 and on the MSDN nuggets page and stay tuned for some Orcas recordings.

Office Compatibility Pack

Wed, March 14, 2007, 03:37 PM under Links
Office 2007 introduces a new file format, which you will have at least heard of e.g. PowerPoint files are now pptx, Word files are docx and Excel files are xlsx. Not everybody has made the switch to the new Office suite and I know that because I keep getting requests to provide my slides in the old format. Please open the files in the new format with the legacy version that you are using - just download the Office Compatibility Pack.


Thu, February 15, 2007, 03:24 PM under Links
Still ROTFL with ".NET Love" part 1 and part 2. :-D

Mac adverts

Sun, February 4, 2007, 07:40 AM under Links
More often than not Sahil’s blog entries are written in a very entertaining style, so when I saw the title of his latest post I knew the content would make me smile: Hi, I'm a PC, and you're just a liar!! :-D


Thu, February 1, 2007, 11:42 AM under Links
The replacement of ActiveSync on Windows Vista, the Windows Mobile Device Center has RTMd (only 3-4 months after my last WMDC post)!

Remember to remove any Beta you may have had and get download links from here.
(or wait for Windows Update by the end of the week with your phone plugged in as always).

The “Wow” starts now

Mon, January 29, 2007, 10:41 AM under Links
I love Microsoft marketing. Even though they mostly get it wrong IMO when naming Microsoft developer products/technologies, you’ve got to give it to them when it comes to catchy phrases. How can you not love:
The "Wow" starts now
Finally, all the stuff I’ve been talking about over the past 9 months, will be publicly available to everyone in about 5 hours!

A few links I've been meaning to share

Mon, January 15, 2007, 10:53 AM under Links
- Tim's insightful commentary on why Vista's cosmetic changes aren't just that.

- Came across an interesting article on 'Quantifying Complexity: .NET vs J2EE'. I read to my wife a quote from the article that I liked: "Beliefs without evidence are just bias [...]". She came out with a cheap shot but one that made me chuckle nonetheless: "What's your evidence for that?" :-). Anyway, read the article.

- And finally, all you wanted to know about why, when and how to use NativeMethods, SafeNativeMethods and UnsafeNativeMethods.

Best of "The Moth" 2006

Mon, January 1, 2007, 06:56 AM under dotNET | MobileAndEmbedded | Windows | Vista | Links
Exactly two years ago on New Year's day, I wrote the Best of "The Moth" 2004 blog enrty where I picked my favorite blog entries out of 96 posts. Exactly one year ago I had to choose from 151 posts to find the ones I thought were the best in terms of content and the result was the Best of "The Moth" 2005.

The year of 2006 I made 142 blog entries and below are a select few. Happy New Year!

01. I didn't have a chance to play with it as much as I wanted to, but with very little public info available, this blog served it well: .NET Micro Framework, its product sheet and other NETMF links.

02. Recognising an idiom of the using statement.

03. A cute desktop feature implemented for the Windows Mobile/WinCE platform in a reusable NETCF control: TextBox cue banner.

04. A picture is worth a 100 words and a video is... a whole bunch of pictures! Check mine out following the instructions here for my nuggets.

05. A comprehensive collection of links for Windows Workflow Foundation (WF).

06. I collected the links to my 9 blog posts on sharing assets between desktop and mobile platforms in one place. Follow the numbered links.

07. The most controversial feature of Windows Vista is something every developer must understand: User Account Control.

08. One of Vista's features is becoming my obsession and that is SideShow. My series of SideShow gadgets blog posts will continue in 2007 and so far you can read parts one, two, three, four and five.

09. I spent 6 months last year focusing almost entirely on Vista developer features that are new and that are *not* part of NetFx3. I have catalogued my blogging & screencasting efforts in a large collection of links to content that supports my speaking engagements on Vista. IMO this blog post alone could have been the best of "The Moth" this year:
Vista-only features for the managed developer.
Stay tuned in 2007 via one of the subscribe options on the left :-)

VS2005 SP1 RTM + SP1 Update Beta

Fri, December 15, 2006, 01:23 PM under Links
After installing the RTM version of Service Pack 1 for Visual Studio 2005, this is what will greet you the first time you run VS on Windows Vista:

It references the “SP1 Update” for VS2005 to make it run best on Vista. Note that even with that, the advice is still to run with administrative permissions. I have said before that you can get away with many things by not running VS elevated, but to play it on the safe side do follow the explicit advice given.

You can get a Beta of the SP1 Update for Vista here soon.

BTW, we are all familiar with the term “RTM” and we are all used to “SP”, but this “SP1 Update for Vista” is a new one. It made me smile but, if you think about it, what else could they have called it?

PDC 2007 in Los Angeles on October 2-5

Tue, December 12, 2006, 12:30 PM under Links
Save the dates. Hot off the press.

Expression and WPF/e

Mon, December 4, 2006, 12:48 PM under Links
The exciting stuff I hinted at here are now... live!

Mike has all the useful links and accurate IMO commentary. BTW, you can catch both of us at the FOTB event tomorrow in Brighton.

Other link blogging about Expression or WPF/e: UX journey, WPF/e DevCenter, Wow indeed.

In case any of you are not getting with the programme in this new “UX matters” world, go visit the Microsoft Design Centre.

Vista Shell revealed

Mon, October 9, 2006, 03:23 PM under Links
I really hope you guys were not waiting for me to point you to a (fairly) new blog on Vista. This is the authoritative blog of the Shell team that is growing in readership like no other blog ever has.

Go read everything they’ve written to date as every single post is a gem, e.g. the one about minesweeper or the one about the menus or best of all the one with the treat at the end.

And if you’ve had enough of serious information, they published something on the lighter side today :-D

Speaker Idol

Sun, August 13, 2006, 05:19 PM under Links
I was over at the Tech Ed Europe site to steal a logo for my blog (check it out on the left) and came accross this uber cool concept/contest: Speaker Idol.

My nuggets are up

Tue, July 18, 2006, 07:52 AM under Links
…just got word that they are finally available for your viewing pleasure so go check out my nuggets!

1. Under "Filter nuggets by" go to the "Presenter" listbox and select "Daniel Moth".
2. Click the "Search" button.
3. From the list of nuggets select the ones of interest and the "Add to My Downloads".
4. In the top right panel under "My Downloads" you can watch/download the nuggets.

Nuggets are basically short (10'-20') pre-recorded videos that have minimal slides and capture the presenter's screen & voice while they demonstrate some technology feature.

Other sites call nuggets, screencasts (not to be confused with webcasts, which are longer online presentations with a live audience).

my blog subscriptions

Thu, July 13, 2006, 06:23 PM under Links

Recently I trimmed down the number of blogs I subscribe to and will do that again over the next couple of weeks. It came to the point where there were always 3-5 thousand unread items in my aggregator... I could never catch up!

So on my quest to be more selective I faced the dilemma of what I do with group blogs. The same goes for aggregate blogs. (discussion for the difference between the two here)

Current plan is to split the group/aggregated feeds from the direct ones (i.e from the ones where a single person is blogging.. allegedly :-).

Goal will be to keep enough direct subscriptions so that by the end of each week I can say "I've caught up with all of them". Who knows, I might bring back my BLOTW feature (BLOTW 2004 and BLOTW 2005). Will share my OPML when I am done with the trimming...

As for the group and aggregate feeds that I subscribe to (I call them "mass feeds")... they will be in a separate area and will only be scanned occasionally rather than read thoroughly. So, in contrast with the direct feeds, I do want to increase the number of mass feeds I subscribe to. One of the reasons is that a lot of the blogs that I am trimming out are part of some mass feed already so I can keep in touch with those that way :-)

Here is my current list of "mass feeds" (let me know if there are others I should know of) in truly random order:

... and my latest addition, the feature-rich: ("an emergent and popular .NET community")

Blog link of the week 41

Sun, October 16, 2005, 02:39 PM under Links
- Even though not a guy by any stretch of imagination, I still find this quite cool

- Remoting -> Indigo

- Did you know you can add solutions to solutions?

- Ilya Tumanov provides the A to Z on netcf v2.0 cab files

- Follow the links to get Virtual Earth for your Windows Mobile :-)

Blog link of the week 40

Sun, October 9, 2005, 03:36 PM under Links
Not quite recovered from Seattle yet and there are still 5337 unread blog entries in my reader, but here are two that caught my eye

- For those of us that missed PDC: What's new in GC v2.0

- How would anyone guess this without reading the manual ?!

Blog link of the week 37

Sun, September 18, 2005, 02:54 PM under Links
PDC is over and the biggest buzz seems to be around the "LINQ project" a.k.a. Language Integrated Query Framework or just "Language INtegrated Query"

There is something not right about discussing Orcas, .NET 3.0, C# 3.0 and VB9 features when Whidbey hasn't RTM'd yet, but that is the industry we are in I guess... I dedicate this BLOTW to LINQ

* From the top dog in the developer division

* By the VB top dog

* With C# examples (and further links)

* Even more C# code

* Interesting comments as always from Wes

* Scared by DLINQ

Blog link of the week 36

Sun, September 11, 2005, 02:30 PM under Links
* Series of blog entries on Aspect Oriented Programming (AOP)

* Unit testing asynchronous code

* Mobile stuff at the PDC ( the first reports of the precon day are already appearing and, no, sadly I am not there )

Blog link of the week 32

Sun, August 14, 2005, 02:59 PM under Links
- Pablo points to "Solution Folders", a new feature in VS2005. (Note, it is not available with zero-impact projects so save if you want to use a Solution Folder)

- Tired of all the positive buzz on Indigo? Read this.
BTW, anyone here attending the Indigo event in Seattle? I'll be there :-)

- Even though this is not this week's news, I'll make an exception since I somehow missed it last month: Delphi for NETCF (cool!)

Blog link of the week 31

Sun, August 7, 2005, 03:50 PM under Links
If she writes a book, I'll be the first one to buy it. This week: Application.DoEvents is *not* OK (don't say I didn't tell you)

GeneratedCodeAttribute. I say... finally!

Arguing over details... my kind of arguing :-)

Blog link of the week 30

Sun, July 31, 2005, 02:00 PM under Links
"Thorough" doesn't begin to describe the coverage: Mouse Input and drag'n'drop.

Highlights of the performance enhancements in Whidbey

Generics Variance

Replies to some JIT questions

Notes and screenshots of longhorn client Windows Vista Beta 1

Blog link of the week 29

Sun, July 24, 2005, 02:26 PM under Links
# Code Snippets FAQ.

# Generic delegates in the framework.

# String Basics (and a few people come to mind that should go back to basics ;-)

# Katie Blanch (previously known as K. Schaeffer) contributes 3 interop articles on the netcf blog:
Extending GUI Functionality
Common Issues and Debugging Techniques
Log File Information

# One of the hot WM 5.0 topics is persistent storage.

# Hah! Recently I had an argument discussion on this topic so I hope my "opponent" reads this: Singleton or ExpensiveResourceSingleton.

Blog link of the week 28

Sun, July 17, 2005, 03:50 PM under Links
After delays upon delays I finally just made it back home from Dublin. Some photos from my talk are here (btw, if anybody wants me to talk at a user group or anywhere else, my new term of contract is that it must be followed by a “mouths-on” wine tasting lecture ;-).

So, since I haven’t personally caught up with any blogs this week, BLOTW redirects you to the Mobile Minute 105, 104 and 103.

Blog link of the week 27

Sun, July 10, 2005, 02:57 PM under Links
This time round BLOTW is dedicated to Tech Ed Europe which was on last week. I was there in 2001-2002-2004, but sadly not this year.

Many blogs covered the event and some that caught my eye are here, here, here, here and here.

Blog link of the week 25

Sun, June 26, 2005, 03:20 PM under Links
* Loads of useful tools. Bookmarking it here for its "TabletPC Indispensibles" (since I just ordered a Toshiba Portege M200 :-)

* Don't Fsck With Nerds

* Interesting perspective on the .NET vs Java debate

* Rules for better presentations
      (don't forget this Thursday to come see if I apply them)

Blog link of the week 24

Sun, June 19, 2005, 03:50 PM under Links
Read both the BlueJ side and a MSFT-employee view then make your own mind up. Personally, I thank BlueJ for the concept and I thank MSFT for borrowing everything that is good in the software industry and bringing it to my platform of choice.


Enterprise Library background (via)

The endless debate: Custom Objects vs Datasets (check out all the comments and links too)

Human vs Computer (again, read the comments too!)

Blog link of the week 21

Sun, May 29, 2005, 03:38 PM under Links
It's a known fact that while the VB compiler team focuses on VB6 compatibility, the C# compiler team focuses on optimisation (funny that, for a compiler team); so I was not surprised with this.

Robert points to updates on the Windows Mobile Migration FAQ for developers

I echo *every* single sentence on this post on signing in VS2005

Looking at the number of comments, you don't need me to tell you about it but... here is some info on tabbed browsing implementation in IE7

Microsoft's view on modelling makes an interesting read, e.g. "What about UML" (via)

Funny and so true (I have used at least half of them in the past :-)

Blog link of the week 20

Sun, May 22, 2005, 02:45 PM under Links
Expect this technique to be used extensively with NETCF 2.0. Sure there was an easy workaround for obtaining the Handle, but pinvoking APIs with callbacks was impossible (without a native helper dll) since DllImport in CF 1.0 does not support delegates in the signature. Enjoy Subclassing controls in CF 2.0

I know I will be referring to these steps for removing SS from VS projects

Now I'll never forget the OSI layers "Please Do Not Throw Salami Pizza Away" (via)

Blog link of the week 19

Sun, May 15, 2005, 03:23 PM under Links
Q: How long should a tech book be? A: 450 pages. Do you disagree?

Application Blocks for the Compact Framework

Quote of the week: Attributes are like tattoos - static and permanent

I hope the C# team follow the link from there and implement the only item I miss when coding in C#: Background Compiler

Popular tool re-implemented in unmanaged code for perf reasons! (via this)

Blog link of the week 18

Sun, May 8, 2005, 05:13 PM under Links
James gives some insight to what it's like preparing MEDC.

David and Scott inform us of their sessions (both of them in my top 3 choices) and provide interesting links.

OT: I just came back from a trip to the Grand Canyon and I'll tell you the obvious: it is massive and as they say round here...awesome! No picture or video can capture it but I'll have photos soon at the usual place.

Blog link of the week 17

Sun, May 1, 2005, 03:28 PM under Links
* The debate that never ends: VB vs C#

* Message to the VB team: Remove the crutches (why do I think that falls on deaf ears?)

* "Hello world" with code coverage

* I didn't know that either! I'll have to revisit those remoting projects, where I needed to debug server and client at the same time!

Blog link of the week 16

Sun, April 24, 2005, 02:53 PM under Links
Your CF 1.0 app can run against CF 2.0 in compatibility mode or not. Learn how here

Target the v1.1 framework with VS2005 Beta 2

You can unwind exception call stacks

Do you agree that .NET is the best thing since OO?

This isn't the first and it won't be the last but, judging at how many times the question gets asked, it is needed: WinCE vs WM

Funny :-D

Blog link of the week 15

Sun, April 17, 2005, 02:39 PM under Links
+ Everybody and their dog know that VS2005 Beta 2 is out on MSDN so I will not link to it. Early experience descriptions are aplenty and the lengthiest one I came across is here.

+ I wish I had the chance to attend that lecture as this post whets my appetite.

+ Some folks are brave living in a multi platform world. I found these two posts interesting. (Recollections of a previous life spring to mind: "write once debug everywhere" a.k.a. Java development)

Blog link of the week 14

Sun, April 10, 2005, 03:55 PM under Links
As a "lover" of nntp I can't say I was immediately happy about this, but if properly managed it could end up being fantastic for Visual Studio 2005 developers everywhere and the beginning of a new way to get/give help: MSDN Forums Beta announced

Blog link of the week 13

Sun, April 3, 2005, 03:33 PM under Links
I've been considering this lately, so the advice in this article is very welcome.

:-D Reserved for whom?

Blog link of the week 12

Sun, March 27, 2005, 02:53 PM under Links
* In protest to the pricing model of Team System, no msft blog will be linked from this week's BLOTW. The pricing model is widely discussed in the blogosphere, but I find the quote at the end of this entry covers my thoughts:
"Congratulations to the development teams bringing these products to us. We're glad that you've been listening. Now go kick down the doors of the marketing people and blast them for wasting your time."

* On Monday, Roger asked in the ng if people would be interested in styled controls; I directed him to the cf ng, where he got positive feedback. Here is the result.

* Seems I have to brush up on my UML, as there is a diagram in v2.0 I was not aware of

* In the past I run an internal "Advanced .NET Basics" session (covering the topics on this list). This full day tutorial seems to cover similar ground and all material is available for download.

* Don't throw from finally

Blog link of the week 11

Sun, March 20, 2005, 02:57 PM under Links
+ If you think there is a scientific way classes are assigned to namespaces, think again.

+ I have thought about this before and, without going into details, I fundamentally disagree with the notion of "contextual keywords".

+ On the one hand I am not impressed with 35 blog entries in 2 days because I am not sure it is right to put such useful content into blogs rather than the traditional MSDN help (and MSFT do the former more and more). On the other hand, have you any idea how long we would be waiting had they taken this information through the stringent MSDN article submission process?

+ I have been bitten by this in the past, so follow the advice.

+ This neat little feature hasn't had as much exposure as it should IMO: incremental searching.

+ We will need this feature for an upcoming project, so I am bookmarking some info/links here on hosting the designer.

+ At some point I will blog about the process I followed when upgrading our VB6 system to .NET and then to CF. Until then, I'd keep my eye on Mike McIntyre’s blog (45 upgraded VB6 projects is a few dozen more than what I have done!)

Blog link of the week 10

Sun, March 13, 2005, 03:57 PM under Links
+ Declarative validation with attributes and Java annotations by ex-Avanade Steve Maine.

+ Assuming this has no irony/sarcasm and without belittling anybody, with a dead-straight face I wholeheartedly agree with this (the alternative is to steer VB.NET to cater for this overlooked group; as a .NET dev do you want that?)

+ Never realised comment spam has good side :-)

Blog link of the week 09

Sun, March 6, 2005, 03:34 PM under Links
- My favorite blog entries are those that cover a topic from A to Z. Another attribute I look for is content that has not been published before. Naturally, stuff like that comes once in a blue moon; on Wednesday the moon must have been blue on Peter Foot's blog.

- Layout in WinForms.

- Windows CE History (via droppings)

Blog link of the week 08

Sun, February 27, 2005, 03:33 PM under Links
- After last week's BLOTW, it is only fair that I point to an MSFT response. There have been many more replies (I count at least 10 in my aggregator) so I will point you to one more, where you should read the comments in addition to the post.

- I was fairly confident I had nailed most of the differences between C# and VB in my head and then I came across a post on value type initialization. Another difference that is widely known is regarding interface implementation. It has been discussed before and is raised again here; if you think you can defend C#, please go comment (I am genuinely interested).

- Not sure if everybody is familiar with the versioning advice found here, but I am looking forward to "The Build Master".

- Some add-in is required to automatically create a BLOTW entry whenever Rico writes something new :-) Check out his latest, where he nails the differences between managed and unmanaged runtime performance.

Blog link of the week 07

Sun, February 20, 2005, 03:04 PM under Links
3 days ago a thread started on an internal list (which is still going) whose subject was enough to catch my attention (paraphrased here):
Richard Grimes gives up on .NET

On one side I am shocked, on the other his justification is not convincing (to me anyway). Either way it does make you stop and think so I reckon it deserves BLOTW even if it isn't strictly a blog link.

Oh, and if like Frans you are asking "Who's Richard Grimes", here is a small example of his work (Workshop on Fusion).

Richard better have something else planned. I make it a point to never leave something old without having something new lined up: be it a car/house/job/PC/woman etc... only joking about that last one :-D

Blog link of the week 06

Sun, February 13, 2005, 03:59 PM under Links
I hope you are not waiting for BLOTW to find out about the Indigo news from VSLive… or about Java creator’s anti-dotnet comments (and the numerous responses).

Go understand the nice post on cctors (even though you should know by now about beforefieldinit).

It’s not everyday I learn about a new Whidbey feature (don’t take that the wrong way, it’s true) so I was pleasantly surprised this week with linkedConfiguration

Are you looking for a formal explanation to switch to .NET

There are better uses of your cpu, but this is funny (via Sahil)

Blog link of the week 05

Sun, February 6, 2005, 03:41 PM under Links
- Shawn Burke wraps up the "shipping source" discussion.
I wonder: If we do reach a stage where the framework code is available for stepping into, will VB developers ask for a VB version of the code (or will the last few that resist learning how to at least read C# give in?

- Jono turns his blog entry into a job board for CF developers and recruiters
(of course, if you are looking for NETCF consulting you should start here).

Blog link of the week 04

Sun, January 30, 2005, 03:50 PM under Links
- "You should log unhandled exceptions, not just swallow them!" I have met many that refuse to adopt my advice (usually the type that love On Error Resume Next). If I can't convince you of the opposite, maybe this blog entry will.

- Some obvious, some not so obvious; overall a great post that brings together in one place the wisdom of when to go async and related advice

- Some humour on Unit testing :-D
(if you are a sensitive TDD advocate, keep your knickers on please, it is only a joke!)

Blog link of the week 03

Sun, January 23, 2005, 01:20 PM under Links
By now you know about the yesfollow OR the chance to bid for an hour's consultancy with payment going to the victims... I will also remind you that the next installment of the training we mentioned last week is out - of particular interest the talk about progressive API...

Instead, go give a piece of your mind about default Form instances in VB (why would they listen now when they didn't before is a different matter)

I've already given a piece of my mind on the Class Designer in the past but I am still interested in new Beta 2 features.

Blog link of the week 02

Sun, January 16, 2005, 12:00 PM under Links
On Friday (I almost broke my pattern and posted BLOTW then), Brad Adams announced a free .NET training series on Class Library design, kicking off with "Setting the Stage". I must admit it really does set the scene and there isn't any technical info in this one, but it does make me unable to wait for the next ones (make sure you read slides 11-14 for MSFT's business model as per BillG)! Definitely one for your bookmarks.

If you are after a quick WinForms tip, Cathi Gero has a cool one. Not only I've always liked the AutoTab feature as an end user, but as a developer I was not aware before of the highly configurable Control.SelectNextControl method.

And the lighter side of Project Management

Blog link of the week 01

Sun, January 9, 2005, 03:59 PM under Links
I will not flood you with links like last time, but I must tell you that last week's winners have come back with killer posts; so revisit their blogs if you haven't already subscribed.

At the end of the first calendar week of 2005, why not download some tools (that I must admit not having played with yet)
-Check it out if you are working with process in WinCE and NETCF

-VS2005 Device Command Shell (a new tool that I bet will become very popular)

-Finally, subtle but important points about mixing operator overloading and inheritance.

Blog link of the week 53

Sun, January 2, 2005, 03:56 PM under Links
-Like last week, it is a (almost) new blogger that headlines BLOTW, an MSFTie no less, Scott Holden. Read all 5 posts he makes in his first week including the one where we learn that the GC threshold in CF 2.0 changes from 750KB to 1MB.

-Not technical, but it caught my attention (and read it to the end following all links etc). Have a look and decide where you stand. I am not quite so sure...

-Some A-list bloggers claim that if you haven't posted for a month you are worthy of un-subscription, I don't buy that. Steven Pratscner's last post was over 4 months ago; had I unsubscribed I would have missed this most informative entry.

-How do you calculate the size of a directory?

-Not sure how you'll use this knowledge but if you like knowing what goes on under the covers when you set a breakpoint, this entry is for you.

-This BLOTW is the longest I've done, but still, I must point you to a time waster (via Tech Blender). I managed to write "THE MOTH" but the closest I got to my name was "DA IE MO H"

Blog link of the week 52

Sun, December 26, 2004, 02:22 PM under Links
Imagine if all weeks were as slow (from a blogging activity perspective) as the one just gone by (I also wonder if the next one will be quieter)...anyway...

Rather than a specific blog entry link, we welcome one more .NET dev to the blogging world, Angelos Petropoulos; and if you don't have time to read all 3 posts he made in his first week (and not a "Hello World" in sight), enjoy this one.

Blog link of the week 51

Sun, December 19, 2004, 01:36 PM under Links
The worst thing that can happen to me from a BLOTW perspective is this: a good post appears on a Monday so the people focusing on link blogging have already told the world about it. Given my BLOTW policy, that eliminates it from my shortlist for Sunday's BLOTW entry. This week I was lucky :-)

If you haven't already, go read why going to the bathroom will help you understand threading (Monitor.Xxxx methods) (long)

I can't help making a NETCF observation here. We only have Monitor.Enter/Exit in CF 1.0; CF 2.0 adds TryEnter but that's it, no Pulse methods :-(

Blog link of the week 50

Sun, December 12, 2004, 03:18 PM under Links
Regular readers know by now that I would not talk about some conference that is 10 months away or some autocomplete search feature (in the same way I will not be talking tomorrow about yet another desktop search feature).

Did you think that "GC" and "leak" could exist in the same sentence? Apparently they can.

To balance things out, go to this not so technical post about MSFT shipping practices/processes.

Finally, take a seat back and enjoy the arguments discussions between one of the 3 amigos and the respectable opposition (if ever I needed proof that MSFT recruitment works well, I got it when they hired some of the best UK UML/methodology minds - all they need is this guy and they'll be flying).

Blog link of the week 49

Sun, December 5, 2004, 02:16 PM under Links
Where did you read about yet another CTP, new spaces for blogs, unit testing software release, the number one word for 2004 and an antisapm screensaver? ...not here...

Brad Adams shows how to validate parameters in security-sensitive operations; I would have never thought of that and probably still won't ever use about you?

I bet you can't sleep at night [:-)] not knowing why Windows run the timer at 55ms

Go back to basics with a performance analysis of the ArrayList

Blog link of the week 48

Sun, November 28, 2004, 12:15 PM under Links
Giagnocavo cracks code!

Jared Parsons mixes Generics and Singleton. I wonder how many patterns can be rewritten using generics... anyone working on that?

Over at Saurabh Verma's blog there is a pretty picture showing a memory representation of a reference type holding a value type. Hopefully we'll get more pretty pictures of more complex scenarios.

Blog link of the week 47

Sun, November 21, 2004, 02:30 PM under Links
No links here to some new CTP download or to some language feature getting dotslashed (I know it is the other way round :) although I could have linked to the 3 CLR videos

Earlier in the week I came across a writing that expresses a view which I fundamentally disagree with, but at the same time have to admit that the author is absolutely right! It may be long but I suggest you go read Sriram Krishnan entry (and then decide where you stand).

Soon we will be adding web-serving capability to our CE-based product so this entry was very welcome.

Blog link of the week 46

Sun, November 14, 2004, 03:59 PM under Links
You are wrong if you think I'll link to the new browser launch (ieview is the best thing it has going for it) OR about the new MSFT game (when I get time to play a game I go here) OR about the poor devs at that game company (naturally I sympathise) OR about the flash CV of the Frenchman OR about YA search engine and I am definitely not telling you what file extension I am! [if none of these references make sense to you, stay in and read more blogs:-]

Instead, go read why Thread.Abort is evil (good thing the CF doesn't support it then so I didn't use it here :-)


Wed, November 10, 2004, 09:29 PM under Links
Testing if this works in blogger

C# (btw, for the full MsgQueue API set look here)
        /// <summary>
        /// This function opens a handle to an existing message queue based on 
        /// a message queue handle.
        /// </summary>
        /// <param name="hSrcProc">[in] Handle to a source process that owns the 
        /// hMsgQ message queue handle. </param>
        /// <param name="hMsgQ">[in] Handle to a message queue returned by the 
        /// CreateMsgQueue function.</param>
        /// <param name="lpOptions">[in] Pointer to an MSGQUEUEOPTIONS structure 
        /// that sets the properties of the message queue.</param>
        /// <returns>Returns a handle to a message queue, or returns NULL if the 
        /// queue could not be opened.</returns>
        [DllImport("coredll.dll", SetLastError=true)]
        public static extern IntPtr OpenMsgQueue(IntPtr hSrcProc, IntPtr hMsgQ,    
            MsgQueueOptions lpOptions);

VB (btw, this is a another example of this)
    Private Function DoWork2() As Boolean
        ' If I don't have a requester then I can't do anything with the input 
        ' so ignore it (and don't obtain the lock!)
        Dim req As ForMyPending = Nothing
        req = Me.FindFreeRequester
        If req Is Nothing Then
            Return False
        End If
        ' Get the next object from the queue
        Dim queObj As ForMyQueue = Nothing
        SyncLock mQue.SyncRoot
            If mQue.Count > 0 Then
                queObj = DirectCast(mQue.Dequeue(), ForMyQueue)
            End If
        End SyncLock
        ' Deal with the next object from the queue without holding the lock!
        If Not queObj Is Nothing Then
            If queObj.ReqArgs.MaxNumResponses <> 0 Then'chance for client to cancel
                req.Deleg = queObj.Deleg
                If req.Requester.Request(queObj.ReqArgs, queObj.State) = False Then
                    If Not req.Deleg Is Nothing Then
                        req.Deleg.Invoke(Me, ReplyArgs.Empty)'failed
                        req.Deleg = Nothing'otherwise it wil never be reused again!
                    End If
                End If
            End If
        End If
        Return True
    End Function

Blog link of the week 45

Sun, November 7, 2004, 02:42 PM under Links
Windows CE 5.0 - Get the Facts, by Mike Hall

While on the subject of CE, a bunch of QFEs for all versions were published this week; if you want to know when MSFT downloads are available just subscribe to their rss feed (e.g. then you'd know that this week a new .NET CF sample became available also)

Blog link of the week 44

Sun, October 31, 2004, 03:26 PM under Links
David Notario (x86 JIT developer) kicks off his blog with two great posts.

Blog link of the week 43

Sun, October 24, 2004, 03:26 PM under Links
Alex Feinman does non-rectangular windows on CE with CF. Cool!

Now that C# gets EnC, if you don't want to use it, there will be a menu item option to turn it off. Early Adopter leaks a Whidbey screenshot of the context menu :-))

[again] Blog link of the week 40

Sat, October 2, 2004, 02:43 AM under Links
As you know I usually do the BLOTW feature at the end of the week but I will not be online this Sunday so here it is...

This week I recommend All About Handles in Windows Forms; the title says it all.

If you can't stomach the full thing you must at least go through the Design Guidelines Digest

Blog link of the week 39

Sun, September 26, 2004, 11:56 AM under Links
On Monday Mike Harsh (of the WinForms team) told us why WinForms technology is not dead. Dan Appleman comments.

Two weeks ago I found a nice GC blog post. Now another one comes along by Maoni. Cool!

Blog link of the week 38

Sun, September 19, 2004, 11:47 AM under Links
How does your code determine if it's on the development machine? Really, WTF :-)

You thought the .NET Framework only has one little brother (the CF)? Just when things couldn't get any smaller, Jeffrey Richter talks about TinyCLR here.

[again] Blog link of the week 37

Sun, September 12, 2004, 11:27 AM under Links
This week Kenny Kerr started an Introduction to MSIL
Check out parts 1, 2, 3, 4
[if you are interested in MSIL, there is the good “Partition III CIL.doc” on your dev machine – on mine its under: C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Tool Developers Guide\docs]

If you are confused about the various different GCs (Server, Workstation, Concurrent) check out this entry by Chris Lyon as well as this one.

[again] Blog link of the week 36

Sun, September 5, 2004, 11:46 AM under Links
Luca blogs about x+=x++; (via post from Ericgu) and then Paul Vick follows it up with The joys of ++ and --

Help improve the WinCE debugging tools by replying to Sue Loh here

Blog link of the week 35

Sat, August 28, 2004, 05:00 PM under Links
Rico gives us Performance Tidbits.

The big news this week are the changes to the shipping/content plans for Longhorn. Chris Sells has all the links here.

Blog link of the week 34

Sun, August 22, 2004, 10:45 AM under Links
When it comes to threading we can think of locking in terms of a "linear acquire-do-release approach" or a "callback-based approach". I will not attempt to summarise any further this cool entry by Ian Griffiths.

If you find VB's language/syntax evolution weird/funny then laugh at this from the 3 Leaf guys.

Want to restrict a windows app to a single running instance? The traditional way is via a mutex and K. Scott Allen explains that very well here. As usual, its the gotchas that add the value...

Blog link of the week 33 (as in week ending today)

Sun, August 15, 2004, 05:15 AM under Links
David Cline continues his series on using cordbg on the CF with part VII (check out parts I, II, III, IV, V and VI).

Also, Brian Grunkemeyer on the BCL blog talks about Managed Debugging Assistants (MDA's) in Whidbey, in the context of finalizers.

Finally this week, Wes discusses differences in memory/speed between the Hashtable implementation of Whidbey and the current one.

Blog link of the week 32 (was mistakenly 33)

Sun, August 8, 2004, 06:20 AM under Links

This week Casey started blogging about new namespaces in CF 2.0, unique types on CF compared to desktop and breaking changes in CF 2.0 compared with 1.0. But then he summed it all up and much more in this article; go read it!

Also this week, Stan Lippman gives us his insights into the problem of a language retaining its character while having to fit in with the .NET Framework where "individual languages are diminished". Go read it especially if you are interested in templates vs generics in C++.