text:
I'm in process of enabling some cloud services for Surfy, the web browser app for Windows Phone. Part of this process has involved leveraging Azure Notification hubs. A notification hub allows you to send notifications to a host of different devices, including Windows Phone, Windows, and even Android and iOS devices. Also, notification hubs are rather flexible. They use a tag system, whereby a client app can send a list of strings along during channel registration that allows the server to selectively include or exclude the client when dispatching notifications. You can find out more about the tag system here.
One thing to be mindful of when implementing your notification subsystem around Azure Notification hubs is that tags can only contain alphanumeric and the following non-alphanumeric characters: '_', '@', '#', '.', ':', '-'. That's fine and easy to manage if you are working with a simple set of strings, but an extra encoding step is required if you wish to pass e.g. identifiers that contain illegal characters. My first inclination was to simply encode tags that may contain illegal characters using Base64 encoding. Base64, however, doesn't quite fit the bill. It uses '+', '-', and '='. So, here's a quick and simple approach that encodes to Base64 while removing those pesky illegal characters from the mix:
static string EncodeAsNotificationTag(string plainText)
byte[] plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
string base64Encoded = Convert.ToBase64String(plainTextBytes);
string result = base64Encoded.Replace('/', '_').Replace('+', '-').Replace('=', ':');
return result;
static string DecodeNotificationTag(string tag)
string base64Encoded = tag.Replace('_', '/').Replace('-', '+').Replace(':', '=');
byte[] base64EncodedBytes = Convert.FromBase64String(base64Encoded);
return System.Text.Encoding.UTF8.GetString(base64EncodedBytes, 0, base64EncodedBytes.Length);
Good luck with your Azure cloud enabled apps!
With the latest release of Surfy for Windows Phone 8 I've been getting more deeply acquainted with the intricacies of Windows Phone Voice Command localizability. In the process I have uncovered some issues that may snag an unsuspecting dev or two.
If you are not familiar with Voice Commands then this post is probably not for you. If you're still interested, there's a primer on Voice Commands on MSDN
The Windows Phone OS Voice Command system is rather particular when it comes to selecting a command set. If Windows Phone is unable to find a language code for your command set matching the speech language of the device, your app's voice commands are ignored. And the OS exhibits some unexpected behaviour when matching a command set with the phone's speech language. If you've tried implementing Voice Commands on Windows Phone for English speakers, you may be unaware that your voice commands are enabled for either US or UK English speakers, but not both!
In this post I'll quickly detail the problem and provide a work around at the end.
The xml:lang attribute of CommandSet elements in the voice command definition file doesn't behave as you might expect. The speech recognition system selects command sets corresponding to the speech language setting on the phone, but the VoiceCommandService.InstalledCommandSets API returns the command set corresponding to something else. (which, BTW is not the current thread culture. Perhaps it's the app's neutral language, but I haven't tested that. Yes, I got lazy.)
In my testing, if I used xml:lang="en" in the definition file, at runtime this is changed to the more specific en-US in the CommandSet object. This is essentially broken for phones with a speech language set to 'en-GB'
Initially I attempted to work around this by explicitly using two CommandSets (both in the same file): one with xml:lang="en-GB" and the other with xml:lang="en-US"
The speech language on my phone is set to en-GB. When I call VoiceCommandService.InstalledCommandSets, a single CommandSet is returned with the language en-US.
It's the wrong one.
The voice command system only recognizes phrases in the en-GB CommandSet, but it's impossible to update the phrase list of the CommandSet.
The work around is to load a different definition file that matches the language of the speech voice. You may end up duplicating much of the content, but at least you'll be satisfying users on both sides of the pond.
Reflector is a terrific tool, no doubt. If you've ever used its export code feature, however, you'll notice it has a tough time interpreting calls to property accessors. Code is intermingled with get_Foo() and set_Bah(…).
Well, you can quickly replace those method calls with the following set of regular expressions.
Starting from Visual Studio 2012, Visual Studio uses the .NET frameworks regular expression API. So, gone are the days of having to learn VS's old idiocentric regular expressions syntax.
To replace the set_X(Y) code use the following expression in Visual Studio's Find and Replace dialog (remember to enable regular expression in the dialog):
$1 = $2
To replace the get_X() code use the following expression in Visual Studio's Find and Replace dialog:
To replace the add_X(Y) event handler hookups in Visual Studio's Find and Replace dialog:
$1 += $2
Have a great day!
Today we at Outcoder are pleased to announce the release of our brand new app: Farlight! Farlight lets you paint onto a moving canvas while creating stunning translucent animated abstract art.
We've gone cross-platform and we've targeted all the major app platforms! Farlight is available for iPad, iPhone, iPod Touch, Android, Windows Phone 7 & 8, and for Windows 8 on the Windows Store.
We targeted multiple-platforms using the great tools from our friends at Xamarin. We also leveraged the OS Monogame framework, which allowed us to reuse 95% of our code. Thanks go out to the Monogame team, you guys are doing a terrific job.
We've had a lot of fun building this app over the summer. We hope you like it. Here's a video of the app running on an iPad 4 with a Retina display.
Download the app for your device:
Katka has done a short and sweet write-up of our new app, Intellicam, which was just released to the Windows Phone Marketplace.
There's a lot of buzz around Intellicam:
AAWP, Windows Phone News, WMPowerUser, Mobile & Apps, MaxiCep, WPXBOX, appbb, WPForum, xataka, WPMania, comunica, ...
The app comes in two flavors: a free version and a paid version. The free version leaves a small watermark on the image.
Recently I have been using the Xamarin products: Mono for iOS and Mono for Android, to port some of our Windows Phone apps to iOS and Android. I like the Xamarin products a lot. Being able to contain most of my development activities to the familiar environment of Visual Studio has made getting up to speed easier.
One key facet of the Xamarin products, in particular Mono for Android, is that they do not attempt to overly abstract the APIs of the underlying platform. When you are working with Mono for Android, the class hierarchy, in the most part, mirrors that of the Java Android SDK. This means that you don't miss out on learning how 'native' development is done, and that you aren't introducing an undue dependency on a third party API.
There isn't a built-in unified UI framework for Xamarin's mono products. You still have to define your views separately for each platform. Obviously this adds to development time, yet it makes sense. Each platform has a different look and feel, and users prefer apps that conform to the UI conventions of their particular mobile platform. There are open source projects out there that attempt to bridge the gap. If though, you wish to leverage the UI visual development tools provided by Xcode and Visual Studio, there is no getting away from providing a separate UI implementation for each platform. If you are new to iOS development like I am, then using Xcode's Interface Builder also allows you to explore and improve your understanding of the UI framework.
Aside from the absence of a unified UI framework, there is also a major difference in the localization model in Mono for Android. Mono for Android uses the same localization model as that of apps built in Java using the Android SDK. This creates an incompatibility with Windows Phone and Mono for iOS projects, which both normally use Resx files for localization.
This article looks at creating a T4 template to generate a Mono for Android localization files from Resx files. You see how to reuse the template with the import directive. You see how to generate a designer class with statically typed properties using T4. Finally the article demonstrates how to dynamically change the UI language at run-time.
Although Mono for Android's localizability model is markedly different to the Resx model, they do have similarities. Android's string localization model uses XML files, containing key value pairs that declare localized strings in your app. Unlike .NET, however, these files are placed in a Resources directory within your Mono for Android project and compilation to satellite assemblies does not occur.
In Android, you add support for additional languages by creating additional XML files; placing them in folders within the Resources directory that are suffixed with language and region codes. Android chooses the appropriate set of resources depending on the locale that the app is running under. This is much like the .NET hub and spoke localization model, where a default Resx file is complimented by other localized Resx files. If a string cannot be located in a specific language, fall back occurs to the default resource file.
In .NET, Resx files are accompanied by a generated designer class that allows you to reference localized strings using statically typed properties, which gives you compile time assurance that the resource names have been correctly specified in your code. Although Mono for Android also generates a designer class, it surfaces the resources as an integer identifier, which introduces an extra step to retrieving a localized resource. If you link files into your Mono for Android project that make use of the .NET designer class then your project will not compile. The designer class in the .NET project makes use of a ResourceManager object and retrieves localized resources in a manner that does not work in Android. Thus, in addition to needing a way to convert each Resx file to an Android localized string file, you need a way to generate a Mono for Android-friendly designer class.
Resx files are XML files comprised of, among other things, data elements, which specify the name of the resource and its localized value (see Listing 1).
Listing 1. Resx File (Excerpt)
<?xml version="1.0" encoding="utf-8"?>
<data name="Greeting" xml:space="preserve">
The downloadable sample code includes a T4 template named ResxToAndroidXml.txt (see Listing 2). The file contains a single method named Process that accepts a path to a Resx file and converts the Resx to an Android compatible localized resource file. It does this by loading the Resx file into an XDocument object. Each data node within the Resx is written as a string element in the resulting Android resource file.
Listing 2. ResxToAndroidXml.txt
<#@ output extension=".xml" #>
<#@ template language="C#" hostSpecific="true" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Globalization" #><#+
public void Process(string resxRelativePath)
WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\" ?>");
XDocument document;
document = XDocument.Load(resxRelativePath);
catch (FileNotFoundException)
WriteLine("<!-- File not found: " + resxRelativePath + " -->");
IEnumerable<XElement> dataElements = document.XPathSelectElements("//root/data");
foreach (XElement element in dataElements)
string elementName = element.Attribute("name").Value;
string elementValue;
XElement valueElement = element.Element("value");
if (valueElement != null)
elementValue = valueElement.Value;
string cleanedValue = elementValue.Replace("'", "\\'");
WriteLine(string.Format(" <string name=\"{0}\">{1}</string>", elementName, cleanedValue));
Android requires that localized files be placed in directories named according to the culture and region codes (see Figure 1). The default string resources are placed in a Values directory. Localized resources are placed in directories suffixed with the culture and optionally a region code.
Figure 1. The Sample Android Project Structure
To create a T4 template in your Mono for Android project, add a new text file to the project using the Add New Item dialog, and then rename the file, giving it a .tt file extension.
A String.tt template, which references the ResxToAndroidXml.txt include, is placed in each Values directory. Each specifies a different Resx file in the .NET project, as demonstrated in Listing 3.
Listing 3. Strings.tt
<#@ include file="..\..\..\..\ResxToAndroidXml.txt" #>
<#@ output extension=".xml" #>
<#@ template language="C#" hostSpecific="true" #>
+ "../../../../AndroidResxT4/Resources/AppResources.resx");
Resulting String.xml files must have their Build Action set to AndroidResource (see Listing 4). You can see that the name attribute of the data element in the Resx file maps to the name attribute of the string element in the Android resource, and that the value element in the Resx file maps to the content of the string element in the Android resource.
Listing 4. Strings.xml
<?xml version="1.0" encoding="utf-8" ?>
<string name="Greeting">Hello</string>
The generated Mono for Android localized string files can be consumed in Mono for Android layout files or in code. Recall, however, that the generated Resx designer class in the .NET project cannot be reused in your Android project. What you need is an independent designer class just for the Mono for Android project that contains the same properties as the .NET Resx designer class. For this we turn to T4 once again.
The ResxToAndroidAccessorClass.txt file in the downloadable sample is a T4 template with a single method named Process. Process accepts the path to your Resx file and the namespace you wish the resulting designer class to reside in (see Listing 5). The method attempts to load the Resx file into an XDocument object and then generates a property element for each data element in the Resx file. The class is placed into the specified namespace. This allows you to align the code with that of your .NET project.
Listing 5. ResxToAndroidAccessorClass.txt Process Method
<#@ output extension=".cs" #>
<#@ template language="C#" hostSpecific="true" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Globalization" #><#+
public void Process(string resxRelativePath, string namespaceName)
WriteLine("using Android.App;");
WriteLine("namespace " + namespaceName);
WriteLine(" public class AppResources {");
//throw new Exception(Directory.GetCurrentDirectory());
XDocument document;
document = XDocument.Load(resxRelativePath);
catch (FileNotFoundException)
WriteLine("<!-- File not found: " + resxRelativePath + " -->");
IEnumerable<XElement> dataElements = document.XPathSelectElements("//root/data");
foreach (XElement element in dataElements)
string elementName = element.Attribute("name").Value;
string elementValue;
XElement valueElement = element.Element("value");
if (valueElement != null)
elementValue = valueElement.Value;
string cleanedValue = elementValue.Replace("'", "\\'");
WriteLine(string.Format("public static string {0} {{ get {{ return Application.Context.GetString(Resource.String.{0}); }}}}", elementName));
To leverage the ResxToAndroidAccessorClass.txt file, create a T4 file named AppResources.tt in your Mono for Android project. Use the include directive to import the template and call the Process method with the path of the Resx file and the desired namespace (see Listing 6).
Listing 6. AppResources.tt
<#@ include file="..\..\ResxToAndroidAccessorClass.txt" #>
<#@ output extension=".cs" #>
<#@ template language="C#" hostSpecific="true" #>
+ "../../AndroidResxT4/Resources/AppResources.resx", "AndroidResxT4");
The template produces a class with properties for all of the localized string in your default resource file (see Listing 7)
Listing 7. AppResources.cs in Mono for Android Project
using Android.App;
namespace AndroidResxT4
public class AppResources {
public static string Greeting { get { return Application.Context.GetString(Resource.String.Greeting); }}
The AppResources class in your Mono for Android project should mirror your designer class in your .NET project, allowing you to seamlessly link to classes in your .NET project without breaking compilation.
In addition to converting Resx to Android resources and generating a resource designer class, the downloadable sample code demonstrates how to change the UI language of your Mono for Android app at runtime.
The MainActivity class contains a SetLocale method that creates a new Locale object and updated the app's configuration (see Listing 8). The AttachView and DetachView methods subscribe and unsubscribe to the button's Click event.
Listing 8. SetLocale Method
void SetLocale(string languageCode)
Resources resources = Resources;
Configuration configuration = resources.Configuration;
configuration.Locale = new Java.Util.Locale(languageCode);
DisplayMetrics displayMetrics = resources.DisplayMetrics;
resources.UpdateConfiguration(configuration, displayMetrics);
Updating the configuration with a French Locale, specified using the 'fr' language code, causes the text of a TextView to change from Hello to Bonjour, as shown in Figure 2.
Figure 2. Tapping the Change Locale Button Switches the Language
The AppResources class can be used as it would in a .NET app. Notice that tapping the button writes the localized Greeting message to the console (see Listing 9).
Listing 9. Button.Click Handler
void HandleButtonClick(object sender, EventArgs e)
SetLocale(!localeToggled ? "fr" : "en");
localeToggled = !localeToggled;
This article looked at creating a T4 template to generate a Mono for Android localization file. You saw how to reuse T4 templates using the import directive. You saw how to generate a designer class with statically typed properties using T4. Finally the article demonstrated how to dynamically change the UI language of an Android app at run-time.
If you apply the principles of SoC and avoid mixing platform specific API calls in your app logic, you can maximize code reuse across platforms. I have almost completed porting the entirety of the Calcium SDK base library to Mono for Android and Mono for iOS. Calcium includes numerous features that make building multifaceted maintainable apps easier, including an IoC and DI system and a user preference API. Anyway, more on that later.
Sample: AndroidResxT4_01.zip (52.71 kb)
The Windows Phone 8.0 SDK is out, and while most sink their teeth into its cavalcade of new features, a few may encounter a small road bump when moving to the RTW version; as I did.
After moving from a pre-release version of the Windows Phone 8 SDK to the RTW, I found that I was unable to launch the Windows Phone emulator because of a networking issue. The emulator would pop up the following error message at the beginning of a debugging session:
The Windows Phone Emulator wasn't able to connect to the Windows Phone operating system: The emulator couldn't determine the host IP address, which is used to communicate with the guest virtual machine. Some functionality may be disabled.
This turned out to be a hair pulling exercise. The cause was related to the Hyper-v virtual switch configuration.
I resolved the issue by performing the following steps:
If you encounter the same issue, here's hoping this post sorts you out.
This week there was a short discussion on the WPF Disciples about Knockout observables and the implications of field level and owner level data bindings. The discussion can be found in the guts of this post.
I wanted to explore the topic further, and I decided to take a stab at implementing something analogous to Knockout Observables and Computed Observables in WPF.
In this article we look at implementing field level change notification in WPF, and how a Lambda Expression can be used to specify a composite property that raises change notifications automatically whenever an associated property changes.
To get started, let's first take a look at a class that illustrates how composite binding are ordinarily done in a viewmodel designed for XAML (see Listing 1). It's a simple viewmodel that contains three properties. Two properties have backing fields, while the third (FullName) is a composite property; combining the FirstName and LastName properties. When either of the non-composite properties change, change notification has to occur for the composite as well as non-composite properties.
The downside of this approach is that as the complexity of the viewmodel increases and dependencies creep in, you end up having to raise PropertyChanged events for multiple dependent properties. While this example may seem dead simple (it is), over time potential faults may creep in because of this kind of interdependence.
Listing 1. MainWindowViewModelTraditional Class
class MainWindowViewModelTraditional : INotifyPropertyChanged
string firstName;
public string FirstName
return firstName;
if (firstName != value)
firstName = value;
string lastName;
public string LastName
return lastName;
if (lastName != value)
lastName = value;
public string FullName
return firstName + " " + lastName;
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
handler(this, new PropertyChangedEventArgs(propertyName));
I've been using Knockout quite a bit lately and I like the flexibility and versatility that the binding expression interpreter offers. Knockout allows you to combine observable values in a way that allows you to forego the kind of artificial dependence seen earlier. For example, on a web page you can produce the same string as the FullName property seen in the last example using something like the following:
<span data-bind="text: firstName() + ' ' + lastName()"></span>
You can also achieve the same result using computed values in your viewmodel if you so desire.
In this article I've set out to see whether I could come up with something that emulates Knockout's field level notifications in observables and computed observables. I'm quite happy with the result and I believe it has potential. Stay tuned, because at the end of this article you will see how to create a computed property in C# like the following, which raises change notifications automatically:
readonly ComputedValue<string> fullName;
public ComputedValue<string> FullName
return fullName;
public MainWindowViewModel()
fullName = new ComputedValue<string>(() => FirstName.Value + " " + ToUpper(LastName.Value));
In WPF, when using the INotifyPropertyChanged approach to data binding, change notification occurs at the owner object level. The owner is the source property in a data binding, which is ordinarily the DataContext of your control. If you're using the MVVM pattern this is likely your viewmodel or a nested property. It is the owner object of the property that has the responsibility of raising a PropertyChanged event whenever the property changes.
Conversely, field level notification is where the source of the notification is the field itself (or in XAML, a property). The main advantage of field level notification is that your viewmodel does not need to contain any plumbing code for change notification. Field level notification isn't achievable in XAML without defining an event for each property in your viewmodel. (Thanks to Bill Kemph for reminding me of field level notifications using dedicated events). This approach is usually avoided because it adds an undue amount of plumbing code to your viewmodel. A wrapper layer is presented in this article, which takes care of raising property changed events for you.
Two classes exist in the downloadable code that emulate the behaviour of Knockout's observable and computed observable types: ObservableValue and ComputedValue. Both implement INotifyPropertyChanged and automatically raise the PropertyChanged event when an associated value has changed.
The ObservableValue implementation is rudimentary. Things get more interesting when we look at the ComputedValue implementation that allows you to specify a LINQ expression, which is parsed by the ComputedValue object to locate objects that implement INotifyPropertyChanged. When any such object changes, the computed value is recalculated. This allows you to create arbitrary composite properties in your viewmodel that respond to change notifications of any other associated object.
An ObservableValue property is defined much like a property using the traditional approach to INPC. The difference is that an ObservableValue instance wraps the value, as shown in the following excerpt:
class MainWindowViewModel
readonly ObservableValue<string> firstName = new ObservableValue<string>("Alan");
public ObservableValue<string> FirstName
return firstName;
To set the value, the ObservableValue.Value property is used. When the setter is used the PropertyChanged event is raised (see Listing 2).
Listing 2. ObservableValue Class
public class ObservableValue<T> : INotifyPropertyChanged
T valueField;
public T Value
return valueField;
if (!EqualityComparer<T>.Default.Equals(valueField, value))
valueField = value;
public ObservableValue(T value = default(T))
Value = value;
public event PropertyChangedEventHandler PropertyChanged;
void OnPropertyChanged(string propertyName)
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
handler(this, new PropertyChangedEventArgs(propertyName));
Unlike ObservableValue, ComputedValue accepts a Lambda Expression that, when compiled, returns a value for the property. Listing 3 shows how the ComputedValue's constructor uses a specified Lamdba Expression.
Listing 3. ComputedValue Class (Excerpt)
public class ComputedValue<T> : INotifyPropertyChanged, IDisposable
readonly Func<T> valueFunc;
public T Value
T result = valueFunc();
return result;
public ComputedValue(Expression<Func<T>> expression)
if (expression == null)
throw new ArgumentNullException("expression");
Expression body = expression.Body;
valueFunc = expression.Compile();
When an instance of ComputedValue is created, the specified expression is parsed recursively. Nested MemberExpressions that refer to objects implementing INotifyPropertyChanged are identified (see Listing 4).
Listing 4. ProcessDependents (Excerpt)
void ProcessDependents(Expression expression)
switch (expression.NodeType)
case ExpressionType.MemberAccess:
case ExpressionType.Call:
When a member expression is discovered, its owner is resolved using the ComputedValue.GetValue method. The class subscribes to the PropertyChanged event of the owner object. A PropertyChangedEventHandler is created and placed in a collection along with a WeakReference to the owner object (see Listing 5). When a change notification is received, the ComputedValue object raises its own PropertyChanged event.
Listing 5. ProcessMemberAccessExpression Method
void ProcessMemberAccessExpression(MemberExpression expression)
Expression ownerExpression = expression.Expression;
Type ownerExpressionType = ownerExpression.Type;
if (typeof(INotifyPropertyChanged).IsAssignableFrom(ownerExpressionType))
string memberName = expression.Member.Name;
PropertyChangedEventHandler handler = delegate(object sender, PropertyChangedEventArgs args)
if (args.PropertyName == memberName)
var owner = (INotifyPropertyChanged)GetValue(ownerExpression);
owner.PropertyChanged += handler;
handlers[handler] = new WeakReference(owner);
catch (Exception ex)
Console.WriteLine("ComputedValue failed to resolve INotifyPropertyChanged value for property {0} {1}",
expression.Member, ex);
Retrieving the property value from the Lambda expression is done via expression compilation (see Listing 6). However, the expression is not able to be compiled directly as it is just a fragment. A Lambda expression is constructed by converting the specified expression into a UnaryExpression. When compiled, the resulting func is called and the result returned. In most cases the result is your viewmodel. Though, it does not have to be.
Listing 6. GetValue Method
object GetValue(Expression expression)
UnaryExpression unaryExpression = Expression.Convert(expression, typeof(object));
Expression<Func<object>> getterLambda = Expression.Lambda<Func<object>>(unaryExpression);
Func<object> getter = getterLambda.Compile();
return getter();
In .NET the target of an event may be ineligible for garbage collection while the event source remains alive. Therefore if we do not unsubscribe from owner objects' PropertyChanged events, a memory leak may ensue. The ComputedValue class implements IDisposable and when disposed the ComputedValue instance unsubscribes from all change events.
The ComputedValue IDisposable implementation loops over the items in the handlers dictionary (see Listing 7). If KeyValuePair.Value property holds a WeakReference to the owner of the property, where the owner has not been disposed, the PropertyChanged event is unsubscribed using the handler stored as the KeyValuePair.Key property.
Listing 7. ComputedValue IDisposable Implementation
bool disposed;
protected virtual void Dispose(bool disposing)
if (!disposed)
if (disposing)
foreach (KeyValuePair<PropertyChangedEventHandler, WeakReference> pair in handlers)
INotifyPropertyChanged target = pair.Value.Target as INotifyPropertyChanged;
if (target != null)
target.PropertyChanged -= pair.Key;
disposed = true;
public void Dispose()
The downloadable code contains a simple single window application that displays two TextBox controls. Each TextBox is bound to a viewmodel property of type ObservableValue. There is a TextBlock that is bound to a ComputedValue property, which combines the result of the two ObservableValue properties (see Figure 1). When the text in either of the TextBoxes is changed, the TextBlock containing the full name is updated.
Note how the LastName property is converted to upper case. This is performed despite the fact that the call is embedded within the Lambda expression of the ComputedValue.
Figure 1.Sample App.
Just to prove no funny business is taking place in the Window XAML, Listing 8 shows how the text properties are bound to the Value property of the ObservableValue properties and the ComputedValue property.
Listing 8. MainWindows.xaml (Excerpt)
<StackPanel Orientation="Horizontal" Margin="40">
<Label>First Name</Label>
<TextBox Text="{Binding Path=FirstName.Value, UpdateSourceTrigger=PropertyChanged}" />
<Label>Last Name</Label>
<TextBox Text="{Binding Path=LastName.Value, UpdateSourceTrigger=PropertyChanged}" />
<StackPanel Margin="20,0">
<Label>Full Name</Label>
<TextBlock Text="{Binding Path=FullName.Value}"
Style="{StaticResource FullNameStyle}" />
<TextBlock>fullName = new ComputedValue<string>(<LineBreak />
() => FirstName.Value + " " + ToUpper(LastName.Value));</TextBlock>
The MainWindowViewModel code is shown in its entirety in Listing 9. The FirstName and LastName properties are combined in the ComputedValue, along with an arbitrary call to a ToUpper method.
Listing 9. MainWindowViewModel Class
class MainWindowViewModel
readonly ObservableValue<string> firstName = new ObservableValue<string>("Alan");
public ObservableValue<string> FirstName
return firstName;
readonly ObservableValue<string> lastName = new ObservableValue<string>("Turing");
public ObservableValue<string> LastName
return lastName;
readonly ComputedValue<string> fullName;
public ComputedValue<string> FullName
return fullName;
public MainWindowViewModel()
fullName = new ComputedValue<string>(() => FirstName.Value + " " + ToUpper(LastName.Value));
string ToUpper(string s)
return s.ToUpper();
Knockout JS has some elegant features that leverage the versatility of JavaScript and help to bridge the gap between XAML and HTML. In this article we looked at implementing field level change notification in WPF, and how a Lambda Expression can be used to specify a composite property that raises change notifications automatically whenever an associated property changes.
Vaughan.ObservablePrototype_2012_07_15.rar (250.68 kb)
Recently I've been working on a HTML5 single page application (SPA). I've been relying Knockout with Script#. Nearly all of my application logic is in C#, which has allowed me to reuse a lot of my previously thought out approaches to validation and so forth. I complement that with smatterings of JS in the form of binding handlers and so forth. I'm really pleased with this approach so far.
I've been finding myself creating Knockout binding handlers for a lot of one off cases. To avoid this I've taken an approach that allows you to place your init and update logic in the binding itself. I don't recommend using this everywhere, but under some circumstances it has proved useful, and it may prove useful for you too.
It works by creating a Knockout binding handler in the usual manner; placing it in a script file available to your page. The binding handler simply calls through to the bound function, allowing you to place your logic right in the data binding itself. The following shows the binding handler:
ko.bindingHandlers.inline = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel)
var boundFunction = ko.utils.unwrapObservable(valueAccessor().init);
if (boundFunction)
boundFunction(element, valueAccessor, allBindingsAccessor, viewModel);
update: function(element, valueAccessor, allValuesAccessor, viewModel) {
var boundFunction = ko.utils.unwrapObservable(valueAccessor().update);
if (boundFunction)
boundFunction(element, valueAccessor, allValuesAccessor, viewModel);
The binding handler simply calls through to your init and update functions defined within your value accessor binding.
I have a page that is bound to a viewmodel that takes care of displaying a jQuery dialog. The dialog content itself is resolved using an external template. All of this is wired up in the data binding, as shown in the following excerpt:
<div id="CustomDialogContent"
data-bind="inline: { init: function (element) { $(element).dialog({ autoOpen: false }); },
update: function (element) { $(element).dialog(DialogOpen() ? 'open' : 'close'); }}">
<div data-bind="template: { name: function() { return DialogTemplate(); }, data: DialogDataContext }" class="ocDialogBody"></div>
So, there you have it, a handy little tip for reducing the number of one off binding handlers in your JS app.
Recently, Eric Schoenholzer began an interesting discussion on the Windows Phone Experts group on linkedin centred around techniques for effectively monetizing your apps on the Windows Phone marketplace. In particular, he raised the interesting question of whether it is better to publish a single app with a trial, or whether it is more effective to go for two apps: a free version with ads and a paid version without ads. These days I favour the later in most cases (I explain why in linkedin discussion). But the downside is that because of the reliance on the WMAppManifest file in your phone app, it often means you have to maintain two versions of your app. Rather than do that, my approach has been to rely on a T4 template to generate the WMAppManifest file, which takes care of changing various fields such as the title of the app depending on the value of a pre-processor directive. This allows you to maintain a single version of your app, and a single version of your WMAppManifest file. It's an approach that I have used in several published apps, and it has made maintaining them that little bit easier.
To replace the static WMAppManifest file with a dynamic T4 generated file, perform the following steps:
<#@ template debug="false" hostspecific="true" language="C#" #>
<#@ output extension=".xml" #>
Figure 1: Solution Explorer with T4 template
Using a T4 template to generate the WMAppManifest file is, in itself, not difficult. The fun part is determining your project configuration from the T4 template. This can be done by reading a property value, which is set according to a preprocessor directive, from the template. The system I use is convention based. It relies on a class called DeploymentConfiguration, which is expected to contain a Boolean constant named PaidConfiguration (see Listing 1). A preprocessor directive determines the value of the PaidConfiguration constant. The DeploymentConfiguration class contains several other related properties that can be used to determine the visibility and behaviour of visual elements based on whether the app has been purchased or not.
Listing 1: DeploymentConfiguration Class
//#define PAID
class DeploymentConfiguration
/// <summary>
/// The app identifier for the non-free version of the app.
/// This is used to provide a link to buy the paid app from the free app.
/// </summary>
public static string PaidAppId
return "11111111-1111-1111-1111-11111111";
public static string AdAppId
#if DEBUG
return "test_client";
return "11111111-1111-1111-1111-11111111";
public static string AdUnitId
return "11111";
/* This should be false when publishing a paid version; true otherwise. */
public static bool ShowAds
return !PaidConfiguration;
public static bool Paid
return PaidConfiguration;
public const bool PaidConfiguration =
#if PAID
As you see in a moment, the WMAppManifest.tt relies on a include file named ProjectVariables.ttinclude (see Listing 2). ProjectVariables.ttinclude relies on the DTE, which is the top level Visual Studio automation object. The DTE allows you to traverse the structure of your solution. In this case, it is used to retrieve the value of the PaidConfiguration constant in the DeploymentConfiguration.cs file.
Listing 2: ProjectVariables.ttinclude
<#@ assembly name="System.Core" #>
<#@ assembly name="EnvDTE" #>
<#@ import namespace="EnvDTE" #>
<#@ import namespace="System" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ import namespace="System.Diagnostics" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text.RegularExpressions" #>
<#@ import namespace="System.Globalization" #>
/* Retrieve the DTE. */
IServiceProvider hostServiceProvider = (IServiceProvider)Host;
EnvDTE.DTE dte = (EnvDTE.DTE)hostServiceProvider.GetService(typeof(EnvDTE.DTE));
/* Retrieve the project in which this template resides. */
EnvDTE.ProjectItem containingProjectItem = dte.Solution.FindProjectItem(Host.TemplateFile);
Project project = containingProjectItem.ContainingProject;
var projectName = project.FullName;
ProjectItem deploymentConfiguration = GetProjectItem(project, "DeploymentConfiguration.cs");
if (deploymentConfiguration == null)
throw new Exception("Unable to resolve DeploymentConfiguration.cs file");
var codeModel = deploymentConfiguration.FileCodeModel;
bool paid = false;
foreach (CodeElement codeElement in codeModel.CodeElements)
if (codeElement.Name == "DeploymentConfiguration")
CodeClass codeClass = (CodeClass)codeElement;
foreach (CodeElement memberElement in codeClass.Members)
if (memberElement.Name == "PaidConfiguration")
CodeVariable variable = (CodeVariable)memberElement;
paid = bool.Parse(variable.InitExpression.ToString());
<#+ EnvDTE.ProjectItem GetProjectItem(Project project, string fileName)
foreach (ProjectItem projectItem in project.ProjectItems)
if (projectItem.Name.EndsWith(fileName))
return projectItem;
var item = GetProjectItem(projectItem, fileName);
if (item != null)
return item;
return null;
EnvDTE.ProjectItem GetProjectItem(EnvDTE.ProjectItem projectItem, string fileName)
if (projectItem.ProjectItems != null
&& projectItem.ProjectItems.Count > 0)
foreach (ProjectItem item in projectItem.ProjectItems)
if (item.Name.EndsWith(fileName))
return item;
return null;
When the ProjectVariables.ttinclude is defined as an include in the WMAppManifest.tt file, the value of the paid variable can be used to determine the title of the app and any other configurable aspects of the app (see Listing 3).
A title variable is assigned according to the value of the paid variable (defined in the ProjectVariables.ttinclude). The title variable is then used within the App element.
You'll notice that the include file directive immediately precedes the string title variable definition, and that there is no space between them. This isn't merely a case of sloppy formatting but rather the positioning of line breaks within the T4 template is important. Adding a line break produces an invalid WMAppManifest, because the xml definition must be placed on the first line of the file.
Listing 3:WMAppManifest.tt T4 Template
<#@ template debug="false" hostspecific="true" language="C#" #>
<#@ output extension=".xml" #>
<#@ assembly name="System.Core" #>
<#@ assembly name="EnvDTE" #>
<#@ import namespace="EnvDTE" #>
<#@ import namespace="System" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ import namespace="System.Diagnostics" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text.RegularExpressions" #>
<#@ import namespace="System.Globalization" #>
<#@ include file="ProjectVariables.ttinclude" #><#
string title = paid ? "My App Pro" : "My App with Ads";
<?xml version="1.0" encoding="utf-8"?>
<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2009/deployment" AppPlatformVersion="7.1">
<App xmlns="" ProductID="{11111111-1111-1111-1111-111111111111}" Title="<#= title #>" RuntimeType="Silverlight"
Version="18.104.22.168" Genre="apps.normal" Author="Example Author" Description="Sample description" Publisher="Example Publisher">
<IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath>
<Capability Name="ID_CAP_GAMERSERVICES"/>
<Capability Name="ID_CAP_IDENTITY_DEVICE"/>
<Capability Name="ID_CAP_IDENTITY_USER"/>
<Capability Name="ID_CAP_LOCATION"/>
<Capability Name="ID_CAP_MEDIALIB"/>
<Capability Name="ID_CAP_MICROPHONE"/>
<Capability Name="ID_CAP_NETWORKING"/>
<Capability Name="ID_CAP_PHONEDIALER"/>
<Capability Name="ID_CAP_PUSH_NOTIFICATION"/>
<Capability Name="ID_CAP_SENSORS"/>
<Capability Name="ID_CAP_WEBBROWSERCOMPONENT"/>
<Capability Name="ID_CAP_ISV_CAMERA"/>
<Capability Name="ID_CAP_CONTACTS"/>
<Capability Name="ID_CAP_APPOINTMENTS"/>
<DefaultTask Name ="_default" NavigationPage="/MainPage.xaml"/>
<PrimaryToken TokenID="Your App token id" TaskName="_default">
<BackgroundImageURI IsRelative="true" IsResource="false">Background.png</BackgroundImageURI>
<Title>Your app title</Title>
The app, in the downloadable sample code, supports two configurations: a paid configuration and free with ads configuration. The main page title is set according to the DeploymentConfiguration.Paid property value, as shown in the following excerpt:
public MainPage()
ApplicationTitle.Text = DeploymentConfiguration.Paid
This indicates the configuration of the application when the PAID preprocessor directive is changed in the DeploymentConfiguration class (see Figure 2).
Figure 2: The main page title changes according to the Paid property.
This enables you to verify that the app has indeed been built for a specific deployment scenario. More importantly, and in both cases, if you switch to the App List after deploying to the emulator you'll see the application title updated to reflect the value in the generated WMAppManifest.xml file (see Figure 3).
Figure 3: App title reflects deployment scenario in the App List.
Thus, there is no longer any need to maintain two copies of your WMAppManifest.xml file or the entire project.
NOTE: The WMAppManifest.tt T4 template must be re-processed when the PAID directive is changed. This does not happen automatically. To rerun the T4 template right on the template and select Run Custom Tool. Alternative, use the Transform All Templates button in the Solution Explorer tool bar (see Figure 4).
Figure 4: Process All Templates Button
If you wish, the preprocessor directive can be associated with a build configuration for your project, allowing you to switch to a different scenario without modifying the DeploymentConfiguration.cs file.
In this article you saw how to use a T4 template to generate the WMAppManifest.xml file for your app. You saw how a preprocessor directive can be used to change the contents of the WMAppManifest.xml file, in particular the application title to support different application deployment scenarios. The Visual Studio DTE was used to traverse the project structure to locate a property in a class; forming a bridge between the T4 template and your project configuration.
This approach allows you to maintain a single version of your app, and a single version of your WMAppManifest file. It's an approach that I have found useful, and I hope you find it useful too.
Download Source Code (~40kb)
Daniel Vaughan is co-founder and president of Outcoder, a Swiss software and consulting company dedicated to creating best-of-breed user experiences and leading-edge back-end solutions, using the Microsoft stack of technologies—in particular WPF, WinRT, and Windows Phone.
Daniel is a four-time Microsoft MVP for Client Application Development, with experience across a wide range of industries including finance, e-commerce, and digital media. Daniel is the author of Windows Phone 7.5 Unleashed and Windows Phone 8 Unleashed, published by SAMS.Daniel is a Silverlight and WPF Insider, a member of the WPF Disciples, and a member of the Microsoft Developer Guidance Advisory Council.Daniel also sits on the advisory board of PebbleAge, a Swiss Financial Software company.While originally from Australia and the UK, Daniel is currently based in Zurich Switzerland. Daniel is the developer behind several acclaimed Windows Phone apps including Intellicam and Splashbox; and is the creator of a number of popular open-source projects including the Calcium and Clog.Daniel also manages the Windows Phone Experts group on LinkedIn; a group that has over 3000 independent developers, Microsoft employees, and Windows Phone enthusiasts.
Sign in


text:
Quality CareFind out why Mayo Clinic is the right place for your health care. Make an appointment.
Meet the StaffFind a directory of doctors and departments at all Mayo Clinic campuses. Visit now.
Research and Clinical TrialsSee how Mayo Clinic research and clinical trials advance the science of medicine and improve patient care. Explore now.
Visit Our SchoolsEducators at Mayo Clinic train tomorrow's leaders to deliver compassionate, high-value, safe patient care. Choose a degree.
Professional ServicesExplore Mayo Clinic's many resources and see jobs available for medical professionals. Get updates.
Give to Mayo ClinicHelp set a new world standard in care for people everywhere. Give now.
Mayo Clinic offers appointments in Arizona, Florida and Minnesota and at Mayo Clinic Health System locations.
Subscribe to Housecall
Our general interest e-newsletter keeps you up to date on a wide variety of health topics.
Doctors trained in neurosurgery, neurology, medical genetics, urology, orthopedic surgery, physical medicine and rehabilitation and radiology care for adults who have spina bifida.
800-446-2279 (toll-free)
8 a.m. to 5 p.m. Mountain Standard Time, Monday through Friday
Staff of the Spina Bifida Clinic at Mayo Clinic in Minnesota coordinates the multispeciality care of children who have spina bifida. Your child will receive hospital care at Mayo Eugenio Litta Children's Hospital. In Mayo Clinic's carefully coordinated system, your child can see several doctors and complete testing in a single visit spread over one to several days.
Pediatric specialists trained in neurosurgery, neurology, medical genetics (inherited diseases), urology, orthopedic surgery, physical medicine and rehabilitation and radiology care for your child.
For appointments or more information, call the Central Appointment Office at 507-538-3270 7 a.m. to 6 p.m. Central time, Monday through Friday or complete an online appointment request form.
The staff in the Spina Bifida Clinic includes pediatric doctors trained in neurosurgery, neurology, medical genetics (inherited diseases), urology, orthopedic surgery, physical medicine and rehabilitation and radiology.
When your child needs to be in the hospital, your child will receive care at Mayo Eugenio Litta Children's Hospital, which is ranked as one of the best children's hospitals by U.S. News & World Report.
See information on patient services at the three Mayo Clinic locations, including transportation options and lodging.
Mayo Clinic is a not-for-profit organization. Make a difference today.
Mayo Clinic is a not-for-profit organization. Proceeds from website advertising help support our mission. Mayo Clinic does not endorse non-Mayo products and services.
Check out these best-sellers and special offers on books and newsletters from Mayo Clinic.
Any use of this site constitutes your agreement to the Terms and Conditions and Privacy Policy linked below.
A single copy of these materials may be reprinted for noncommercial personal use only. "Mayo," "Mayo Clinic," "MayoClinic.com," "EmbodyHealth," "Enhance your life," and the triple-shield Mayo Clinic logo are trademarks of Mayo Foundation for Medical Education and Research.
We comply with the HONcode standard for trustworthy health information: verify here.

subset: commoncrawl


text:
SMITH COUNTY, TX - The Smith County Sheriff's Department is asking public to be on the lookout for an older model, possibly a 2002 or 2003 silver or gray minivan, occupied by a Hispanic male wearing a ball cap pulled down over his face.
According to the sheriff's department, in the early morning hours, the subject has been frequenting areas with school bus stops occupied by young females. Earlier, he approached a young female and fled the area at a high rate of speed when adults attempted to make contact with him. The incident occurred at a bus stop just south of Tyler near the intersection of Highway 110 and County Road 2228 in Smith County.
Whitehouse Independent School District Superintendent Daniel Dupree says the transportation director will be asking the bus drivers who have routes in the area of the reported incident to be alert when making their stops.
If you see this vehicle and suspect, please call 911 or the Smith County Sheriff's Office at 903-566-6600.
Copyright 2013 KLTV. All rights reserved.
358 TV Road,
Pollok TX 75969
FCC Public File
EEO Report
Closed Captioning


text:
Bradley Handwerger / WWLTV.com Sports Reporter
Email: email@example.com | Twitter: @wwltvsports
METAIRIE, La. — Two players expected to play big roles in what the Saints did offensively and defensively in 2013 are now finished for the year after sustaining season-ending injuries.
Receiver Joe Morgan, set to be an integral part in coach Sean Payton's in just his third season, will have surgery today to repair a torn meniscus and a partially-torn anterior cruciate ligament in his left knee.
Meanwhile, defensive end Kenyon Coleman, whom signed with the Saints in free agency, tore a pectoral muscle and is expected have surgery Thursday to repair. In describing the injury, Payton said "most likely that'll be season-ending," leaving the door open for a late-year return.
"Obviously they're losses and we've got to find some guys that can step up and take their spot," Payton said.
Second-year lineman Akiem Hicks took over first-team duties Wednesday for Coleman and has spent time working with the top unit during training camp.
"It stinks losing him," right tackle Zach Strief said. "Good player, good teammate, good guy, a lot of knowledge. He's helped me a lot in this camp just understanding how 3-4 guys play."
Added Strief, who has blocked Coleman this preseason, "Losing any guy hurts but that's the nature of the beast but somebody's got to step up and someone's going to get an opportunity to be successful like he was."
Morgan, though, may be tougher to replace.
Behind Marques Colston and Lance Moore, he was the only player with game experience as a Saints receiver in Payton's system. New Orleans brought in six-year veteran Steve Breaston on Monday and three-year vet Preston Parker this spring.
But it's rookie Kenny Stills who both quarterback Drew Brees and safety Malcolm Jenkins pointed as being in the best position to take advantage of the now-open spot.
"He's playing very well," Brees said. "He seems to be grasping the offense very well. You can tell at times his head is spinning a little bit because it's a lot of information and a lot to think about at times."
And Jenkins thinks no matter who is put it at receiver, the team will be all right.
"The biggest plus is that we have Drew Brees," the safety said. "He makes a lot of guys look good."
It's a tough injury for Morgan, however.
He spent 2011 on injured reserve after tearing a meniscus following a bright preseason. He was arrested in May for DWI after Louisiana State Police found him in his car on the side of Earhart Expressway.
It's what he has shown on the field when playing that also makes it tough. He broke onto the scene in 2012, playing in 14 games, making 10 catches for 379 yards and three touchdowns.
"His role was there," Brees said. "Then all of a sudden that's taken away. I know for a guy like him, a young player who has really had to fight through quite a bit the first two years of his career, then to all of a sudden have that established position and really you can start building the game plan around him at that point and all of a sudden he's gone."


text:
Gr8 Bayfront Condo Near Fager's Island — Wi-Fi, Pool & Pier! in Ocean City
- bedrooms 2
- baths 2
- sleeps 6
- pool yes
- hot tub no
- pets allowed no
- type Condo
- community Oasis On The Bay
rates (USD)
/ night
$ 995 - $ 1,495 / week
Ocean City Condo deals
stays between: 8/21/14 & 2/16/15
deal expires in: 3 days
FREE Local Gym Passes - up to $48 VALUE!
Keep your workout routine going even when you're on vacation! Book today & receive complimentary local OCMD Gym Passes to use during your visit to this home!
- Free Local Gym Passes ($48)
deal# DWRQ68
stays between: 8/21/14 & 2/16/15
deal expires in: 3 days
FREE Welcome Bag of Starter Amenities - a $25 VALUE!
Begin your vacation at the Beach, not the grocery store! Life's necessities will already be waiting for you, such as Dish Soap & Detergent, Hand Soap, Paper Towels, Bag of Gourmet Starbucks Coffee, Sweetener, Creamer & more!
- FREE Welcome Bag ($25)
deal# DUVECF
vacation rental description
Bayfront Condo w/ Amazing Views!
Want to enjoy the peace & quiet of a Bay Front setting, but still have easy access to Ocean City hot spots? Oasis on the Bay 103 (59th St.) is a lovely, 2-BR, 2-BA condo with all the comforts of home and in a great mid-town location. Comes with fully-equipped Kitchen, 3 TVs/1 DVD, Wireless Internet access, full-size Washer/Dryer, Central A/C, 2-Car Parking & Balcony with beautiful views of the Bay, Fishing Pier & Pool.
Easy Walk to Beach & OC Hot Spots!
Walk down to the Beach (1.5 blocks) for a day of sun & surf, or stay home to enjoy the refreshing Outdoor Pool & Fishing Pier. Also just steps away is Fager's Island, one of Ocean City's premier dining & entertainment destinations. Other popular restaurants and activities are also just a short walk away, including Seacrets, Macky's Bayside Bar & Grille, Dead Freddy's Island Grill, miniature golf, and arcade games. Non-smoking. No pets, please.
vacation rental location
property availability
- dates with deals
- unavailable dates
Last modified on 09-9-2013 at 12:54 PM.
email owner view full calendar
Vantage Resort Realty (410) 723-2002
condo rental amenities
Unit Amenities:
- Direct Bayfront property with beautiful views — great at Sunset!!!
- 3 TVs/1 DVD player
- FREE Wireless Internet
- Central A/C
- Washer/Dryer
- 2-Car Parking
- Outdoor Pool
- Fishing Pier
- Easy Walk to Fager's Island, Seacrets, Macky's Bayside & more!
Bed Sizes:
- Master — Queen
- Bedroom 2 — Queen
- Living Room — Queen Sleep Sofa
Guest Benefits (at no cost to you!):
- Free Starter Amenities (Gourmet Starbucks coffee, dish soap, bath tissue, etc.)
- TravelVantage Program
- Free Concierge Service
- Complimentary Business Center
- Sunny Days Guaranteed!
- Free Gym Passes during your stay
activities and attractions in Ocean City Maryland
Oasis on the Bay (59th St.) is a Bayfront property with lovely accommodations & amenities. Located just along the water's edge, this spot offers you the best of both worlds: a quiet, Mid-Town setting with all of Ocean City's fun & excitement right at your fingertips. Many great shops, activities & restaurants are within walking distance, including Fager's Island, Seacrets, Dumser's Dairyland, Maui Golf, Dead Freddie's Island Grill, Macky's Bayside, Old Pro Golf & so much more. Best of all, you'll be just minutes from the popular OCMD Boardwalk, thrilling amusement rides & world-class golf.
vacation rental rates
01/04/14 - 05/09/14 $149/night.......................................$995/week (3-night min)
05/10/14 - 06/06/14 $219-$239/night.....................$1095-$1195/week (3-night min)
06/07/14 - 06/27/14 ............................................$1295-$1395/week (7-night min)
06/28/14 - 08/22/14 ......................................................$1495/week (7-night min)
08/23/14 - 08/29/14 ......................................................$1295/week (7-night min)
08/30/14 - 09/12/14 $219/night.......................................$1095/week (7-night min)
09/13/14 - 12/26/14 $149/night.........................................$995/week (3-night min)
* Rates are subject to change without notice. Pricing excludes taxes, add'l options or fees.
* Each reservation will need to sign a Lodging Agreement.
* Each reservation will have 10.5% tax, processing fee and travel guard damage insurance or refundable security deposit.
* We do business in accordance with federal Fair Housing Law. Equal Housing Opportunity.
* We are licensed REALTORs.
Vantage Resort Realty (410) 723-2002
accepted payment methods
Prior to paying a reservation deposit, always verify payment instructions by calling the phone number displayed on this listing page. By contacting the owner directly and paying by an approved method - credit card, paypal, check or bank transfer - your reservation payment will be protected up to $1,000.Learn more in our Security Center
Top things to do in Ocean City
- Spend a relaxing day on the Beach.
- Walk the famous Ocean City Boardwalk.
- Play a round of golf (18-hole or putt-putt).
- Treat yourself to some fun at an amusement or water park.
- Sample some delicious Eastern Shore cuisine.
Vantage Resort Realty , owner


text:
- Darvish works on mechanics in bullpen session
- Napoli back in the lineup as designated hitter
- Lewis, Nathan pitch in Minors
- Foundation to fund youth programs
- Worth noting
GLENDALE, Ariz. -- Manager Ron Washington remains away from camp due to a death in the family, so hitting coach Scott Coolbaugh stepped in for the Friday morning briefing. On rookie infielder Mike Olt: "Mike Olt has made a good impression in camp. He's a strong kid coming off a season where he only played a half-year because of an injury, but with the confidence gained from a great Arizona Fall League. He has shown he can play third and first base and he swings the bat well." On rookie utility infield candidate Yangervois Solarte, who is 6-for-16 with two home runs: "He's been a guy who has shown a lot of versatility and he can really swing it from both sides of the plate. He's an aggressive hitter who attacks the ball well. For a small guy, he's showed power." On rookie outfielder Engel Beltre: "He's had a good camp. He has shown some good things at the plate. He's matured as a player and understands he needs to be more consistent. His two-strike approach is better, putting the ball in play. He's cutting down his swing, putting the ball in play and extending his at-bats." On Julio Borbon: "He is really playing with a lot of confidence and swinging the bat well. He's going out and playing and just being Julio, allowing his talent to come out. Julio is a guy who can be a threat at the plate. He hits left-handed pitching, right-handed pitching. ... If he continues to do what he's doing, he's going to make it tough on the decision-making at the end of camp."
Darvish works on mechanics in bullpen session
GLENDALE, Ariz. -- Yu Darvish went to the bullpen on Friday. Darvish threw his side session in the bullpen rather than throw live batting practice to hitters.Rangers starters normally throw live batting practice between starts, but pitching coach Mike Maddux wanted Darvish to get his work done in the bullpen. Maddux said he wanted Darvish to work on the mechanics of his windup and not be distracted by hitters. Darvish will have another session in the bullpen on Saturday. "Live BP is more taxing than what we did today, so this gives us two opportunities to get on the mound instead of one," Maddux said. "At the moment right now, I think that's pretty good medicine. We can work on our delivery, implement full windup. We did that today and it's just a matter of working on things. We're going to do it twice instead of one time."
Darvish has made two starts for the Rangers in the Cactus League and has pitched five innings. He has allowed two runs on five hits and four walks with six strikeouts.His next start is scheduled for Monday against the Brewers in Surprise and the game is being televised in Texas on FOX Sports Southwest.
Napoli back in the lineup as designated hitter
GLENDALE, Ariz. -- Mike Napoli returned to the Rangers lineup on Friday, starting at designated hitter against the Dodgers. Napoli missed six games because of a mild strain of his left groin muscle.The Rangers aren't sure when Napoli will catch in a game. He is not on the travel roster for the two-game series against the Cubs in Las Vegas. But he is resuming catching drills. "Everything is good," Napoli said. "I did the catching drills and felt good. I tried a little different stance to see if that worked and I'll keep trying that. But everything feels good."
Napoli went 1-for-4 with a strikeout, singling in the ninth inning. He was then replaced by a pinch-runner.
Lewis, Nathan pitch in Minors
GLENDALE, Ariz. -- Rangers starter Colby Lewis and closer Joe Nathan did their work in Minor League games on Friday.Nathan pitched for Class A Myrtle Beach against Lake Elsinore back in Surprise, Ariz., and went one scoreless inning. He walked two, struck out one and threw 22 pitches. Lewis started for Triple-A Round Rock against Tucson at the Padres' camp in Peoria, Ariz. Lewis went 3 2/3 innings and allowed two runs on six hits. He walked one, struck out four and threw 62 pitches.
Foundation to fund youth programs
GLENDALE, Ariz. -- The Rangers have announced that they are starting a grant program to provide assistance to youth baseball and softball programs in the club's five-state broadcasting region.The Rangers are accepting proposals for grants for this baseball/softball grant program from nonprofit organizations that support youth baseball or softball in Texas, Arkansas, Louisiana, New Mexico, and Arkansas. This grant program and all applications should be limited to support of youth baseball and softball. "The Texas Rangers Baseball Foundation is proud to launch this grant program to provide financial support youth baseball and softball across our entire market," foundation president Jim Sundberg said in a statement. "Our Foundation is dedicated to improving the lives of youngsters in need. The funding of youth baseball and softball programs across our entire region will allow us to build relationships with communities market-wide as we strengthen the sport." All grant proposals will be reviewed by Texas Rangers Baseball Foundation staff first to determine that the proposal is eligible and then by the Texas Rangers Baseball Foundation board of directors. There is one grant cycle annually. Funding is limited to organizations supporting baseball and softball for youths ages 18 and under. Grant requests must be for baseball and/or softball-related activities and will be accepted through June 30.
Worth noting
Rookie right-hander Justin Miller was scratched from Friday's game with lower back stiffness and shortstop Greg Miclat was sent home with a migraine headache. Catcher Dusty Brown, who has been sidelined with arm fatigue, is on the travel roster to Las Vegas. Left-handed reliever Joe Beimel, who was scratched from Thursday's game because of a virus, is expected to pitch this weekend.
T.R. Sullivan is a reporter for MLB.com. Read his blog, Postcards from Elysian Fields, and follow him on Twitter @Sullivan_Ranger. This story was not subject to the approval of Major League Baseball or its clubs.


text:
Volleyball releases 2012 schedule
Related Links
The JU volleyball team will live out of the suitcase for the first two months of the season starting Aug. 24 with the 2012 schedule that has been released.
The Dolphins will have the first 16 matches away from the friendly confines of Swisher Gymnasium to start the season. During the road stretch, JU will see three 2011 NCAA tournament participants in Liberty, Florida and Lipscomb.
"I am looking forward to our competition this fall," JU head coach Michelle Collier said. "We will be facing teams in our preseason that will challenge us and help us develop and grow as a team. Our goal is to be better prepared for a demanding conference schedule."
The 16-game road swing is mostly consisted of four road tournaments for the Dolphins.
JU plays N.C. State in the 2012 opener on Aug. 24 to start the College of Charleston tournament in Charleston, S.C. It will finish with the host Cougars and Sacramento State the next day.
Starting Aug. 31, the Dolphins will be in Orlando to play Liberty, UCF and Columbia in the Holiday Inn tournament hosted by the Knights. JU plays Florida, Georgia Tech and Louisiana-Lafayette in the Active Ankle Challenge starting Sept. 7 in Gainesville, Fla.
The Dolphins wrap the tournament slate in Statesboro, Ga. against Savannah State, South Alabama, Wisconsin and Georgia Southern beginning Sept. 14.
The 18-match A-Sun schedule begins with a trip to Nashville to face defending champion Lipscomb Aug. 21. JU closes its long road trip with the A-Sun's newest member, Northern Kentucky, the next day in Highland Heights, Ky.
JU finally opens at home against cross-town rival North Florida Sept. 28 in Swisher Gymnasium at 7 p.m. The Ospreys rallied from 2-0 deficits to win both 2011 meetings and keep the Dolphins from making the A-Sun tournament for the second straight season.
The Dolphins are slated for seven home contests in October starting with Florida Gulf Coast Oct. 2. They will also host Kennesaw State (Oct. 5), Mercer (Oct. 6), Florida A&M (Oct. 16), Northern Kentucky (Oct. 19), Lipscomb (Oct. 20) and Lipscomb (Oct. 23). JU finishes the home schedule with USC Upstate and East Tennessee State on consecutive nights starting Nov. 9.
JU's remaining road matches include ETSU (Oct. 12), USC Upstate (Oct. 13), Mercer (Oct. 26), Kennesaw State (Oct. 27), FGCU (Oct. 31), UNF (Nov. 3) and Bethune-Cookman (Nov. 7).
For the second straight season, Lipscomb will host the A-Sun tournament in Nashville starting Nov. 15. The Dolphins last competed in the conference tournament in 2009.


text:
CARY — A wreck on westbound Interstate 40 near Reedy Creek Road hampered commuter traffic about 7:30 a.m. Wednesday.
There were no immediate reports of any serious injuries, but emergency personnel said debris from the crash interfered with traffic.
The state Department of Transportation said the shoulder and median were closed.


text:
ON:meedi:a is here to support you building customised, curated, cross-platform, content compilations. We provide a web-based ecosystem that serves all your needs in media asset management and publishing.
It can be configured to help you do what you need to do and get the job done.
Publish from one source to many platforms with your own templates.
Annotate and enhance content using powerful semi-automatic software tools.
Manage and access your assets on different operating systems through a web browser.
All of your multimedia, text, image, audio and video files.
Build virtual exhibitions, newsletters, guided tours, music collections and many more...
Content-based indexing, search and retrieval that can be be configured to fit your requirements.
Easy integration via simple orchestration of web-services for your missing functionality.
Keep full control of data, layout, and function of each interface element with a CMS-like approach.
Collaborative time-based and geo-tagged annotations together with extraction of metadata.
Want to read about ON:meedi:a? Here you can!
This file gallery is based on ON:meedi:a. It is just a simple example how you can publish your content


text:
A few things would need attention, if they are fixable. Internet took forever,the sign said "on board internet is significantly slower than on land. Something of an understatement. The IT manager seemed to be doing nothing other than fielding complaints. My advice is not to use it unless you are incapable of existing without it.
Silly little things like salad plates being warm, if not hot even, don't bother the bus boys. They are doing as they are told, 3 of the 4 forward elevators sitting on the same floor, never a special in Canaletto. I do not go to an Italian restaurant for Spaghetti and Meatballs. Passengers were encouraged to dine in the Pinnacle, when I tried for a reservation on the second night I was advised that it was sold out for the reset of the cruise, or at least only a very early res, or a very late one.
I was very surprised that officers ate in the passenger's dining room. At least 2 of them were at the table next to me in Canaletto. If the captain wants his officers to check out the service and cuisine have them out of uniform. Canaletto was frequently full at peak time( I dined there about 5 or 6 times) and it must have been an irritant for walk-ins.
The captain kept us informed on a regular basis. We were lucky on this one. 2 mildly choppy days, but not going around the Horn.
Very well heeled passengers with a lot of British and South Americans, and not many children
You would have to be very difficult to find fault with this cruise.


text:
Bradley Handwerger / WWLTV.com Sports Reporter
Email: firstname.lastname@example.com | Twitter: @wwltvsports
NEW ORLEANS — Monty Williams isn't generally one for words.
He's not going to give some grandiose vision of the future.
The Hornets coach has tunnel-vision and it's allowing him to see only the present.
The rest, he likes to say, is "something for you guys to talk about."
So let's talk.
Friday night, at the NOrena, those donning the Hornets on their hearts witnessed the present and the future.
They saw a young, inexperienced Hornets team slog through a first-half and still find it pertinent to fight like hell in the second half despite being down 29 at halftime.
They also saw a young, experienced Thunder team take what was given to them and take the game to New Orleans and coast to a 15-point win.
In a few seasons, the Hornets could be the Thunder.
Though, not if Williams has his way.
"We can't keep comparing ourselves to other teams because we don't want to be like anybody else," Williams said. "We want to be a championship team some day. We want to set our own model up for other teams to look at."
But it's inescapable to not look at Oklahoma City and see New Orleans' future.
Anthony Davis could be Kevin Durant, an athletic big man who is a matchup nightmare. Austin Rivers could be Russell Westbrook, an athletic guard who can find open players while occasionally scoring points. Ryan Anderson could be Kevin Martin, the spark off the bench who helps the second unit stick around or extend the lead.
Yes, New Orleans could see Oklahoma City's success.
There are lessons to be learned, however, and as much as the Hornets are looking for success this season, that'll be hard to come by.
Lesson one was learned between the second quarter of Wednesday's game against Houston and the first half Friday night.
The Rockets outscored the Hornets by 21 points in that second quarter. Against Oklahoma City, New Orleans was outscored by 29 in the first half.
It's a rough lesson to be taught.
"For us, when you don't have a go-to guy, you have to play with supreme effort and it's a tough thing to do," Williams said. "Our effort is high but understanding that we have to do more because we are inexperienced and we've got a bunch of new guys. That's a tough thing."
In the Williams Era, the Hornets have generally played hard from start to finish. What they've been lacking is a killer instinct and that go-to player.
The one piece the Hornets are missing is the killer down the stretch. Well, not missing.
He's on the roster; Eric Gordon is technically a Hornet, even if just by paycheck.
Get Gordon to buy in and yes, the Hornets indeed could become the Thunder.
There's no doubt the lessons will continue this season.
But one thing is for sure – the future is bright.


text:
A little girl, Janie, grows as fast as the tree she plants. Discover her anxiety over her growth and the solution offered by a very friendly angel.
Acerca del autorDr. George Everett
pastorfrog Mentone, Ca. 92359, USA
Dr. Everett is the author of over 40 books dealing with the Hebraic beginnings of Christianity. He began the G.W. Frog series (five to date!) in 1980's, to teach children the moral values that are needed for a healthy physical and spiritual life. He and his wife of 51 years live in Mentone, Ca. and have two sons, David and Jeff.
Fecha de publicación 14 de noviembre de 2012
Dimensiones Vertical estándar 24 páginas Papel estándar
Categoría Niños
Comentarios (0)
Comentario publicado.
Conéctese o cree una cuenta para publicar un comentario.


text:
Trombone player's Tiptree sneeze tops one million views (From Essex County Standard)
Get involved: send your pictures, video, news and views by texting ECS to 80360, or email »
Trombone player's Tiptree sneeze tops one million views
Updated 8:49am Tuesday 18th March 2014 in News
The unfortunate moment a trombone player sneezed into his instrument during a performance has been watched more than one million times.
The video of 'The Tiptree Sneeze' was uploaded by the London Central Fellowship Band following their performance at St Luke's Parish Church in Tiptree.
The band continue without acknowleding the loud trumping sound but the video has led to many parodies including, the Trombone Elephant Sneeze.
The London Symphony Orchestra commented on the Youtube video and said: "We've all been there: it's a quiet passage and you really really need to sneeze.
"Try to ignore and keep playing, or disrupt the music to stop and sneeze? This is what happens when you don't quite make it..."
Comments (5)
Please log in to enable comment sorting
9:04am Tue 18 Mar 14
The King of Colchester says...
1:55pm Tue 18 Mar 14
James 1 says...
8:27pm Tue 18 Mar 14
ExPatMiddlesexer says...
8:34am Wed 19 Mar 14
stevedawson says...
8:51am Wed 19 Mar 14
jammin says...
The same person, different aliases.
Comments are closed on this article.


text:
|About - Samsung FTQ307NWGX
The Samsung FTQ307NWGX is part of the kitchen range test program at Consumer Reports. In our lab tests, electric range models like the FTQ307NWGX are rated on multiple criteria, such as those listed below.
|About This Brand
This midlevel brands sells cooking appliances priced between $1,000 and $2,500. In 2008, Samsung released a range with the SteamQuic cleaning system, a three-fan true-convection range designed to cook food more evenly.
|Read our Brand Reliability
|Features & Specs - Samsung FTQ307NWGX
|Double oven
|Cooking drawer
|High-power elements
|Medium-power elements
|Low-power elements
|Convection mode
|Stainless steel available
|More features and specs
User Reviews - Samsung FTQ307NWGX
User Reviews
Already own it? Write a review
(19 of 24 customers found this review helpful)
Glass stovetop can suddenly fail
Attractive Design
Easy To Clean
Heats Up Quickly
High-Powered Burners
Induction Stoves
Large Surface Area
Cooktop Failure Dangerous
Glass Stovetop Can Crack
Unreliable Performance
Best Uses
Sailboat Ballast
Have wanted an induction stove for years and finally made the jump. We believe that the way we use it would save energy and reduce our carbon footprint.

My wife and I were duly impressed and the unit met our initial expectations. However, not long after the standard warrantee expired, I was boiling water for coffee in a good quality teapot and didn't make enough hot water. I put a few ounces of water into the pot and replaced it on the stove. I was using the small rear burner, which was perfect for the teapot. The rapid recovery of heating is impressive and worked well when I miscalculate like this.

I took a brief phone call in the kitchen and noticed the few ounces of water had almost completely evaporated. I then refilled the pot with a few more ounces and put it back on the stove. As I turned away I heard a popping noise followed by a loud cracking sound.

The entire stovetop cracked in a vaguely u shape cutting through all of the burners except the front right one. I contacted service and they estimated that a repair would cost over $700 just for the part. I find that to be excessive under the circumstances. If this is common there should be a clear warning on the stove that the stovetop is susceptible to dangerous failure.

As a retired 3 dimensional and industrial designer i believe that there is a design flaw in the Samsung glass cooktop. If this may be a unique design flaw I would recommend this product to my clients. I now work in home energy efficiency and advise people on what to buy. I have previously recommended this stove and will now have to warn clients that I made a mistake. There may be liability involved for me.

This may also be a safety issue since the two parts separated and have left a raised sharp edge on the top.
How long have you owned it:
More than six months
Bottom Line
No, I would not recommend this to a friend.
(14 of 14 customers found this review helpful)
Love this range
Attractive Design
Easy To Clean
Heats Up Quickly
High-Powered Burners
Best Uses
Heavy Usage
We have had this range for almost 2 years, and I love it. It has the same instant response that gas has with none of the heat. Wonderful for smaller kitchens which often tend to heat up from gas. The red hot smooth top is eliminated, but still has the smooth top for easy cleanup. I love to impress guests by putting a paper towel under a pot and boiling water through the towel. It is awesome to not have to worry about a superheated cooktop or leaving the gas on accidently. If you take the pot away and forget to turn off the control, an error message comes up and the range ceases to heat, since it needs the pan to heat. Great technology. I love the large oven and use mostly the convection for baking. It bakes 5 loaves of bread, or three 18x24 pans of cookies at the same time. Stuff comes out great. I also adjust the heat up 25 degrees to defeat the auto lowering of temp. I live at high altitude and that may be part of it. The fan noise is a minor annoyance but goes off automatically before it really bugs me. I don't consider it a big deal. We have a condo and I'm anxious for the gas range there to be replaced by one of these, and will be doing that as soon as finances permit.
How long have you owned it:
More than six months
Bottom Line
Yes, I would recommend this to a friend.
(17 of 20 customers found this review helpful)
Have been disapointed for almost 2 years
High-Powered Burners
Like induction
Poor cooktop design
Samsung does not help
Best Uses
I've been using this range for almost two years, and each time I turn it on, it gets on my nerves with its loud noise. For those who want to know, it is louder than a microwave. I was told that it might be fixed but a technician came twice to no avail.

It looks like Samsung never tested this range with the standard set of cookware: if I put four pieces at once they do not fit because three of them are too close to each other and buzz.

I like the fast boil option - this deserve a star in my review.

If I wear gloves or hot pads, the controls are not operable.

Finally, Samsung rejected my review, so the reviews on the Samsung website do not reflect all negative feedback on this range.
How long have you owned it:
More than six months
Bottom Line
No, I would not recommend this to a friend.


text:
DANVERS — Roger Bourgeois, superintendent of Essex Agricultural and Technical High School, will resign April 1.
Bourgeois has been hired by the Boston Public Schools as assistant superintendent for technical/vocational network. He has worked at Essex Aggie since 2007.
Joseph Edwards, chairman of Essex Aggie's board of trustees, said the board accepted Bourgeois' letter of resignation last week. The board's personnel subcommittee will meet next week and will likely recommend an interim superintendent to fill out the remainder of the school year, Edwards said.
Essex Aggie is set to merge with North Shore Technical High School and Peabody's high school vocational programs in a new, 1,440 student school slated to open in 2014.
In June, Essex Aggie's board of trustees approved a contract for Bourgeois that lasts through the 2013-2014 school year.
In Boston, Bourgeois will be responsible for leading efforts to expand and enhance the district's technical and vocational programs.
See Wednesday's Salem News for full details.


text:
The Baltimore Orioles acquired Jim Thome from the Philadelphia Phillies on Sunday, according to Ken Rosenthal, adding a left-handed DH to put in the middle of their batting order and giving everyone a reason to dig through The Dugout's archives. As if you needed a reason.
The Phillies will receive Kyle Simon in the deal, according to Jon Heyman.
Thome was initially signed to give the Phillies some depth at first base and provide power off the bench, but he struggled in a bench role. During interleague play, though, he thrived as the Phillies' designated hitter. With Ryan Howard coming back in the next three weeks, it was clear that it was in the best interests of everyone to deal Thome to an American League team.
The Orioles haven't had a set DH for the year, shuffling Mark Reynolds, Chris Davis, and Nick Johnson in and out of the spot. With Johnson out with an injury -- no, really -- the Orioles have an opening on the roster.
Thome, 41, is hitting .242/.338/.516 with five home runs in 62 at-bats this season.


text:
CATEGORIES Casting, Comic/Superhero/Geek, CinematicalI'm not sure if this gives Peter Berg anything to worry about, but it looks like he's not the only one itching to reboot Hercules as a franchise. Alexander Nevsky -- Russia's version of Arnold Schwarzenegger (not to be confused with the saint and subject of the famous Eisenstein film) -- is working on his own version, which his production company will finance for $12 million. At the moment, the project is unimaginatively titled Hercules: The Beginning.
The Hollywood Reporter article doesn't specify if this is to be a Russian (and Russian-language) production, or if it is to be in English, akin to Nevsky's recent American efforts, which have gone (or will go) direct to DVD stateside. The latter strikes me as a boneheaded move, dooming the film to obscurity. If he can produce it in Russia, where he might get some bang for that $12 million, he might wind up with a minor crossover hit in the vein of Night Watch and Day Watch (each of which cost a fraction of that). The world doesn't need more cheap American B-movies, but a big-time Russian blockbuster might get noticed.
Have any schlock enthusiasts here had a chance to see any of this guy's movies? Any thoughts? I'll tentatively say I'm more psyched for the Peter Berg version.


text:
Origins of Alps killings 'in UK' (From Blackpool Citizen)
Contact us by email or phone.
National News RSS Feed
Origins of Alps killings 'in UK'
12:34pm Thursday 13th September 2012 in National News © Press Association 2014
The chief prosecutor in the area of the French Alps where three Britons were gunned down said that the causes and origins of their deaths lay in this country.
Annecy's chief prosecutor Eric Maillaud made the comments as he travelled to the UK as investigators continue to probe the mystery.
Mr Maillaud and examining magistrate Michel Mollin, another senior member of the inquiry team, met officers from Surrey Police at Woking police station to discuss the case.
Engineer Saad al-Hilli, 50, and his dentist wife Iqbal, 47, were brutally murdered along with her mother in a remote spot close to Lake Annecy a week ago.
The couple's four-year-old daughter Zeena lay undiscovered under her mother's corpse for eight hours afterwards, while her seven-year-old sister Zainab was found with serious injures after being shot and beaten.
On Wednesday their families released a statement in which they said they were "heartbroken" by the deaths.
Mr Maillaud told reporters outside Woking police station it was "without any doubt that the reasons and causes have their origins in this country". He added: "It is only by being together that we will find the murderers." He thanked English authorities for their help with the inquiry.
Assistant Chief Constable Rob Price, who is leading the Surrey Police team, met the dignitaries.
He said: "As I stated previously, this is a French-led investigation. Surrey Police and other agencies within Surrey will do all we can to support this investigation. Inevitably, when you have different jurisdictions, there will be complexities and challenges.
"What I am please to report is that we have overcome these challenges and we are all determined to overcome future challenges. We are all operating with a determination and a focus and always have in mind the victims and all those who have been affected by this tragic incident."


text:
LOGANSPORT — Cass County commissioners voted this week to share their savings on health insurance with county employees.
"We've done really well in cutting our costs for health insurance, and we want to give some of it back to employees," Commissioner Jim Sailors reported at Monday's meeting.
Sailors said the county had managed to save 57 percent on claims this year through its insurance program with Group and Pension Administrators of San Antonio, Texas. To celebrate the savings, he said, the county planned to return about $26,000 to employees.
He said the county would make a $250 contribution to the health savings account for an employee with single coverage and a $500 contribution for an employee with family coverage.
In addition, he said, the county will cover the employees' share of premiums for the first two months of 2013. That amounts to $30 a month for an individual employee, $100 a month for an employee with children or a spouse and $180 a month for an employee with family coverage.
Sailors said the savings had come in part through the county's creation of a health clinic for employees. To encourage participation, Sailors said, the county is offering a financial incentive.
"We'll take $500 off the deductible if an employee goes through the wellness program," he said.
Sailors said the county's premiums and claims totalled about $1.65 million.


text:
Availability: Usually Ships Within 24-48 Hours
Jungle Products Organic Coconut Oil - 14 oz. (397g)
Jungle Products Organic Coconut Oil comes from small farmers in the Philippines. These producers are extremely proud of delivering a product that is beautifully crafted and delivers a living wage to their communities. Coconut Oil is finally starting to get some of the recognition it deserves. It has been called one of the healthiest oils in the world and has been used for centuries in culinary applications as well as for body care and therapeutic applications. Their gentle production process retains all of the original nutrients and natural preservatives.
Some benefits of Certified Organic Extra Virgin Coconut Oil include:
Is fat bad for you?
No, actually a diet that contains fats from animal and vegetable sources provides you with a concentrated source of energy. Fat also provides building blocks for cell membranes as well as hormones and hormone like substances. When they make fats a part of their meals it slows down absorption so that they can wait longer before thei next meal without a feeling of hunger or cravings. Fats also act as a catalyst for the fat-soluble vitamins A, D, E, and K. Fats are also necessary for mineral absorption and for a host of other processes. Not to mention they taste great!
What is the difference between good fat and bad fat?
Unfortunately Americans have been misinformed about the importance of fat in their diet. Fats, especially saturated, have been unfairly blamed for a milieu of diseases and health problems in their country. The truth of the matter is fat is a necessary component of a nutritious and satisfying diet, guaranteed to provide us with the vitality and longevity they need to live in today's world and fight off the threats of harmful disease. "Bad" fats such as trans fat are slowly being recognized as the cause of the unhealthy condition of America today. Trans fatty acids are liquid oils made into shortening or margarine through hydrogenation. Studies have recently revealed that serious health problems can be a result of consuming hydrogenated products containing trans fatty acids. The FDA claims that no amount of trans fat is safe for consumption and food products are being forced to label the exact amount of hydrogenated fat per product.
How do I use Coconut and Red Palm Oil in my diet?
These two fats have been used for centuries by indigenous cultures for culinary, cosmetic, and medicinal uses. The unique health benefits of both Coconut and Red Palm Oils retain their potency whether used as a cooking oil, or applied topically, or even as a healing salve. They have learned to enjoy these oils in traditional recipes gathered from all over the world. They can be used in the place of any other oil you may currently use for you daily cooking needs such as frying, sautéing, baking, or as a spread or dressing. One of the exciting attributes of these healthy oils is that the potent phytonutrients they contain remain intact even when heated to extremely high temperatures. They encourage you to experiment with Red Palm and Coconut oils in your kitchen and discover their wonderful flavor and versatility. Also, please see their recipes board to find yummy recipes and ideas!
Do saturated fats cause heart disease?
Heart disease and other degenerative illnesses are caused by a series of other harmful factors. Please consider the following concise explanation by Mary Enig, PhD a highly acclaimed nutritionist and expert in her field: "The cause of heart disease is not animal fats and cholesterol but rather a number of factors inherent in modern diets, including the excess consumption of vegetable oils and hydrogenated fats, excess consumption of refined carbohydrates in the form of sugar and white flour; mineral deficiencies, particularly low levels of protective magnesium and iodine; deficiencies of vitamins, particularly of vitamin C, needed for the integrity of blood vessel walls, and of antioxidants like selenium and vitamin E, which protect us from free radicals; and finally, the disappearance of antimicrobial fats from the food supple, namely animal fats and tropical oils."
How does Jungle Products ensure safe, sanitary production facilities?
They have strict quality control standards to ensure not only the purest oil used in their products, but they also use the least amount of processing to extract the oil in order to maintain the integrity of the raw material. The palm fruit is carefully inspected by hand and is picked by hand for only the best quality. Once picked, the palm fruit is left for 36 to soften. Then the fruits are plucked, washed, and steamed for only a few minutes to soften the pulp. It is then poured into a large mortar or frapper and pounded until the flesh separates from the nut. The nut is then set aside to dry. At this time, the oil of the palm fruit begins to appear. To remove any excess water, the red oil is heated slightly and then sits for 24 hours to allow for all impurities to be removed and sink to the bottom of the tank. To ensure that no additional impurities are intact, the red oil is filtered through the traditional gravity system. The coconuts are grown naturally in their wild state and have never been touched by chemicals or fertilizers. The oil from the coconut is processed in the "old" way by hand. This gentle process retains the natural preservatives of the organic coconut so that it can have a much longer shelf life than a refined coconut oil and in addition, will be able to withstand higher temperatures during cooking. The actual pressing process comes when the organic coconuts are harvested and immediately after the white meat of the coconuts are separated from the nut, shredded, dried and then pressed.
Is the fat-free diet good for me?
Absolutely not!! For thousands of years fat has been an important part of healthy populations. Unfortunately misinformation concerning the health benefits of fats has led to decline in their consumption as well as an adverse effect on the health of their country. It is their opinion that the health benefits contained in these two fats - very high levels of antioxidants, in the form of full spectrum tocotrienols, tocopherols, and carotenes, the effective antiviral agents of lauric acid and caprilyic acid, and the anti-rancidity, non trans fatty properties of the fully saturated molecules-are all features that will benefit everyone.
If I eat tropical oils, won't I gain weight?
No!! Fat is an essential part of balanced nutrition and general well being. With news and research breaking daily on the health benefits of tropical oils as well as the dangers of Trans Fats, Jungle Products is excited to share the life changing properties of Red Palm and Coconut oils. Indigenous populations have understood for centuries that tropical oils are essential to the maintenance of healthy weight. It is only recently that studies and medical research began to reveal the slimming properties of Red Palm and Coconut oils.
What are tocotrienols?
Tocotrienols are part of the Vitamin E family. Tocotrienols have similar structure to tocopherols (Alpha-Tocopherol as the most common Vitamin E in the market), but contain three double bonds in the carbon side chain of the molecule. The Vitamin E family is comprised of eight different compounds: alpha, beta, gamma and delta- tocotrienols and tocopherols.
About Jungle Products:
The mission of Jungle Products, is to find sources, manufacture, and sell products of the highest possible integrity, vitality, and value, all to be done in a humane and sustainable manner. They also believe in a philosophy of Holistic Commerce in which every relationship is represented and compensated fairly. They will always dedicate ten percent of profits to Scientific Research, and Socio-Economic Development.
Every business has a choice when it comes to the environment. They can either choose to ignore it and focus strictly on the bottom line, or they can actively work towards developing methods that contribute to the preservation and welfare of their most precious resource. They believe there is no choice. One of their primary goals at Jungle Products is to always seek the most environmentally friendly methods possible. In fact, they have already started. Their products will always feature recyclable containers printed with the most responsible options available. They aggressively recycle in their offices. They are working with their sources to begin using new bulk containers that will safely transport their products and are easy to break down and recycle.
One of the most exciting thoughts is what they will be able to do in the future. Whether it is putting Bio Diesel in their trucks or running the offices on clean energy, improving the environment is a top priority in their business. And they will always remain open to suggestions. If you have any thoughts on how they can improve or about green commerce in general, please send us your thoughts here. They will continue to look for ways to improve in this area and strive to minimize their impact on the earth.
What they believe:
We've added your item to the Wish List. You can view your list any time from your MyLucky account page. A Wish List is useful to keep track of items you are interested in buying in the future. Once you purchase the items, they come off your list.
Sorry, we were unable to add your item at this time.
Your Wish List request is currently being processed.
Item Code: 34567
We've added your item to the Regimen. You can view your list any time from your MyLucky account page. A Regimen is useful to keep track of items you you purchase frequently (or take as part of a "regimen"). Unlike a Wish List, items you add to your Regimen are not removed from the list after you purchase them.
Your Regimen request is currently being processed.
Item Code: