Welcome to MSDN Blogs Sign in | Join | Help

PDC Interview Scott Guthrie / Tim Huckaby

 

Check out our first interview with Scott Guthrie and Tim Huckaby!

image

Posted by BrunoTerkaly | 0 Comments

Windows 7 Code Samples

image

High DPI

http://brunoblogfiles.com/Windows7/GetDPI.zip

Libraries

http://brunoblogfiles.com/Windows7/LibraryManagerDemo.zip

Sensors - Adjusting font size based on ambient light

http://brunoblogfiles.com/Windows7/MsdnReader.zip

http://brunoblogfiles.com/Windows7/sensor.zip

TaskBar Concepts (thumbnails, jumplists, etc)

http://brunoblogfiles.com/Windows7/TaskbarConcepts_Solution.zip

TaskBar - Zoobar Example

http://brunoblogfiles.com/Windows7/ZoobarFiles.z01

http://brunoblogfiles.com/Windows7/ZoobarFiles.z02

http://brunoblogfiles.com/Windows7/ZoobarFiles.z03

http://brunoblogfiles.com/Windows7/ZoobarFiles.z04

http://brunoblogfiles.com/Windows7/ZoobarFiles.z05

http://brunoblogfiles.com/Windows7/ZoobarFiles.zip

Touch Programming

http://brunoblogfiles.com/Windows7/TouchSample.zip

UAC - Data Redirection

http://brunoblogfiles.com/Windows7/UacDataRedirection.zip

Trigger Start Services

http://brunoblogfiles.com/Windows7/UsbCopyService.zip

Version Checking

http://brunoblogfiles.com/Windows7/VersionCheckManaged.zip

http://brunoblogfiles.com/Windows7/VersionCheckNative.zip

 

Any questions? bterkaly@microsoft.com

Posted by BrunoTerkaly | 0 Comments

TaskBar Code

 
This blog entry is here for PDC2009 videos I am producing. When these videos are completed, they will be referenced here.
 
 
image

Code Snippet
  1. private void ShowOrHideOverlayIcon()
  2. {
  3.     //TODO: Task 1--Using Taskbar Overlay Icons, steps 1-4
  4.     if (ShowOverlay.IsChecked.Value)
  5.     {
  6.         Icon icon = iconsList.SelectedItem as Icon;
  7.         if (icon != null)
  8.             TaskbarManager.Instance.SetOverlayIcon(icon, "icon" + iconsList.SelectedIndex.ToString());
  9.     }
  10.     else
  11.     {
  12.         TaskbarManager.Instance.SetOverlayIcon(null, null);
  13.     }
  14. }

UpdateProgress

Code Snippet
  1. private void UpdateProgress()
  2. {
  3.     //TODO: Task 2--Using Taskbar Progress Bars, steps 1-5
  4.  
  5.     //if the checkbox is true
  6.     //   set the progress bar value
  7.     //endif
  8.  
  9.     if (ShowProgressBar.IsChecked.Value)
  10.     {
  11.         // Set the max value for progress bar
  12.         TaskbarManager.Instance.SetProgressValue((int)progressSlider.Value, 100);
  13.         // This will cause a progress bar to appear in the application’s taskbar button,
  14.         // providing an immediate progress indicator
  15.         TaskbarManager.Instance.SetProgressState((TaskbarProgressBarState)ProgressStateSelection.SelectedItem);
  16.     }
  17.     else
  18.     {
  19.         TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.NoProgress);
  20.     }
  21. }

ProgressStateSelection_SelectionChanged

Code Snippet
  1. private void ProgressStateSelection_SelectionChanged(object sender, SelectionChangedEventArgs e)
  2. {
  3.     // TODO: For Check Box
  4.     if ((TaskbarProgressBarState)ProgressStateSelection.SelectedItem == TaskbarProgressBarState.NoProgress)
  5.     {
  6.         ShowProgressBar.IsChecked = false;
  7.     }
  8.     else
  9.     {
  10.         ShowProgressBar.IsChecked = true;
  11.     }
  12.     UpdateProgress();
  13. }

ShowProgressBar_Click

Code Snippet
  1. private void ShowProgressBar_Click(object sender, RoutedEventArgs e)
  2. {
  3.  
  4.     //Logic:
  5.     // If progress bar changes value, update the taskbar icon
  6.     if (ShowProgressBar.IsChecked.Value)
  7.     {
  8.         ProgressStateSelection.SelectedItem = TaskbarProgressBarState.Normal;
  9.     }
  10.     else
  11.     {
  12.         ProgressStateSelection.SelectedItem = TaskbarProgressBarState.NoProgress;
  13.     }
  14.     UpdateProgress();
  15. }
Posted by BrunoTerkaly | 0 Comments

Rob Bagby Post

If you're a developer today, and you're not reading Rob Bagby’s blog, you are doing a disservice to your career.

Rob is a colleague of mine.  In fact, last week he co-presented with me on pattern based development with Silverlight.  I can tell you this - the user group audience that we addressed was highly engaged.  Just based on the topic alone, it was one of the larger meetings for the SF BayNet user group. Many people showed up.

Rob is all about the real world.  His examples and tutorials can be leveraged it in an enterprise environment.  Rob is laser focused on being practical.  He doesn't talk about "hello world" type of applications.  The stuff that Rob discusses are things that you can directly use today.

I have used many of his examples and some of my previous seminars.

Do yourself a favor and may grab a part of your everyday reading.

http://www.robbagby.com/silverlight/patterns-based-silverlight-development-part-iv-service-layer

 

image

Posted by BrunoTerkaly | 0 Comments

David Chappell

David’s slide deck is available here:

David Chappell on Cloud Computing

image

Windows Azure Platform Training Kit

image

 

image

Posted by BrunoTerkaly | 0 Comments

Watch the Windows 7 / Windows Server 2008 R2 Launch Virtually

Experience The New Efficiency Microsoft Launch Event Live from San Diego October 26th Virtually!
www.thenewefficiency.com/live

I, along with my teammates, will be delivering the Windows 7 / Windows Server 2008 R2 launch live from San Diego starting at 9am PDT October 26th. Now, you can view and download these 18 IT Professional and Developer focused sessions without ever leaving the house.  Focusing on Windows 7, Windows Server 2008 R2, and Exchange Server 2010, you can listen to Microsoft experts, download valuable resources and explore the live launch event "virtually".

Mark your calendars

 

image

Posted by BrunoTerkaly | 0 Comments

Architect Innovation Café Webcasts

Each month through June 2010, we’ll bring you a 90-minute Architect focused Webcast to educate on the latest trends/topics and how new technologies can align with your business needs.

image

An Architect’s perspective on Silverlight 3 – October 27, 2009

Event ID: 1032427862
Tim Heuer - Senior Program Manager, Silverlight, Microsoft

 

Deploying Windows 7 from an Infrastructure Architect’s Perspective – October 28, 2009

Event ID: 1032427863
Doug Klokow – Architect, Microsoft

 

REGISTER: http://www.microsoft.com/events

Posted by BrunoTerkaly | 0 Comments

Highlights & Events: Windows 7 – It Doesn’t Get Any Better

As I write this, I am thinking about my upcoming Windows 7.0 launch presentations. There is so much good to say, I don’t even know where to start. I’m going to be up on stage for almost 3 hours, limiting myself to just developer centric topics, and I need to start thinking about reducing the amount of content. In fact, I won’t even be able to talk about all these features in this editorial.

Background Services

Much of the public has been critical of the long startup time for Windows. However, if you look under the hood you will notice that much of this latency is caused by the starting of background services. Background services are there to accommodate the growing list of hardware and software manufacturers who have created web cams, IM clients, MP3 players, and photo editing applications, to name a few. Windows 7 does a great job at solving this problem by introducing Trigger-Start services, which are background services that are loaded only when they are needed, not necessarily every time your computer boots. And this dramatically reduces computer startup times.

Task Bars and Jump Lists

The Windows taskbar has undergone radical improvement by introducing new features such as jump lists, overlay icons, progress bars, and tabbed thumbnails. For example, you may wish to overlay an icon on your application’s taskbar icon to indicate to the user that your application is in some specific state or performing some specific work. More specifically, you may wish to put an icon of an hourglass on the taskbar icon if the application you are developing is performing a long running task. You can even animate the taskbar icon, much like you would animate the progress bar within your application.

Jump lists allow you to provide quicker access to your application’s features. For example, you can programmatically manage your own “most recently used” list right from within the taskbar icon of your application.

Built-in Problem Solving with the Windows Troubleshooting Platform (WTP)

If you are an application developer, you’ll often want to empower your end users to solve their own problems. For example, you can use the WTP to provide a wizard-like interface to your end users that would help them discover such things as missing registry entries, bad connection strings, and unavailable network resources. You are limited only by your imagination here – if you can write some basic script, you can solve many problems. Naturally, you would not want your end user to go into the registry and make modifications. Instead, they can click on your troubleshooting wizard to find the problem and fix it automatically, directly from within your application. The WTP provides an interface into which you can paste some script code that both identifies the problem and subsequently fixes it.

Windows 7 Training Kit for Developers

If you were to ask me what the quickest and most simple way for you to learn of all these great new features, I would direct you to one link. This link includes presentations, hands on labs, and demos to learn about all the great new features of Windows 7. A few hours spent here is time well spent. I strongly recommend you download it and walk through some of the samples. This training kit version one, so it is not perfect. But, it is the single best placed for you to get started.

Happy coding everybody and thanks for reading.

Posted by BrunoTerkaly | 0 Comments

Highlights & Events: PDC 2009 – November 17 - 19

I will be attending this year’s annual Professional Developer’s Conference November 17 – 19 down in Los Angeles, CA.  Each year, attendees come from around the world to learn about the future of Microsoft developer technology directly from the people who make it happen.  This is the place to be to get the scoop on Microsoft’s latest developer technologies.  It’s also a great way to network and meet other people in your field.

Hear big announcements from keynote speakers Ray Ozzie, Microsoft’s Chief Software Architect, and Bob Muglia, the President of Server and Tools. Attend workshops and sessions on a wide range of topics that focus on clients, services, servers, developers tools, developer frameworks, programming languages, and much more.  I’ll be there.  Shoot me an email, and maybe we can get together to chat at the event.  It was a great time last year, and I am definitely looking forward to this year’s PDC.

Register by October 13, and save $300. Register here.  Visit Channel 9 for last year’s PDC announcements, topics, and session videos.

Workshops will be held the day before PDC, November 16.  You can choose to attend the workshops alone or in combination with PDC. Workshops complement the PDC event experience by providing attendees with an in-depth review of select released technologies and developer topics. Get exclusive access to content not available to the general public or event-only attendees.

Posted by BrunoTerkaly | 0 Comments

Highlights & Events: Silverlight Solves a Lot of Problems

My Take On "Silverlight For the Enterprise"
I recently had a meeting with the enterprise architects of a large hospital. The main purpose of the meeting was to explore the potential of Silverlight in their environment, which is complex, diverse, and large-scale - you name it, they have it. To manage this kind of environment, you need multiple architects with varying backgrounds. You are going to need folks who know multiple operating systems: mainframe, Mac, PC. You will need all kinds of tools, languages, databases, user interfaces, Web services/servers, architectures, and so on. You will have custom apps from vendors in all of the areas.

Silverlight Fits Well in the Enterprise
The modern way to build apps in these environments is to expose data through Web services (REST or SOAP), and to use the client piece to handle only presentation. There should be minimal, preferably no, business logic at the Silverlight / Presentation tier.

At the same time, you want to have tooling and capability to automate and streamline writing or converting applications. Ideally, you want to segregate large teams to specialize, such as graphic designers, testers, database admins, GUI developers, Web service developers, and framework/tool developers.

You want to have control over performance of your application across a large distributed network. You know when things get slow. Assuming a reasonable Web service tier, the magic formula for slowness in Web-based apps is (1) Number of Web Objects (2) Chattiness of HTTP Protocol (3) Network Latency.

Silverlight Solves a Lot of Problems
Silverlight easily consumes REST- or SOAP-based data through ADO.NET Data Services. You get tons of flexibility in the way you manage security, the size of data sets, paging, and URIs to point to pieces of data in well-known formats, such as XML, JSON, and ATOM.

Enterprise Quality Code Tooling
Silverlight is extensible and allows architects to streamline GUI development. Silverlight's abstraction layer is XAML, which allows you to create visible UI elements in a declarative markup language. Business logic is completely abstracted with code-behind files. Existing controls can be extended, and partial classes allow you to define properties and methods of a class across multiple files in your projects and solutions. Partial classes are very popular and useful in situations where classes are generated by a code generator, because they allow a developer to put hand-coded properties and methods in a separate file that is not touched by a code generator.

$150 is a Steal to Learn Silverlight Hands-On
There is a great SoftSource course, Practical Silverlight 3, on Tuesday, October 27. I attended this course earlier this year and I highly recommend it. This is the real thing, dealing with "business apps," not just glitzy graphics. $150 is a deep discount for hands-on training in Silverlight. The course will be held at Microsoft, San Francisco, in the heart of the financial district. This amazing space is a shopping mecca of the city, where Powell (the end of the cable car line) and Market Street meet. Sign up here.

Cool People
I met Art Scott at an event where I spoke about Silverlight talking to the powerful Azure tables. Here is what I learned about him.

Art Scott is an accomplished Silicon Valley computer graphics industry veteran (hardware, software, and systems) turned artist. He is in the Who's Who of the graphics industry's founding fathers. In the 70's he was at SRI, the birthplace of the mouse. We were talking about Larrabee (the codename for a graphics chip that Intel is developing) and the implications of having potentially dozens of cores, so that you can render all your animations and videos in parallel in real time. Art was telling me that we are now at the tipping point, where he can finally do the things he's dreamed of doing all his life, such as artistic shapes overlaid with multiple streaming videos. F# enables a more direct correspondence between artistic vision and formal mathematical description, and being stateless, the possibility of distributing the building and rendering in parallel and concurrently.

Posted by BrunoTerkaly | 0 Comments

Highlights & Events: Create Interfaces that Customers Care About

Posted by BrunoTerkaly | 0 Comments

Highlights & Events: Silicon Valley Code Camp This Weekend!

Come join me this weekend at the 4th Annual Silicon Valley Code Camp.  It will be held Saturday and Sunday at Foothill College in Los Altos Hills. There are 147 sessions scheduled, with over 1,500 registered so far.  Register here.

The Code Camp consists of these points:

  • by and for the developer community
  • always free
  • community developed material
  • no fluff – only code
  • never occur during working hours

Sessions will range from informal “chalk talks” to presentations. There will be a mix of presenters, some experienced folks, for some it may be their first opportunity to speak in public. And we are expecting to see people from throughout the Northern California region and beyond.

I will be hosting 2 sessions:

Windows 7 for Developers
Saturday, 11:00 am – Room 4301

Windows 7 is almost here! With it are numerous improvements and new features to take advantage of in your applications. Watch and learn as we demonstrate how to utilize the new taskbar, multi-touch support, search, libraries, and more.

IE8 for Developers
Sunday, 9:15 am – Room 5501

IE8 makes your web better… faster, safer and easier. This is true for developers too. In this session, we will illustrate how developers can take advantage of some new technologies in IE8 such as accelerators to enhance a user’s web experience. We will also illustrate the built-in developer tools in IE8 and how to take advantage of them. These tools include a powerful CSS tool, script debugging and a script profiler.

I hope to see you there!

 

Map picture
Posted by BrunoTerkaly | 0 Comments

Highlights & Events: Looking for Work? Here’s What to Learn.

What would I be learning if I were a developer today looking for work? Not to pat myself on the back, but that is a great question. For starters, let's talk about the client side of the equation. To me, the most obvious skill to get is Silverlight. Given the trend toward browser-based computing, Silverlight offers a compelling story, and more importantly, a good employment outlook. The adoption of Silverlight is strong, yet the number of developers ready to deliver code is not quite there.

The Client
While we are talking about the client, HTML-based Web coders might enjoy the MVC Framework, which gives developers more control than traditional ASP.NET architectures.

Touch - the Obvious Future
Touch computing is here, with Windows 7 supporting multi-touch, providing support like rotating and zooming. Many of you who have done Windows Forms (WinForms) development can add powerful touch support, especially useful for kiosks. This is much easier to do than you expect. Just make a reference to an assembly and paste in some boilerplate code, and you are off and running. Please e-mail me if you think that ignoring the mouse and touching the screen is not the future. Yes, the mouse will still exist, but the writing is on the wall that touch is here to stay.

You can be sure Apple is thinking about this as well as the open-source community. I'm proud to announce that Microsoft is currently offering this innovation right now. Fine, the iPhone offers touch, but so do most phone offerings.

Promising Server-Side Technologies
On the server side there are some easy picks that everyone should know. For example, WCF is huge and offers the solution to many of the problems that developers need to solve. Why re-invent the wheel if you have threading or security challenges? And if you are doing transaction-oriented database programming, WCF offers a robust solution. WCF can shave months off debugging, testing, and maintenance - it does the grunt work for you. Other server-side technologies include ADO.NET Data Services, a derivative work from WCF that can expose your data "RESTfully" and make it easy for clients to get at data without relying on the SOAP protocol. Don't worry, SOAP is alive and Silverlight RIA Services has provided us with a "Silverlight-Enabled WCF Service," which simply means it uses binary data to speed up the flow of data between Web server and client.

More Server-Side
Of course it makes sense to learn about the ADO.NET Entity Framework, which dramatically simplifies the bridging of relational data to the objects in a typical .NET application.

So how do you learn all this great stuff?

Practical Silverlight 3
This event is very valuable and the price is deeply discounted. On October 27th, one of our partners is offering a one-day, deeply technical dive into Silverlight 3. The guys putting on this class are all about programming for the enterprise and offering you very useful skills in the marketplace. This class is not about spinning cubes or dancing bears. This is about writing production business applications. If you are looking for a job or preparing to interview, this one-day class can make all the difference. See more details and register.

Juval Lowy, Microsoft Regional Director and Software Legend - October WCF Master Class
October 5 - 9, San Jose, CA
I took Juval Lowy's Master Architect class. Juval's understanding of WCF is world renowned. He's worked directly with the product teams at Microsoft. Master WCF in five intense days with, covering WCF programming, design guidelines, pitfalls, his original techniques and best practices. Read the class outline and register.

Posted by BrunoTerkaly | 0 Comments

Highlights & Events: Visual Studio 2010 – More than Skin Deep

I have just spent the last few days playing with Visual Studio 2010 Beta 1. If you haven't done so, download and install it now. It's a pretty good deal being that it's free and that it lets you play with most, if not all, of the .NET Framework 4.0. There's even an instructional video at the download site to help you install.

I have blogged about some of the new features. I had to present some of these features to a customer this morning, so for the past few days I've been trying to dive as deep as I can. I've written numerous blog entries that chronicled my journey, but they are only scratching the surface about what is possible.

The one new feature that seems to resonate well with my audiences is the new concurrency story. I'm talking about parallel programming - taking advantage of multi-core architectures. Valuable developers know how to leverage the available power of modern CPUs to make their software more responsive and scalable. It's all about performance.

Multithreaded programming is notoriously difficult. Microsoft offers two compelling technologies to help developers leverage multi-core architectures. The first is PLINQ, which allows your LINQ queries to transparently take advantage of your CPU's cores. The customer on my call this morning tried adding that to the "AsParallel" construct, and some of his long queries ran in 10% of the time it took to run his ordinary LINQ queries.

Many of you have already been reading about the task-oriented approach Microsoft is taking in the context of threads (pun intended - if you don't know the pun, you don't know threads). The idea is that typical threaded programs are difficult to write, debug, and maintain. Furthermore, a higher level of abstraction is needed. That is what the task parallel library is about - freeing the developer from the low-level details of thread management, like thread creation and destruction.

My blog contains a lot of source code to help get you started playing with this technology (Concurrency Blog, VS 2010 Training Kit & Parallelism Blog). At my blog you can also find resources about learning WPF, Silverlight, Azure, and XAML - to name a few.

There is also an entire training kit available for download, called the "Visual Studio 2010 and .NET Framework 4 Training Kit - May Preview." It includes materials about WCF, F#, Parallel Extensions, Workflow, ASP.NET 4.0, Entity Framework, ADO.NET Data Services, and more.

A Unique WCF Learning Opportunity
October 5 - 9, San Jose CA
I took Juval's Master Architect class. Juval's understanding of WCF is world-renowned. He's worked directly with the product teams at Microsoft. Read the class outline and register.

Posted by BrunoTerkaly | 0 Comments
More Posts Next page »
 
Page view tracker