Skip to main content

SharePoint Saturday: Lab Rooms

imagelogo_wp75-h_webNext weekend (15th Oct) Cape Town is hosting the SharePoint Saturday conference and myself and fellow BBDer Rudi Grobler will be there and will be and we are running a very special event in conjunction with the main event: Lab Rooms!

There will be two special rooms available and in one Rudi will presenting and training on Windows Phone 7 and in the other I will be presenting and training on the Windows Azure Platform!

The cost for this? FREE! It is being sponsored by BBD & the SharePoint Saturday event Smile

Space in both rooms is VERY VERY limited, so you need to register NOW!

Windows Phone Registration: http://wp7camp.eventbrite.com/

Windows Azure Registration: http://windowsazurecpt.eventbrite.com/

Tech·Ed Africa 2011 Survival Guide

Last year I posted a Tech·Ed Africa related post titled: How to find the gems in the sessions?,  which included a slide deck of a presentation I did at BBD for the staff attending Tech·Ed to help them prepare for the event. It was a VERY popular slide deck and this year I am doing the same thing. Below is the 2011 survival guide for Tech·Ed Africa!

If you find it useful please let me know on @rmaclean Smile

 

if you looking for more info on the slides, then please download the slide deck and check the notes. There is also a Easter egg slide with interesting information for those who download the slide deck Winking smile

Tech·Ed Africa 2011 for Windows Phone 7

Update: Check out the info on the 1.1 version
Update: This application has been retired - it was for TechEd 2011 and used the website a lot, the moment the site changes the app will break. It's goal & use are done, so I am happy to retire it.

iconI am passionate about Microsoft Tech·Ed Africa, not because I’m a speaker there (and have been many times in the past) but because it is an awesome event. Now in this mobile world every awesome event needs an equally awesome mobile app. Since Microsoft isn’t releasing one for Tech·Ed, I decided to put my skills to use and build a Windows Phone 7 app for the event Smile

This app is a little different from my other apps as I didn’t have the data, and it is a constantly moving target so I am doing some very smart (and maybe a little sneaky) things to get the content from the www.teched.co.za website!

Version 1 allows you to browse sessions, speakers, get pro tips, see who the awesome MVP’s are, and get official news!

I am working on version 1.1 which include community tweets, proper speaker & session pages and will update with more info as it is released so keep an eye on those updates!

teched-1.0_9-26-2011_15.3.42.322teched-1.0_9-26-2011_15.3.46.594teched-1.0_9-26-2011_15.3.56.67teched-1.0_9-26-2011_15.4.8.664teched-1.0_9-26-2011_15.4.11.309

Tech·Ed Pro Tip: DevIdols

devidolsTech·Ed Africa 2010 introduced a new feature, DevIdols, which was one of the TOP highlights of Tech·Ed, and I am VERY PROUD to announce that it is back this year again!

DevIdols is a special competition only open to attendees (no speakers or staff) where you get to present on stage for a few minutes to an audience and panel of judges!

The prize? a chance to be a speaker at Tech·Ed 2012!

 

Now I know for most people the thought of public speaking is scary but this event is different, you have so little time most of it is just a blur and everyone there is in a very friendly mood (normally audience and speakers get a beer or two) so even if you tank no one takes it too seriously and we all have a good laugh.

 

If you are not a speaker, and I cannot convince you to speak, then let me convince you to come along and watch. You see a bunch of topics, presented in a variety of ways and I promise you that you will have a GREAT time. Keep an eye out on the DPE Blog for more details.

Windows Phone 7 Weekend - Feedback, slides etc...

wp7logo_webThis past Saturday myself & Rudi Grobler presented a full day workshop on Windows Phone 7 development and we were BLOWN away with the event!

We had a great turn out, easily over hundred people were there and they  were one of the most amazing audiences I’ve ever had the honour to present to – they were insanely engaged in the discussion and really brought up all the tough issues that we love to discuss Smile

In addition to that Microsoft, Nokia & BBD were awesome sponsors, but I have to single out Nokia who put up the most amazing prizes:

  • 3 x Microsoft Xbox 360 for the first people to get 100 downloads for their WP7 app!
  • 10 x Nokia Windows Phone 7 (when available) for the first people to get 1 000 downloads for their WP7 app!

JUST WOW!

As we stated on the day you need to email both Dave Russell ([email protected]) & Derrick Kotze (

([email protected]) now to register and let them know when you reach your 100 or 1 000!

My big disappointment was the lab room, which never really got any traction, but with awesome presentations all day can you blame it Winking smile

If you are looking for the slides, we have shared them using BitBucket so you can grab them at: https://bitbucket.org/rudigrobler/windows-phone-weekend-workshop-v2

Windows 8 Keyboard Shortcuts

image

Note: This relates to the Windows 8 Developer Preview, your mileage may vary and this may change.

Updated: 20 Sept 2011 – included four new shortcuts!

New in Windows 8

  • Windows Key (WIN): In Start page toggles between the last app and the start page. For example if you have a Weather open it will toggle between that and the start page. In desktop mode it jumps to the start page.
  • Win+Z: (NEW) Brings up the UI on the Metro Style application. So for the browser this brings up the address bar and tabs while on Copper it brings up the in game menu. Very useful keyboard shortcut to use. Some apps support this on right click too.
  • Win+PgDn or Win+PgUp: (NEW) Toggles the “main” screen when you have multi monitors. Like clicking the white monitor icon. Very useful to toggle the location of the Start page.
    • The white monitor icon: image
  • Win+C: Brings up the clock & start menu:
    •  image & image
  • Win+F: Brings up the start file search, this is very useful to find an app quickly:
    • image
  • Win+I: Brings up the settings pane (i.e. the bar on the right hand side for settings) for the current application:
    • image
  • Win+Q: Brings up contextual search app, for example if you in desktop mode you get the BUILD search where in the start page it brings up the app search
    • image image
  • Win+W: Brings up the settings search:
    • image

Other ones – most from Windows 7 that still work

  • Win+B : Focus on the system tray . If you are on the Start page then you jump to desktop mode.
    • image
  • Win+D or Win+M: Minimize to desktop – if you are on the start page then you will be taken to desktop mode.
  • Win+E: Launch Explorer - if you are on the start page then you will be taken to desktop mode.
  • Win+L: Locks your screen
  • Win+P: Brings up your multi-monitor options. This requires two or monitors + drivers that supports it:
    • image
  • Win+R: Run dialog:
    •  image
  • Win+T: Focus on the task bar. If you are on the start page then you jump to desktop mode
    •  image
  • Win+U: Brings up the Ease Of Access options
    • image
  • Win+X: Brings up the mobility center
    • image
  • Win+Y: Does the Aero Peek of your desktop
  • Win+Number: Launches the app in that task bar position, for example: image Win+1 will launch IE, Win+2 explorer, Win+3 chrome etc…
  • Win+Home: (NEW) Minimizes everything except the current app, which is very useful in multi monitors. Keep hitting it to cycle windows.
  • Win+Pause: Brings up the system dialog
    • image

Windows 8: How to get it working

(Update 1) Note: This relates to the Windows 8 Developer Preview, your mileage may vary and this may change.

This post is here to help you, and me, by sharing solutions that I am finding while trying to get Windows 8 running for a professional developer. I am using a HP 8510w laptop so some things maybe specific. This will be updated randomly and will be more like a live blog than a polished post.

(Update 1) As I update this I will prefix new content with (Update #) where # is the update number. The latest ones will be in bold.

Problems & Solutions

Graphics

I have a NVidia Quatro graphics card and to get it working correctly with Win8 (rather than the basic graphic driver) I needed to use the BETA driver from: Beta and Older Driver Versions – I used the Verde 285.27 Driver and that worked just fine, everything else was broken in one way or another.

(Update 5) This just worked with the Windows 8 Community Preview

.NET 3.5

imageA bunch of apps use .NET 3.5 or earlier so I needed that. To install it you must install it via the Turn Windows Features On/Off  option in the control panel (it’s under Programs). I had a BUNCH of issues (error 0x800F0906) getting it to work as it needs to download it which I think are proxy related. Once I downloaded via 3g it finally came down (took an hour Sad smile).

(UPDATE 2) Tried this via a transparent proxy and it worked too. Seems it is related to proxy servers that require basic authentication.

(UPDATE 4) Finally found a solution Smile Thanks to Zayd Kara for helping me with this:

Copy the SXS folder from the Windows 8 ISO to the C:\Temp folder.

Then run: dism.exe /online /enable-feature /featurename:NetFX3 /All /Source:c:\temp\sxs /LimitAccess

pic

Metro Style Apps Don’t Run

Details: http://social.msdn.microsoft.com/Forums/en-US/windowsdeveloperpreviewgeneral/thread/cd6df64d-737d-40e0-b999-03e654204448

(Update 1) Found the error message in the Event Log (Application and Services Logs –> Microsoft –> Windows –> WwaHost –> Admin)

Windows Web Application Host has encountered an unexpected exception. The error is number 0x8007000E.

image

(UPDATE 2) One of the best new features in Windows 8 is the ability to reset your machine without affecting your files. I did this and this solved all my issues image

(UPDATE 4) The cause of this is the DLink modem software for my 3G modem. It is screwing up com. No idea why, and no way around it. That’ll teach me to use a 3g modem that doesn’t work with the natively Windows 7/8 mobile internet support.

Windows Phone Developer Tools

The 7.0 RTM release will NOT install at all. The 7.1 RC will install so you may need to get that one.

YOU MUST install .NET 3.5 first (see above). Once installed I didn’t have any emulator options and trying to run it would cause: HRESULT: 0x89721800

I resolved this by deleting “%LOCALAPPDATA%\Microsoft\Phone Tools\CoreCon\10.0” (source for that App Hub Forums)

The emulator option appeared but now when I try to run it, it crashes Windows 8 with a BSOD related to vmm.sys – no solution yet.

(UPDATE 2) I have tried everything and nothing seems to help. Resorted to using a Windows 7 boot from VHD to be able to run these tools Sad smile

(Update 5) Solved: http://sadev.co.za/content/installing-windows-phone-developer-tools-windows-8

Microsoft Security Essentials

It would not install because of a compatibility issue Sad smile Downloaded it again from the website, which doesn’t tell you version numbers and the file size looked the same, but this newer one did work fine.

(UPDATE 2) Paul Adare pointed out on the forums that this is included now out of the box, so not needed Smile 

Switch to Live ID

Not working, error 0xD00000072 – suspecting proxy again.

Install of Visual Studio 2010 Offline Documentation

Completely failed, no idea why.

Capture

D-Link 3G Modem

It could not find the drivers, so I had to go to device manager, select the unknown devices –> Right click –>  Update Driver –> Browse my computer –> C:\Program Files (x86)\D-Link Connection Manager\drivers\64bit\WIN7

Then it found and installed the drivers for the 3G modem

(Update 1) Visual Studio 11 Express for Windows Developer Preview

Cannot build or run Metro Style apps.

Designer is failing with Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE))

And running them fails with Unable to activate Windows Tailored application

I suspect this is related to the Metro app issue above.

Capture5Capture6

(Update 1) Internet Explorer 10

Two interesting issues, one browsing our intranet which runs on HTTPS any content from HTTP fails to load and there is NO option to allow it.

Capture3

Second issue is in the IE desktop mode there is no tooltips Confused smile 

ie-desktop

However the solution is to run the Metro Style Internet Explorer, and it shows tooltips… and they are LOVELY:

ie-metro

(Update 3) SharePoint

I am referring to connecting to SharePoint server using IE 10, in short – it is horrid for anything other than basic browsing. I have installed Chrome to get around this.

(Update 3) Windows Server AppFabric

imageI needed Windows Server AppFabric installed so I could do development, however AppFabric does not install on Windows 8 Sad smile

To work around this I waited for the error to appear, then browsed to the extracted files (the moment you click ok on the error it cleans itself up) and used the expand command to extract the msu file which you can find in the packages folder.

That gets me a cab file which I extract again and that produces another 1 996 files. In there I used the file search to find the assemblies I needed to get the code to build, won’t run but at least I can code Smile

(Update 4) HP LaserJet 4250 Printer

I have this printer on the network but it was horrid trying to get Windows to see and work with it. The trick was to download the actual PCL6 drivers from the HP website. This has all the options to set it up and it works fine now Smile

(Update 5) This just worked with the Windows 8 Community Preview

Things that just worked

For balance here are application that have been installed with no issue.

  • Visual Studio 2010 + SP1
  • Firefox 6
  • Chrome (what ever the latest is)
  • Windows Live Writer
  • TweetDeck
  • Office 2010 + SP 1
  • (Update 1) VLC
  • (Update 3) Pull

There is also some more info in the comments!

Windows Phone 7 Weekend Workshop

I have mentioned an awesome event that is being run by Microsoft before, the Windows Phone 7 Weekend Workshop and I just want to highlight it again (it is about 70% full already so you need to hurry up).

It is a FREE full day event with TWO tracks available. There is a lecture/presentation style track where you learn about the phone and a developer room track where you can build your phone apps with expert guidance or do some hands on labs. 

I am most excited about the developer room, because if you want to get an up out to the market place THIS IS THE BEST PLACE TO BE. Expert help, focused time and who knows, maybe some prizes for those who get them up!

The event is being run in conjunction with a number of groups

  • Microsoft – Being just after //BUILD may be a GREAT time to get some extra insight or clarity.
  • Nokia – You know the phone guys, they are sponsoring this event and will have someone there to answer questions.
  • BBD & MVP – Both myself & Rudi Grobler are speaking and we both work at BBD & are both Microsoft MVP’s.

Details:

Do you work for Microsoft?

I was communicating over email with recently and they assumed that I worked for or at Microsoft, when questioned why they think that (this wasn’t a technical email or any other factors) they pointed out my email signature which has (highlighted in image) that I am a Microsoft MVP and a Microsoft Ranger.

image

If you aren’t in the Microsoft ecosystem I can see how you may assume that means I am an employee. So let’s clear this up:

I AM NOT A MICROSOFT EMPLOYEE. What I say cannot and should not be assumed to be related, endorsed or sanctioned by Microsoft.

So what are those two things in my email signature?

  • Microsoft MVP: This is an award from Microsoft for service to the community. You can read more about it here.
  • Microsoft Ranger: This is a team of Microsoft staff and external people that work together to produce content and tools to help people. I have worked with Microsoft and even at their offices, but not as an employee. You can read more about the Rangers here.

 

.NET 4, do you know the new features? - Top 10 most useful features

image

More in this series can be found in the introduction.

In the past two posts we have looked at the negative (top 10 least known, top 12 most useless) so lets switch to the positive side and see what is on the list for top 10 most useful features.

This is worked out by those who knew the feature and indicated it was useful using the same ratio as explained in the in top 12 most useless post.

CLR/BCL: IsNullOrWhiteSpace

Useful Ratio: 21 : 1

Introduction: We have had IsNullOrEmpty on string for a while but in .NET 4 we have the added IsNullOrWhiteSpace which checks for Nulls, empty strings or strings of just white space.

Thoughts: Easy to see why this is useful, it covers more scenarios than the old one, it is easily discoverable and it solves a difficult problem (I do not think many people understand all the white space charters).

More Info: http://www.sadev.co.za/content/net-4-baby-steps-part-ii-string

CLR/BCL: Stream.CopyTo

Useful Ratio: 19 : 1

Introduction: You have two streams, you want to copy from one stream to another one, which previously took 6 lines of code, a loop and 3 variables now uses 1 line of code and always works.

Thoughts: A common problem and a great solution and is easily discoverable because the method name is exactly what you would be looking for.

More Info: http://www.sadev.co.za/content/net-4-baby-steps-part-ix-stream

CLR/BCL: Enum.HasFlag

Useful Ratio: 17 : 1

Introduction: Enumerator has support for bitwise operations but previously has involved a fairly unintuitive calculation. I think that it was so unintuitive that some people have never even realised bitwise operations were supported. Now we have a single method which makes it VERY easy.

Thoughts: Making the hard easy and making it very discoverable – the factors of all these top useful functions!

More Info: http://www.sadev.co.za/content/net-4-baby-steps-part-iii-enum

CLR/BCL: Enum.TryParse

Useful Ratio: 7.6 : 1

Introduction: Going from a string to an enum has been possible in the past but it has never been a fluid experience. No support for generics and not easy to to handle bad data easily. TryParse solves those by brining generics into it and providing a response to tell you if it succeeds.

Thoughts: I think this is a BIG problem for many developers and this is a great and useful solution.

More Info: http://www.sadev.co.za/content/net-4-baby-steps-part-iii-enum

CLR/BCL: TimeSpan parsing improvements

Useful Ratio: 5.7 : 1

Introduction: Parsing strings into timespans is not easy, there is many ways to type in time ranges and it has been difficult for people to get right constantly… until .NET 4!

Thoughts: I am surprised at how highly this is up the list, it is useful but ranked this high surprises me as I do not think many people use TimeSpan’s in business systems.

Update: Mark Stacey on Twitter provided some good business use cases I didn't think of (Tweet 1, Tweet 2): "Absolutely. Business process stuff ~ loan applications, time since call was logged, tons of others. Especially where multiple applications work in process."

More Info: http://www.sadev.co.za/content/net-4-baby-steps-part-i-timespan

CLR/BCL: MemoryCache

Useful Ratio: 5 : 1

Introduction: MemoryCache is a per process in memory cache for your application which is VERY easy to use regardless of application type – prior to .NET 4 only ASP.NET had an in memory cache. There is also some low plumbing that makes it possible to have the cache stored to other locations, like files or SQL.

Thoughts: This is one of only two features in this list that also appeared in another list, in both cases the top 10 unknown features. This brings joy to me since it means that the issue here is discoverability because once you know it – you find big value in it Smile

More Info: http://www.sadev.co.za/content/net-baby-steps-part-vii-caching

CLR/BCL: string.Join

Useful Ratio: 4.7 : 1

Introduction: Join allows us to concatenate an array of strings together with a specific separator character in place.

Thoughts: This is very useful, as there is often times you need to loop over strings and build up another string. Think of in line SQL generation with a WHERE clause! Very useful stuff.

More Info: http://www.sadev.co.za/content/net-4-baby-steps-part-ii-string

Parallel: Parallel Extensions

Useful Ratio: 3.7 : 1

Introduction: Writing code that runs across cores has not been easy and the parallel extensions make it easy to understand how when thinking about normal for or foreach looping structures as it provides implementations of those looping structures which do run across multiple cores.

Thoughts: A fantastic edition to the framework and a much needed one to help solve the issue of having multi-core machines but the complexity of threading not being worth the effort. Why this is came in so high compared to the other two new additions in parallel (TPL was ranked 14th most useful & PLINQ 22nd) is odd but maybe because this is the easiest of the three to understand.

As a side not this is the only one of the most useful top 11 that I didn’t cover in my .NET 4 Baby Steps series which really makes me proud since it shows I was on target for that series.

More Info: http://www.sadev.co.za/content/pulled-apart-part-vii-plinq-not-easy-first-assumed

CLR/BCL: 64bit identification on Environment class

Useful Ratio: 3.5 : 1

Introduction: The environment class has been enhanced to have two new properties which help if the OS is 64bit and the process running is 64bit.

Thoughts: This also appeared on the top 10 unknown feature list, so really highlights that developers are either not thinking about 64bit at all but when they do, the tools they need are available.

More Info: http://www.sadev.co.za/content/net-4-baby-steps-part-xiii-tiny-steps

CLR/BCL: Lazy

Useful Ratio: 3.2 : 1

Introduction: Lazy allows you to wrap a class (target class) in another class (Lazy<T> class) and gain lazy constructor calling on the target class.

Thoughts: Very nice feature, but I am surprised it did this well on the useful list as I see this as a bandage to a bad design solution. Proper use of patterns and planning in code should prevent usage – but I’ve been known to be wrong so tell me in the comments why you see this as useful!

More Info: http://www.sadev.co.za/content/net-4-baby-steps-part-v-lazy