Feed on
Posts
Comments

Get the best HLSL Book available for XAML developers

A comprehensive guide to creating HLSL pixel shaders for WPF and Silverlight applications

Really, this will be a must have book for hardcore xaml people. ... this is the best shader content I’ve seen to date. 
   
-- David Kelley

Dude this is great stuff!  A for interesting, A for correctness)!
  
--Jeremiah Morrill

I really like the chapter now, Really good content. :) 
   
--Rene Schulte

Reading the early release of @waltritscher 's HLSL for XAML developers book. Very good so far.
   -- Kris Athi

Learn more about shaders, get the book

HLSL and Pixel Shaders for XAML Developers


Reflecting on Design #18

I have a soft heart for Isometric designs.  Mike Winkelmann, a graphic designer from Appleton, Wisconsin, animated this amazing Isometric video.  What is especially interesting to me is how he successfully moves the camera around the central focal point and yet never loses the isometric layout of the house in the center of the screen.

 

subprime from beeple on Vimeo.

 

If you’ve ever done any isometric work you know how the layout is based on parallel grid, that don’t converge.

MIT PDF describing the basics of Isometric drawing.

Enjoy.

Just Old Fashion typeface.  Free true type font at

http://moorstation.org/typoasis/designers/klein03/text/justold.htm 

<image

image

I was a Visual Studio Macro junkie for years. I was always looking for a way to automate repetitious coding tasks. On of my favorite sets of macros was the code formatting macros that I used to tidy up the code.

I was disappointed to learn macros were not part of Visual Studio 2012.  My disappointment faded once I saw how the extension model worked however. The new MEF based extensibility system simplified the process of creating and distributing Visual Studio plugins. Since it is so much easier to extend Visual studio the number of plugins (er, I mean extensions) skyrocketed.  Last time I looked there were over 5,300 extensions available.  I use CodeMaid for my formatting chores nowadays.

I decided to put my old formatting macros on GitHub.  I know there are still companies that are using older versions of Visual Studio.  Perhaps these macros will be helpful in some way.

Gists

Visual Studio 2010 Macros (Code Formatting)

Visual Studio 2010 Macros (Line Modifiers)

Sample code

 

Private Sub OpenWindows(ByVal projItems As Collections.Generic.List(Of ProjectItem), _
ByVal includeExtensions As Generic.List(Of String), _
ByVal excludeExtensions As Generic.List(Of String))
 
‘ Opens all windows by looking at file extensions
‘ includeExtensions: Which extensions should be opened (Example, .xaml, .vb)
‘ excludeExtensions: Which extension to exclude. (Example .designer, .cs)
‘ the exclude list is handy when you don’t want to open the VS auto generated files
 
‘ note: do not include wildcards (example *.txt)
 
For Each candidate As ProjectItem In projItems
 
  If candidate.IsOpen(ViewKind:=Constants.vsViewKindAny) Then
    Continue For
  End If
  If EndsWith(candidate.Name, excludeExtensions) Then
    Continue For
  End If
  If EndsWith(candidate.Name, includeExtensions) Then
    Dim editWindow As Window = candidate.Open(Constants.vsViewKindTextView)
    editWindow.Activate()
 
  End If
 
Next
End Sub

There is good news for the fans of Lumia Windows Phones. After a long wait the Denim update is rolling out from the carriers to the handset. Denim consists of an OS and firmware update for the Lumia devices.

Cortana, the excellent voice-driven personal assistant, gets a few welcome updates in this version, including the ability to activate her by saying “Hey Cortana”.  So when my Lumia Icon was updated today and finished rebooting I tried the “Hey Cortana” phrase a few times with no results.  After some help from Twitter, I discovered that the feature is off by default.  Why?  Because you have to train her to recognize your voice.   I guess that keeps other Windows phone owners (or malicious bystanders) from activating Cortana on your device.

 

Steps to success

Here are the steps to activate and train the service.

First, open the settings app and then open the Hey Cortana settings.

image

 

Then follow the steps shown in the following screenshots.

image

Cortana listens when you say “Hey Cortana”, even when your phone is asleep or locked.  You can train Cortana so this phrase only works for you.

 

wp_ss_20150212_0003

Find a quiet place. Hold the phone in front of you, in your hand.  Speak clearly in your normal voice.  Say “Hey Cortana” when prompted. Remember to say it the same way every time.

 

wp_ss_20150212_0004

 

wp_ss_20150212_0005

 

wp_ss_20150212_0006

 

Conclusion

That’s it.  It take about two minutes to configure Cortana and she’s ready to help.

You probably know about the “Add as Link” feature in Visual Studio.  When adding an existing file to a project, you can choose “Add as Link” in the drop down and the file stays in the original location instead of being copied to the new project folder.

image

When you add an existing file to a project, the default option is to copy the file to the folder where your current project resides. If you want to instead link to the file (rather than actually moving the file to that folder) you can do so by choosing Add as Link… –MSDN

Linking to another folder

But what if you want to link to the the entire contents of a folder and have all the files available in the new project?  You could add the files one at a time, but that is tedious. Instead you can add wildcards to the csproj/vbprog file and get all the files added automatically.

 

To get the correct XML in the csproj file I start by adding a link to a single file that is in the desired source directory.  Once that is done, I open up the csproj file and find the link to the file. 

Then change the XML as follows.

image

The first line (Compile) indicates the source directory. The wildcards work as you expect, *.* indicates that we want all the files.   Note that it is a relative path from your current project. 

The second line (Link) instructs MSBuild to add links to the files found in the source directory.    %(RecursiveDir ) means to walk any children directories when linking the files.  %(FileName) means to use the existing file name, and %(Extension) means to use the existing file extension. Here’s a link to the MSDN docs explaining the %  tokens.

 

Note:  Visual Studio does not automatically refresh the file list when a file is added, renamed or deleted from the linked folder while the project is open.  The project needs to be reopened for the changes to appear.

Windows phone 8.1 has little changes and enhancements that are not covered in the mainstream articles.   This series of posts examines the gems hidden everywhere in the new OS.


More posts in the “Windows Phone 8.1 What’s New” series

 

Now there is a quick way to change the case of a word or phrase is selected in the text editor.  This example is in the Windows Phone 8.1 mail client but it works in most places you edit text.

Select the word or phrase. Tap the “Shift” key.  Each time the shift is tapped the casing changes (Lowercase, Sentence case, All Caps).

 

image

Figure 01:  Lowercase

 

image

Figure 02: All Caps

Windows phone 8.1 has little changes and enhancements that are not covered in the mainstream articles.   This series of posts examines the gems hidden everywhere in the new OS.


More posts in the “Windows Phone 8.1 What’s New” series


Auto Updates

Nobody wants to deal with app updates.  Microsoft learned this fact by observing the behavior of millions of Windows and Windows Phone users.  So they’ve changed how app updates get installed on your PC and your Phone. 

On Windows Phone 8.1 an app is automatically updated as soon as the update appears on the Microsoft servers.  At least that’s the default behavior.  You can change how updates are applied by opening Settings, swiping to the Applications tab and choosing Store.

 

image

Figure 01: The Settings/Applications screen

 

If you like the tedium of approving updates every few days in the Store app you can disable the automatic updates   Also you can choose whether apps are updated via Wi-Fi only, which is good for ensuring you don’t inadvertently exceed your cell plan data cap.

 

AppUpdates_0003

Figure 02:  The Store Settings screen

Use Download History to see What’s Been Updated

It’s nice that auto update removes the need to habitually open the store app and install the updates.  But what if you want to know what apps have been updated.  Maybe you are tingling with anticipation to get the latest Angry Bird app update and you want to verify it’s been installed.

You’ll find the update history in the Store app. Open the menu on the bottom of store app, select downloads , then slide over to history section.

 

AppUpdates_0002

Figure 03:  The Store menu.

AppUpdates_0001

Figure 04:  The History screen.

If you have Windows Phone 8.1 and want to display it’s screen during a presentation try the Project my Screen feature.  You’ve probably heard of this feature, if not Cliff Simpkins has details on how to install and use the feature.

Essentially you install an application on your computer and enable the feature on the phone.  Run the desktop application on the computer. When you connect the phone to the computer via USB you see this prompt on the phone.

image

 

If you choose Yes, your phone screen is shown in the desktop app (and can be shown on a conference projector).

Did you know the connection is bidirectional?

I’ve been using this feature for a couple days but I had no idea that the connection went both ways.  I have a touch screen laptop.  I can touch the image projected on my laptop screen and remote control the phone.   Nice!

 

Shout out to Morten Nielsen for tweeting about this “feature”.

I purchased the inexpensive Motorola Moto G Android phone for $99 USD at the local Best Buy.  It’s a cheap way to get a test device for Android development.  The Verizon version is a no contract phone so you are not stuck with a two year contract.  If you want to use it as a phone you need to buy a monthly “pass” from Verizon ($45).  For my purposes I don’t want to pay for cell service, I plan on using it as a wi-fi phone only.  At first glance there doesn’t appear anyway to use the phone without signing up for at least one month service.  But there is a way to avoid the fee if you know the ninja swipe maneuver.

The activation screen

When you turn on the device you select your desired language, then the phone shows the activation screen. 

AndroidActivation01

Figure 01: Phone activation screen

 

The instruction tells you tap the “here” link, which dials the activation service. When you are connected to the service a recorded voice asks you to enter your Zip Code so that it can assign a phone number to your new device.  The voice then tells you about the $45 a month plan.  Press 1 to sign up for the plan, press 2 to hear more details.  Those are the only two choices offered.  So it appears that you have no choice but to sign up for the one month of service. But don’t despair, there is a way through the activation process.

Bypass Activation Screen

Here are the steps to skip the activation screen.

While on the activation screen , pull down from the top edge of the phone to show the notification screen.

image

Figure 02: Notification screen

 

Touch the recent apps button on the bottom right of the screen.

image

Figure 03:  Press the recent app list

 

The Activation screen will  appear as a small icon on screen, swipe the activation app to the left side of the screen.

AndroidActivation03

Figure 04: Swipe the activation screen to left

 

It’s just that simple, now you can continue with the setup process and have a wi-fi only phone.

The fine print

The activation screen reappears occasionally while using the phone.  I’ve seen it appear when restarting the phone.  It also might appear if you try to dial a phone number.

I can tolerate these small annoyances on a phone that is only used for testing.  What about you?

Another option

If you want to get a unlocked, no contract version of the Moto G, it’s available on Google Play for $200.

Windows phone 8.1 has little changes and enhancements that are not covered in the mainstream articles.   This series of posts examines the gems hidden everywhere in the new OS.



More posts in the “Windows Phone 8.1 What’s New” series


One of the features that I love about Windows Phone 8.0 is the ability to pin a contact to the start screen.  That makes it easy to see your friends status, send them a message or call their phone. The new 8.1 OS adds a small enhancement for quickly calling your favorite phone numbers.

Speed Dial

Version 8.1 adds a new Speed Dial section to the call history screen.  It shows a list of contacts, you simply touch the contact to dial the number.

 

speeddial01

Figure 01:  Speed dial screen

 

speeddial02

Figure 02: Dialing the contact

 

How is this different from calling via the pinned tile?  Touching the tile on the start screen takes you to the contact page, where you select phone number to call.  With the speed dial, once you have the history page open you can quickly call anyone on the list without looking at their contact information.

Adding a Speed Dial Entry

Touch the + button on the Speed Dial AppBar.  The contact list opens and you choose the contact to add. If they have more than one phone number you pick the number to add to the speed dial list.

SpeedDial03

Figure 03:  Choosing a speed dial number

 

speeddial04

Figure 04:  Speed Dial screen with new entry

Older Posts »