text:
How to use the managed client library for Azure Mobile Services
This is an Azure Mobile Services topic. This service has been superseded by Azure App Service Mobile Apps and is scheduled for removal from Azure. We recommend using Azure Mobile Apps for all new mobile backend deployments. Read this announcement to learn more about the pending deprecation of this service.
Learn about migrating your site to Azure App Service.
Get started with Azure Mobile Apps, see the Azure Mobile Apps documentation center.
This guide shows you how to perform common scenarios using the managed client library for Azure Mobile Services in Windows and Xamarin apps. The scenarios covered include querying for data, inserting, updating, and deleting data, authenticating users, and handling errors. If you are new to Mobile Services, you should consider first completing the Mobile Services quickstart tutorial.
What is Mobile Services
Azure Mobile Services is a highly scalable mobile application development platform that lets you add enhanced functionality to your mobile device apps by using Azure.
With Mobile Services you can:
- Build native and cross platform apps - Connect your iOS, Android, Windows, or cross-platform Xamarin or Cordova (Phonegap) apps to your backend mobile service using native SDKs.
- Send push notifications to your users - Send push notifications to your users of your app.
- Authenticate your users - Leverage popular identity providers like Facebook and Twitter to authenticate your app users.
- Store data in the cloud - Store user data in a SQL Database (by default) or in Mongo DB, DocumentDB, Azure Tables, or Azure Blobs.
- Build offline-ready apps with sync - Make your apps work offline and use Mobile Services to sync data in the background.
- Monitor and scale your apps - Monitor app usage and scale your backend as demand grows.
Mobile Services Concepts
The following are important features and concepts in the Mobile Services:
- Application key: a unique value that is used to limit access to your mobile service from random clients; this "key" is not a security token and is not used to authenticate users of your app.
- Backend: the mobile service instance that supports your app. A mobile service is implemented either as an ASP.NET Web API project (.NET backend ) or as a Node.js project (JavaScript backend).
- Identity provider: an external service, trusted by Mobile Services, that authenticates your app's users. Supported providers include: Facebook, Twitter, Google, Microsoft Account, and Azure Active Directory.
- Push notification: Service-initiated message that is sent to a registered device or user using Azure Notification Hubs.
- Scale: The ability to add, for an additional cost, more processing power, performance, and storage as your app becomes more popular.
- Scheduled job: Custom code that is run either on a pre-determined schedule or on-demand.
For more information, see Mobile Services Concepts.
Setup and Prerequisites
We assume that you have created a mobile service and a table. For more information see Create a table. In the code used in this topic, the table is named
TodoItem and it will have the following columns:
Text, and
The corresponding typed client-side .NET type is the following:
public class TodoItem { public string Id { get; set; } [JsonProperty(PropertyName = "text")] public string Text { get; set; } [JsonProperty(PropertyName = "complete")] public bool Complete { get; set; } }
Note that the JsonPropertyAttribute is used to define the mapping between the PropertyName mapping between the client type and the table.
How to: Create the Mobile Services client
The following code creates the
MobileServiceClient object that is used to access your mobile service.
MobileServiceClient client = new MobileServiceClient( "AppUrl", "AppKey" );
In the code above, replace
AppUrl and
AppKey with the mobile service URL and application key, in that order. Both of these are available on the Azure classic portal, by selecting your mobile service and then clicking on "Dashboard".
The application key is intended to filter-out random request against your mobile service, and it is distributed with the application. Because this key is not encrypted, it cannot be considered secure. To truly secure your mobile service data, you must instead authenticate users before allowing access. For more information, see How to: Authenticate users.
How to: Create a table reference
All of the code that accesses or modifies data in the Mobile Services table calls functions on the
MobileServiceTable object. You get a reference to the table by calling the GetTable method on an instance of the
MobileServiceClient, as follows:
IMobileServiceTable<TodoItem> todoTable = client.GetTable<TodoItem>();
This is the typed serialization model; see the discussion of the untyped serialization model below.
How to: Query data from a mobile service
This section describes how to issue queries to the mobile service, which includes the following functionality:
- Filter returned data
- Sort returned data
- Return data in pages
- Select specific columns
- Look up data by ID
A server-driven page size is enforced to prevent all rows from being returned. This keeps default requests for large data sets from negatively impacting the service. To return more than 50 rows, use the
Take method, as described in Return data in pages.
How to: Filter returned data
The following code illustrates how to filter data by including a
Where clause in a query. It returns all items from
todoTable whose
Complete property is equal to
false. The
Where function applies a row filtering predicate to the query against the table.
// This query filters out completed TodoItems and // items without a timestamp. List<TodoItem> items = await todoTable .Where(todoItem => todoItem.Complete == false) .ToListAsync();
You can view the URI of the request sent to the mobile service by using message inspection software, such as browser developer tools or Fiddler. If you look at the request URI below, notice that we are modifying the query string itself:
GET /tables/todoitem?$filter=(complete+eq+false) HTTP/1.1
This request would normally be translated roughly into the following SQL query on the server side:
SELECT * FROM TodoItem WHERE ISNULL(complete, 0) = 0
The function which is passed to the
Where method can have an arbitrary number of conditions. For example, the line below:
// This query filters out completed TodoItems where Text isn't null List<TodoItem> items = await todoTable .Where(todoItem => todoItem.Complete == false && todoItem.Text != null) .ToListAsync();
Would be roughly translated (for the same request shown before) as
SELECT * FROM TodoItem WHERE ISNULL(complete, 0) = 0 AND ISNULL(text, 0) = 0
where statement above will find items with
Complete status set to false with non-null
We also could have written that in multiple lines instead:
List<TodoItem> items = await todoTable .Where(todoItem => todoItem.Complete == false) .Where(todoItem => todoItem.Text != null) .ToListAsync();
The two methods are equivalent and may be used interchangeably. The former option -- of concatenating multiple predicates in one query -- is more compact and recommended.
where clause supports operations that be translated into the Mobile Services OData subset. This includes relational operators (==, !=, <, <=, >, >=), arithmetic operators (+, -, /, *, %), number precision (Math.Floor, Math.Ceiling), string functions (Length, Substring, Replace, IndexOf, StartsWith, EndsWith), date properties (Year, Month, Day, Hour, Minute, Second), access properties of an object, and expressions combining all of these.
How to: Sort returned data
The following code illustrates how to sort data by including an
OrderBy or
OrderByDescending function in the query. It returns items from
todoTable sorted ascending by the
Text field.
// Sort items in ascending order by Text field MobileServiceTableQuery<TodoItem> query = todoTable .OrderBy(todoItem => todoItem.Text) List<TodoItem> items = await query.ToListAsync(); // Sort items in descending order by Text field MobileServiceTableQuery<TodoItem> query = todoTable .OrderByDescending(todoItem => todoItem.Text) List<TodoItem> items = await query.ToListAsync();
How to: Return data in pages
By default, the server returns only the first 50 rows. You can increase the number of returned rows by calling the Take method. Use
Take along with the Skip method to request a specific "page" of the total dataset returned by the query. The following query, when executed, returns the top three items in the table.
// Define a filtered query that returns the top 3 items. MobileServiceTableQuery<TodoItem> query = todoTable .Take(3); List<TodoItem> items = await query.ToListAsync();
The following revised query skips the first three results and returns the next three after that. This is effectively the second "page" of data, where the page size is three items.
// Define a filtered query that skips the top 3 items and returns the next 3 items. MobileServiceTableQuery<TodoItem> query = todoTable .Skip(3) .Take(3); List<TodoItem> items = await query.ToListAsync();
You can also use the IncludeTotalCount method to ensure that the query will get the total count for all the records that would have been returned, ignoring any take paging/limit clause specified:
query = query.IncludeTotalCount();
This is a simplified scenario of passing hard-coded paging values to the
Take and
Skip methods. In a real-world app, you can use queries similar to the above with a pager control or comparable UI to let users navigate to previous and next pages.
Paging considerations for a .NET backend mobile service
To override the 50 row limit in a .NET backend mobile service, you must also apply the EnableQueryAttribute to the public GET method and specify the paging behavior. When applied to the method, the following sets the maximum returned rows to 1000:
How to: Select specific columns
You can specify which set of properties to include in the results by adding a
Select clause to your query. For example, the following code shows how to select just one field and also how to select and format multiple fields:
// Select one field -- just the Text MobileServiceTableQuery<TodoItem> query = todoTable .Select(todoItem => todoItem.Text); List<string> items = await query.ToListAsync(); // Select multiple fields -- both Complete and Text info MobileServiceTableQuery<TodoItem> query = todoTable .Select(todoItem => string.Format("{0} -- {1}", todoItem.Text.PadRight(30), todoItem.Complete ? "Now complete!" : "Incomplete!")); List<string> items = await query.ToListAsync();
All the functions described so far are additive, so we can just keep calling them and we'll each time affect more of the query. One more example:
MobileServiceTableQuery<TodoItem> query = todoTable .Where(todoItem => todoItem.Complete == false) .Select(todoItem => todoItem.Text) .Skip(3). .Take(3); List<string> items = await query.ToListAsync();
How to: Look up data by ID
LookupAsync function can be used to look up objects from the database with a particular ID.
// This query filters out the item with the ID of 37BBF396-11F0-4B39-85C8-B319C729AF6D TodoItem item = await todoTable.LookupAsync("37BBF396-11F0-4B39-85C8-B319C729AF6D");
How to: Insert data into a mobile service
If you want to perform insert, lookup, delete, or update operations on a type, then you need to create a member called Id. This is why the example class TodoItem has a member of name Id. A valid id value must always be present in update and delete operations.
The following code illustrates how to insert new rows into a table. The parameter contains the data to be inserted as a .NET object.
await todoTable.InsertAsync(todoItem);
If a unique custom ID value is not included in the
todoItem passed to the
todoTable.InsertAsync call, a value for ID is generated by the server and is set in the
todoItem object returned to the client.
To insert untyped data, you may take advantage of Json.NET as shown below.
JObject jo = new JObject(); jo.Add("Text", "Hello World"); jo.Add("Complete", false); var inserted = await table.InsertAsync(jo);
Here is an example using an email address as a unique string id.
JObject jo = new JObject(); jo.Add("id", "email@example.com"); jo.Add("Text", "Hello World"); jo.Add("Complete", false); var inserted = await table.InsertAsync(jo);
Working with ID values
Mobile Services supports unique custom string values for the table's id column. This allows applications to use custom values such as email addresses or user names for the ID.
String IDs provide you with the following benefits:
- IDs are generated without making a round-trip to the database.
- Records are easier to merge from different tables or databases.
- IDs values can integrate better with an application's logic.
When a string ID value is not set on an inserted record, Mobile Services generates a unique value for the ID. You can use the
Guid.NewGuid() method To generate your own ID values, either on the client or in a .NET mobile backend service. To learn more about generating GUIDs in a JavaScript backend mobile service, see How to: Generate unique ID values.
You can also use integer IDs for your tables. To use an integer ID, you must create your table with the
mobile table create command using the
--integerId option. This command is used with the Command-line Interface (CLI) for Azure. For more information on using the CLI, see CLI to manage Mobile Services tables.
How to: Modify data in a mobile service
The following code illustrates how to update an existing instance with the same ID with new information. The parameter contains the data to be updated as a .NET object.
await todoTable.UpdateAsync(todoItem);
To insert untyped data, you may take advantage of Json.NET like so. Note that when making an update, an ID must be specified, as that is how the mobile service identifies which instance to update. The ID can be obtained from the result of the
InsertAsync call.
JObject jo = new JObject(); jo.Add("Id", "37BBF396-11F0-4B39-85C8-B319C729AF6D"); jo.Add("Text", "Hello World"); jo.Add("Complete", false); var inserted = await table.UpdateAsync(jo);
If you attempt to update an item without providing the "Id" value, there is no way for the service to tell which instance to update, so the Mobile Services SDK will throw an
How to: Delete data in a mobile service
The following code illustrates how to delete an existing instance. The instance is identified by the "Id" field set on the
await todoTable.DeleteAsync(todoItem);
To delete untyped data, you may take advantage of Json.NET like so. Note that when making a delete request, an ID must be specified, as that is how the mobile service identifies which instance to delete. A delete request needs only the ID; other properties are not passed to the service, and if any are passed, they are ignored at the service. The result of a
DeleteAsync call is usually
null as well. The ID to pass in can be obtained from the result of the
InsertAsync call.
JObject jo = new JObject(); jo.Add("Id", "37BBF396-11F0-4B39-85C8-B319C729AF6D"); await table.DeleteAsync(jo);
If you attempt to delete an item without the "Id" field already set, there is no way for the service to tell which instance to delete, so you will get back a
MobileServiceInvalidOperationException from the service. Similarly, if you attempt to delete an untyped item without the "Id" field already set, you will again get back a
MobileServiceInvalidOperationException from the service.
How to: Call a custom API
A custom API enables you to define custom endpoints that expose server functionality that does not map to an insert, update, delete, or read operation. By using a custom API, you can have more control over messaging, including reading and setting HTTP message headers and defining a message body format other than JSON. For an example of how to create a custom API in your mobile service, see How to: define a custom API endpoint.
You call a custom API by calling one of the InvokeApiAsync method overloads on the client. For example, the following line of code sends a POST request to the completeAll API on the mobile service:
var result = await App.MobileService .InvokeApiAsync<MarkAllResult>("completeAll", System.Net.Http.HttpMethod.Post, null);
Note that this a typed method call, which requires that the MarkAllResult return type be defined. Both typed and untyped methods are supported. This is an almost trivial example as it is typed, sends no payload, has no query parameters, and doesn't change the request headers. For more realistic examples and a more a complete discussion of InvokeApiAsync, see Custom API in Azure Mobile Services Client SDKs.
How to: Register for push notifications
The Mobile Services client enables you to register for push notifications with Azure Notification Hubs. When registering, you obtain a handle that you obtain from the platform-specific Push Notification Service (PNS). You then provide this value along with any tags when you create the registration. The following code registers your Windows app for push notifications with the Windows Notification Service (WNS):
private async void InitNotificationsAsync() { // Request a push notification channel. var channel = await PushNotificationChannelManager .CreatePushNotificationChannelForApplicationAsync(); // Register for notifications using the new channel and a tag collection. var tags = new List<string>{ "mytag1", "mytag2"}; await MobileService.GetPush().RegisterNativeAsync(channel.Uri, tags); }
Note that in this example, two tags are included with the registration. For more information on Windows apps, see Add push notifications to your app.
Xamarin apps require some additional code to be able to register a Xamarin app running on iOS or Android app with the Apple Push Notification Service (APNS) and Google Cloud Messaging (GCM) services, respectively. For more information see Add push notifications to your app (Xamarin.iOS | Xamarin.Android).
When you need to send notifications to specific registered users, it is important to require authentication before registration, and then verify that the user is authorized to register with a specific tag. For example, you must check to make sure a user doesn't register with a tag that is someone else's user ID. For more information, see Send push notifications to authenticated users.
How to: Use periodic notifications in a Windows app
Windows supports period notifications (pull notifications) to update live tiles. With periodic notifications enabled, Windows will periodically access a custom API endpoint to update the app tile on the start menu. To use periodic notifications, you must define a custom API that returns XML data in a tile-specific format. For more information, see Periodic notifications.
The following example turns on period notifications to request tile template data from a tiles custom endpoint:
TileUpdateManager.CreateTileUpdaterForApplication().StartPeriodicUpdate( new System.Uri(MobileService.ApplicationUri, "/api/tiles"), PeriodicUpdateRecurrence.Hour );
Select a PeriodicUpdateRecurrance value that best matches the update frequency of your data.
How to: Use optimistic concurrency
Two or more clients may write changes to the same item, at the same time, in some scenarios. Without any conflict detection, the last write would overwrite any previous updates even if this was not the desired result. Optimistic Concurrency Control assumes that each transaction can commit and therefore does not use any resource locking. Before committing a transaction, optimistic concurrency control verifies that no other transaction has modified the data. If the data has been modified, the committing transaction is rolled back.
Mobile Services supports optimistic concurrency control by tracking changes to each item using the
__version system property column that is defined for each table created by Mobile Services. Each time a record is updated, Mobile Services sets the
__version property for that record to a new value. During each update request, the
__version property of the record included with the request is compared to the same property for the record on the server. If the version passed with the request does not match the server, then the Mobile Services .NET client library throws a
MobileServicePreconditionFailedException<T>. The type included with the exception is the record from the server containing the server's version of the record. The application can then use this information to decide whether to execute the update request again with the correct
__version value from the server to commit changes.
To enable optimistic concurrency the application defines a column on the table class for the
__version system property. The following definition provides an example.
public class TodoItem { public string Id { get; set; } [JsonProperty(PropertyName = "text")] public string Text { get; set; } [JsonProperty(PropertyName = "complete")] public bool Complete { get; set; } // *** Enable Optimistic Concurrency *** // [JsonProperty(PropertyName = "__version")] public byte[] Version { set; get; } }
Applications using untyped tables enable optimistic concurrency by setting the
Version flag on the
SystemProperties of the table as follows.
//Enable optimistic concurrency by retrieving __version todoTable.SystemProperties |= MobileServiceSystemProperties.Version;
The following code shows how to resolve a write conflict once detected. The correct
__version value must be included in the
UpdateAsync() call to commit a resolution.
private async void UpdateToDoItem(TodoItem item) { MobileServicePreconditionFailedException<TodoItem> exception = null; try { //update at the remote table await todoTable.UpdateAsync(item); } catch (MobileServicePreconditionFailedException<TodoItem> writeException) { exception = writeException; } if (exception != null) { // Conflict detected, the item has changed since the last query // Resolve the conflict between the local and server item await ResolveConflict(item, exception.Item); } } private async Task ResolveConflict(TodoItem localItem, TodoItem serverItem) { //Ask user to choose the resoltion between versions MessageDialog msgDialog = new MessageDialog(String.Format("Server Text: \"{0}\" \nLocal Text: \"{1}\"\n", serverItem.Text, localItem.Text), "CONFLICT DETECTED - Select a resolution:"); UICommand localBtn = new UICommand("Commit Local Text"); UICommand ServerBtn = new UICommand("Leave Server Text"); msgDialog.Commands.Add(localBtn); msgDialog.Commands.Add(ServerBtn); localBtn.Invoked = async (IUICommand command) => { // To resolve the conflict, update the version of the // item being committed. Otherwise, you will keep // catching a MobileServicePreConditionFailedException. localItem.Version = serverItem.Version; // Updating recursively here just in case another // change happened while the user was making a decision UpdateToDoItem(localItem); }; ServerBtn.Invoked = async (IUICommand command) => { RefreshTodoItems(); }; await msgDialog.ShowAsync(); }
For a more complete example of using optimistic concurrency for Mobile Services, see the Optimistic Concurrency Tutorial.
How to: Bind mobile service data to a Windows user interface
This section shows how to display returned data objects using UI elements in a Windows app. To query incomplete items in
todoTable and display it in a very simple list, you can run the following example code to bind the source of the list with a query. Using
MobileServiceCollection creates a mobile services-aware binding collection.
// This query filters out completed TodoItems. MobileServiceCollection<TodoItem, TodoItem> items = await todoTable .Where(todoItem => todoItem.Complete == false) .ToCollectionAsync(); // itemsControl is an IEnumerable that could be bound to a UI list control IEnumerable itemsControl = items; // Bind this to a ListBox ListBox lb = new ListBox(); lb.ItemsSource = items;
Some controls in the managed runtime support an interface called ISupportIncrementalLoading. This interface allows controls to request extra data when the user scrolls. There is built-in support for this interface for universal Windows 8.1 apps via
MobileServiceIncrementalLoadingCollection, which automatically handles the calls from the controls. To use
MobileServiceIncrementalLoadingCollection in Windows apps, do the following:
MobileServiceIncrementalLoadingCollection<TodoItem,TodoItem> items; items = todoTable.Where(todoItem => todoItem.Complete == false) .ToIncrementalLoadingCollection(); ListBox lb = new ListBox(); lb.ItemsSource = items;
To use the new collection on Windows Phone 8 and "Silverlight" apps, use the
ToCollection extension methods on
IMobileServiceTableQuery<T> and
IMobileServiceTable<T>. To actually load data, call
MobileServiceCollection<TodoItem, TodoItem> items = todoTable.Where(todoItem => todoItem.Complete==false).ToCollection(); await items.LoadMoreItemsAsync();
When you use the collection created by calling
ToCollectionAsync or
ToCollection, you get a collection which can be bound to UI controls. This collection is paging-aware, i.e., a control can ask the collection to "load more items", and the collection will do it for the control. At that point there is no user code involved, the control will start the flow. However, since the collection is loading data from the network, it's expected that some times this loading will fail. To handle such failures, you may override the
OnException method on
MobileServiceIncrementalLoadingCollection to handle exceptions resulting from calls to
LoadMoreItemsAsync performed by controls.
Finally, imagine that your table has many fields, but you only want to display some of them in your control. You may use the guidance in the section "Select specific columns" above to select specific columns to display in the UI.
How to: Authenticate users
Mobile Services supports authenticating and authorizing app users using a variety of external identity providers: Facebook, Google, Microsoft Account, Twitter, and Azure Active Directory. You can set permissions on tables to restrict access for specific operations to only authenticated users. You can also use the identity of authenticated users to implement authorization rules in server scripts. For more information, see the tutorial Add authentication to your app.
Two authentication flows are supported: a server flow and a client flow. The server flow provides the simplest authentication experience, as it relies on the provider's web authentication interface. The client flow allows for deeper integration with device-specific capabilities as it relies on provider-specific device-specific SDKs.
Server flow
To have Mobile Services manage the authentication process in your Windows apps, you must register your app with your identity provider. Then in your mobile service, you need to configure the application ID and secret provided by your provider. For more information, see the tutorial Add authentication to your app.
Once you have registered your identity provider, simply call the LoginAsync method with the MobileServiceAuthenticationProvider value of your provider. For example, the following code initiates a server flow sign-in by using Facebook.
private MobileServiceUser user; private async System.Threading.Tasks.Task Authenticate() { while (user == null) { string message; try { user = await client .LoginAsync(MobileServiceAuthenticationProvider.Facebook); message = string.Format("You are now logged in - {0}", user.UserId); } catch (InvalidOperationException) { message = "You must log in. Login Required"; } var dialog = new MessageDialog(message); dialog.Commands.Add(new UICommand("OK")); await dialog.ShowAsync(); } }
If you are using an identity provider other than Facebook, change the value of MobileServiceAuthenticationProvider above to the value for your provider.
In this case, Mobile Services manages the OAuth 2.0 authentication flow by displaying the sign-in page of the selected provider and generating a Mobile Services authentication token after successful sign-on with the identity provider. The LoginAsync method returns a MobileServiceUser, which provides both the userId of the authenticated user and the MobileServiceAuthenticationToken, as a JSON web token (JWT). This token can be cached and re-used until it expires. For more information, see Caching the authentication token.
Client flow
Your app can also independently contact the identity provider and then provide the returned token to Mobile Services for authentication. This client flow enables you to provide a single sign-in experience for users or to retrieve additional user data from the identity provider.
Single sign-in using a token from Facebook or Google
In the most simplified form, you can use the client flow as shown in this snippet for Facebook or Google.
var token = new JObject(); // Replace access_token_value with actual value of your access token obtained // using the Facebook or Google SDK. token.Add("access_token", "access_token_value"); private MobileServiceUser user; private async System.Threading.Tasks.Task Authenticate() { while (user == null) { string message; try { // Change MobileServiceAuthenticationProvider.Facebook // to MobileServiceAuthenticationProvider.Google if using Google auth. user = await client .LoginAsync(MobileServiceAuthenticationProvider.Facebook, token); message = string.Format("You are now logged in - {0}", user.UserId); } catch (InvalidOperationException) { message = "You must log in. Login Required"; } var dialog = new MessageDialog(message); dialog.Commands.Add(new UICommand("OK")); await dialog.ShowAsync(); } }
Single sign-in using Microsoft Account with the Live SDK
To be able to authenticate users, you must register your app at the Microsoft account Developer Center. You must then connect this registration with your mobile service. Complete the steps in Register your app to use a Microsoft account login to create a Microsoft account registration and connect it to your mobile service. If you have both Windows Store and Windows Phone 8/Silverlight versions of your app, register the Windows Store version first.
The following code authenticates using Live SDK and uses the returned token to sign-in to your mobile service.
private LiveConnectSession session; //private static string clientId = "<microsoft-account-client-id>"; private async System.Threading.Tasks.Task AuthenticateAsync() { // Get the URL the mobile service. var serviceUrl = App.MobileService.ApplicationUri.AbsoluteUri; // Create the authentication client for Windows Store using the mobile service URL. LiveAuthClient liveIdClient = new LiveAuthClient(serviceUrl); //// Create the authentication client for Windows Phone using the client ID of the registration. //LiveAuthClient liveIdClient = new LiveAuthClient(clientId); while (session == null) { // Request the authentication token from the Live authentication service. // The wl.basic scope is requested. LiveLoginResult result = await liveIdClient.LoginAsync(new string[] { "wl.basic" }); if (result.Status == LiveConnectSessionStatus.Connected) { session = result.Session; // Get information about the logged-in user. LiveConnectClient client = new LiveConnectClient(session); LiveOperationResult meResult = await client.GetAsync("me"); // Use the Microsoft account auth token to sign in to Mobile Services. MobileServiceUser loginResult = await App.MobileService .LoginWithMicrosoftAccountAsync(result.Session.AuthenticationToken); // Display a personalized sign-in greeting. string title = string.Format("Welcome {0}!", meResult.Result["first_name"]); var message = string.Format("You are now logged in - {0}", loginResult.UserId); var dialog = new MessageDialog(message, title); dialog.Commands.Add(new UICommand("OK")); await dialog.ShowAsync(); } else { session = null; var dialog = new MessageDialog("You must log in.", "Login Required"); dialog.Commands.Add(new UICommand("OK")); await dialog.ShowAsync(); } } }
Caching the authentication token
In some cases, the call to the login method can be avoided after the first time the user authenticates. You can use PasswordVault for Windows Store apps to cache the current user identity the first time they log in and every subsequent time you check whether you already have the user identity in our cache. When the cache is empty, you still need to send the user through the login process.
// After logging in PasswordVault vault = new PasswordVault(); vault.Add(new PasswordCredential("Facebook", user.UserId, user.MobileServiceAuthenticationToken)); // Log in var creds = vault.FindAllByResource("Facebook").FirstOrDefault(); if (creds != null) { user = new MobileServiceUser(creds.UserName); user.MobileServiceAuthenticationToken = vault.Retrieve("Facebook", creds.UserName).Password; } else { // Regular login flow user = new MobileServiceuser( await client .LoginAsync(MobileServiceAuthenticationProvider.Facebook, token); var token = new JObject(); // Replace access_token_value with actual value of your access token token.Add("access_token", "access_token_value"); } // Log out client.Logout(); vault.Remove(vault.Retrieve("Facebook", user.UserId));
For Windows Phone apps, you may encrypt and cache data using the ProtectedData class and store sensitive information in isolated storage.
How to: Handle errors
There are several ways to encounter, validate, and work around errors in Mobile Services.
As an example, server scripts are registered in a mobile service and can be used to perform a wide range of operations on data being inserted and updated, including validation and data modification. Imagine defining and registering a server script that validate and modify data, like so:
function insert(item, user, request) { if (item.text.length > 10) { request.respond(statusCodes.BAD_REQUEST, { error: "Text cannot exceed 10 characters" }); } else { request.execute(); } }
This server-side script validates the length of string data sent to the mobile service and rejects strings that are too long, in this case longer than 10 characters.
Now that the mobile service is validating data and sending error responses on the server-side, you can update your .NET app to be able to handle error responses from validation.
private async void InsertTodoItem(TodoItem todoItem) { // This code inserts a new TodoItem into the database. When the operation completes // and Mobile Services has assigned an Id, the item is added to the CollectionView try { await todoTable.InsertAsync(todoItem); items.Add(todoItem); } catch (MobileServiceInvalidOperationException e) { // Handle error } }
How to: Work with untyped data
The .NET client is designed for strongly typed scenarios. However, sometimes, a more loosely typed experience is convenient; for example, this could be when dealing with objects with open schema. That scenario is enabled as follows. In queries, you forego LINQ and use the wire format.
// Get an untyped table reference IMobileServiceTable untypedTodoTable = client.GetTable("TodoItem"); // Lookup untyped data using OData JToken untypedItems = await untypedTodoTable.ReadAsync("$filter=complete eq 0&$orderby=text");
You get back JSON values that you can use like a property bag. For more information on JToken and Json.NET, see Json.NET
How to: Design unit tests
The value returned by
MobileServiceClient.GetTable and the queries are interfaces. That makes them easily "mockable" for testing purposes, so you could create a
MyMockTable : IMobileServiceTable<TodoItem> that implements your testing logic.
How to: Customize the client
This section shows ways in which you can customize the request headers and customize the serialization of JSON objects in the response.
How to: Customize request headers
To support your specific app scenario, you might need to customize communication with the mobile service. For example, you may want to add a custom header to every outgoing request or even change responses status codes. You can do this by providing a custom DelegatingHandler, as in the following example:
public async Task CallClientWithHandler() { MobileServiceClient client = new MobileServiceClient( "AppUrl", "AppKey" , new MyHandler() ); IMobileServiceTable<TodoItem> todoTable = client.GetTable<TodoItem>(); var newItem = new TodoItem { Text = "Hello world", Complete = false }; await table.InsertAsync(newItem); } public class MyHandler : DelegatingHandler { protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { // Add a custom header to the request. request.Headers.Add("x-my-header", "my value"); var response = await base.SendAsync(request, cancellationToken); // Set a differnt response status code. response.StatusCode = HttpStatusCode.ServiceUnavailable; return response; } }
This code adds a new x-my-header header in the request and arbitrarily sets the response code to unavailable. In a real-world scenario, you would set the response status code based on some custom logic required by your app.
How to: Customize serialization
The Mobile Services client library uses Json.NET to convert a JSON response into .NET objects on the client. You can configure the behavior of this serialization between .NET types and JSON in the messages. The MobileServiceClient class exposes a
SerializerSettings property of type JsonSerializerSettings
Using this property, you may set one of the many Json.NET properties, such as the following:
var settings = new JsonSerializerSettings(); settings.ContractResolver = new CamelCasePropertyNamesContractResolver(); client.SerializerSettings = settings;
This property converts all properties to lower case during serialization.


text:
7 Credit Score Myths Busted
March 1, 2012 : Rob Berger - Guest Contributor
Ed. Note: We're lucky to have Rob Berger of Dough Roller as a guest blogger on Block Talk this week. Enjoy!
One of the most important personal finance tools is also the most misunderstood: credit scores.
These 3-digit numbers can have a significant impact on your finances. They determine the interest rate on mortgages, car loans and credit cards, and affect the cost of car insurance premiums. And what most people don't know is that they can even be the deciding factor in whether an employer hires a job applicant or not.
But these scores need not be shrouded in mystery anymore — today, we bust 7 myths about credit scores.
Myth #1: You have one credit score
The truth is that each individual with a credit file has multiple credit scores. There are three major credit-reporting agencies (Equifax, Experian, and TransUnion), and each of them has slightly different information about each consumer. Because the information is not identical, the FICO scores they generate based on the data they have vary from one agency to the next.
In addition, there are multiple versions of FICO scores. Different industries evaluate risk in different ways, and the makers of the FICO score have customized the mathematical formula to fit these needs. As a result, a mortgage lender and auto loan company may see different FICO scores for the same consumer.
Myth #2: You can get your credit score for free
Thanks to a federal law, consumers can get a free copy of their credit report at www.annualcreditreport.com. But the report you get will not include your credit scores.
There are some sites that offer a free credit score, such as Credit Karma or Credit Sesame. Called "educational scores," these scores can help you understand how creditors see you as a risk. But they aren't the actual scores that most creditors look at while evaluating a loan application. To get your FICO scores, you'll have to pay for them.
Myth #3: Your credit score only matters if you get a loan
I cringe every time I hear somebody say this! Car insurance companies use credit scores to assess risk and set premiums; employers check credit reports and scores during the application process, particularly if the job involves finances or handling money. And some banks will use credit scores when potential customers apply for a savings or checking account.
Myth #4: A FICO credit score is the only one that matters
Most creditors use a version of the FICO score, making it the gold standard of scores. As a result, non-FICO scores are sometimes referred to as FAKO scores. But educational credit scores still provide a reasonably clear picture of a consumer's credit risk. As noted above, they are offered for free from several websites, and the scores include information on the factors affecting the score. Armed with this information, consumers can begin to improve their credit scores, including their FICO scores.
Myth #5: It's hard to improve your score
While improving your credit score takes discipline and time, it's not impossible. The key factors that affect your FICO score are (1) payment history, (2) amounts owed, (3) length of credit history, (4) new credit, and (5) types of credit used. Just paying your bills on time and working to lower debt will improve credit scores very quickly for most consumers. There are, of course, extreme circumstances like a foreclosure or bankruptcy that will lower a credit score substantially, but one can significantly improve their credit score even after bankruptcy by managing finances responsibly.
Myth #6: Cancelling credit cards will improve your score
Getting out of debt will improve your credit score. But cancelling credit cards, at least in the short term, can actually hurt your score. The reason is that one factor considered in the FICO formula is the amount of a consumer's available credit – and by cancelling a credit card, you reduce the amount of available credit.
Myth #7: Checking your score lowers your credit score
One factor affecting your FICO score is credit inquiries. When a potential lender checks your report and score as part of a credit application, it's called a "hard pull," and this type of inquiry can temporarily lower your score. This is particularly true when a person applies for a lot of credit in a short period of time.
But not all credit inquiries are alike. FICO knows when the inquiry is the result of a credit application and when it's the result of a consumer checking his or her own score. Called a "soft pull," checking your own credit will not hurt your score.
Rob Berger is a personal finance blogger at Dough Roller, where he seeks to simplify finance for his readers by giving helpful hints and uncovering little-known financial facts. Before uploading a post, he tests it by asking himself if his teen kids will find it useful when they start managing their own money.

subset: commoncrawl


text:
Berkshire Community College will hold a free "World Cup 101" information session at 4 p.m. Wednesday, June 18, in K111 in BCC's Koussevitzky Arts Center.
The session, which is open to the general public, will feature Alan Rubin, a former soccer player and an instructor at the Osher Lifelong Learning Institute (OLLI) at BCC.
The session will cover a variety of topics aimed to increase the audience's knowledge about the World Cup as well as soccer in general.
For more information about Rubin, the World Cup and soccer, visit www.understandingsoccer.com.
The session is expected to run approximately 1.5 hours. No registration is required. Information: (413) 499-4660.


text:
As technology advances, new ways to preserve the video games of the past continually emerge. Virtual Apple has collected almost all Apple ][ and Apple IIgs games for play in your browser. I played a lot of Oregon Trail in the computer lab of my elementary school, but there were plenty of other classics that graced the Apple. From Pirates! to The Bard's Tale, there are a bunch of great games to kill your boredom.
I'm sort of wary to feature sites like this, as it is usually unlikely that they have all of those pesky legality issues wrapped up nice and neat. While a lot of these games have probably crossed into public domain territory, there could still be someone holding the rights to some of them. Either way, I figure I'll just let you decide your own morals.
And besides, I care more about preserving games this old if they are so obviously forgotten. If anyone still owns the rights to any of these, then obviously they aren't doing much with them. So I recommend giving yourself a nice education in the Apple gaming of old, by hitting this link right here.
All credit to Jasmine over at Bitmob for pointing this site out and helping me kill a Saturday with some Oregon Trail. What are your favorites?


text:
First Day of Daycare
Tuesday, June 02, 2009
The night before my first day of work, Hadley had a fever of 104.5, freaking us out and keeping us up all night long. By Tuesday she was better, and here she is ready to rock her first day of daycare with her backpack. No, I don't make her tote her things around. It was all a ruse for the camera. But she loves saying the word "Backpack", you know like Dora the Explorer.
So what has changed in two weeks? Well, she gained ONE POUND! Holy crap. Forget Pediasure, Carnation Instant Breakfast and months of double buttered bread. All it took was watching 15 kids eating to garner an interest in food.
She is doing really well during the day and has been called an 'Independent Spirit' who goes all over the place doing her own thing. The look on her face when I pick her up is priceless. She immediately drops everything she is doing, jumps out of arms or climbs out of the sandbox to come running over to me all the while yelling 'Mama'. Warms the cockles of my heart.
The only issues we are currently having is that she has brought home the concept of "MINE" said ad infinitum at loud volume followed by screeching. She also has taken to throwing completely hysterical fits, but just with me, not DG. It's like she is punishing me for leaving her all day. I'm not sure how to deal with it and may need to do some reading online. For example today, David picked her up from daycare and came to get me at work. She was calling my name out the whole way and the two of them were having a great time, until she saw me. Upon seeing me and having me hug her, she grew hysterical and wouldn't let me touch her or hold her. She was INCONSOLABLE. So much for Mama's touch. Any ideas?
Labels: Hadley


text:
Japanese studio FORM/Kouichi Kimura have completed a house in Shiga, Japan, that spreads out from a central courtyard. More »
Monthly archives: March 2010
House of Spread by FORM/Kouichi Kimura
The Rock Paper Scissors Playing Glove
by Steve Hoefer
San Francisco designer Steve Hoefer has designed a glove that plays Rock Paper Scissors with its wearer. More »
Tamina Thermal Baths by Smolenicky & Partner
Smolenicky & Partner Architektur of Zurich have completed thermal baths featuring oval apertures between tall wooden columns at Bad Ragaz, Switzerland. More »
MoMA acquires @
Dezeenwire: the Museum of Modern Art in New York has taken the @ symbol into its collection - MoMA
Vue by fuseproject
and Issey Miyake
Yves Béhar of San Francisco design studio fuseproject has collaborated with Japanese fashion designer Issey Miyake to design a watch where the hour markers fade in and out of view. Update: Vue can now be bought at Dezeen Watch Store.
House Antero de Quental by Manuel Maia Gomes
Photographer Fernando Guerra has sent us his photographs of a spiral staircase lined with bookcases by Portuguese architect Manuel Maia Gomes. More »
Livraria de Vila by Isay Weinfeld Arquitecto
Livraria de Vila is a bookshop in São Paulo with a store-front made of revolving bookcases, designed by Brazilian studio Isay Weinfeld Arquitecto. More »
Grasshopper by Wieki Somers
for Tectona
Since spring is on the way, here's a range of metal garden furniture designed by Dutch designer Wieki Somers for French brand Tectona. More »
Double House by Tsuyoshi Kawata
Altis Belém Hotel by Risco
Competition: five copies of Arium - Weather
and Architecture to be won
Dezeen have got together with J Mayer H Architects to offer our readers the chance to win one of five copies of Arium - Weather and Architecture, edited by Jurgen Mayer H and Neeraj Bhatia. More »
132 Social Housing Block by Estudio Entresitio
Architectural photographer Roland Halbe has sent us his photographs of a social housing project in Madrid by Spanish office Estudio Entresitio. More »
A House Made of Two by Akio Nakasa
Japanese architect Akio Nakasa has completed two adjacent houses for one family, side by side in Kanagawa, Japan. More »
Masked - In Flight by Sruli Recht
To coincide with Icelandic design festival DesignMarch, which began in Reykjavik yesterday, here are some parchment gas masks by Reykjavik designer Sruli Recht. More »
Embedded Project by HHD_FUN
Niyang River Visitor Center by
Standardarchitecture-Zhaoyang Studio
Architects Standardarchitecture-Zhaoyang Studio have completed a visitors centre next to a river in Tibet. More »
Wrecking Ball Lamp and Crane Lamp
by Studio Job
Artists Studio Job will exhibit lamps suspended from bronze models of a crane and a wrecking ball at the Carpenters Workshop Gallery in London later this week. More »
Upholstered Tapas Chair by Matthew Hilton
Milan 2010: British designer Matthew Hilton will launch an upholstered three-legged chair in Milan next month. More »
Sign up for a daily roundup
of all our stories


text:
Life-Changing Moments with God: Praying Scripture Every Day
- All Products
- Academic
- Accompaniment Tracks
- Audiobooks
- Bible Accessories
- Bible Covers
- Bible Studies & Curriculum
- Bibles
- Books
- Buy in Bulk
- Catholic
- Children
- Christian Living
- Church & Pastoral
- Church Supplies
- Closeouts
- Clothing & Accessories
- Crafts & Recreation
- Download
- DVDs
- eBooks
- eBooks On Sale
- Family
- Fiction
- Gift & Home
- Homeschool
- Last Chance Bargains
- Music
- New Release
- Non-Fiction
- Pre-Order
- Slightly Imperfect
- Software
- Spanish
- Subscriptions
- Sunday School
- Teens
- Toys
Product Description
Product Information
|Format: Imitation Leather
Number of Pages: 384
Vendor: Thomas Nelson
Publication Date: 2007
|Dimensions: 7.25 X 5.25 X 1.25 (inches)
Availability: In Stock
Other Customers Also Purchased
Until Christ Returns: Living Faithfully Today While We Wait for Our Glorious TomorrowDr. David JeremiahThomas Nelson / 2007 / Trade Paperback$11.99 Retail:4.5 Stars Out Of 5 3 Reviews
$14.99Save 20% ($3.00)Availability: In StockCBD Stock No: WW1883X
Loving Correction: First CorinthiansSpiros ZodhiatesAMG Publishers / 2001 / Trade Paperback$14.39 Retail:1 Stars Out Of 5 1 Reviews
$17.99Save 20% ($3.60)Availability: In StockCBD Stock No: WW9574777
Was Christ God? (John 1:1-18)Spiros ZodhiatesAMG Publishers / 1998 / Trade Paperback$22.49 Retail:
$24.99Save 10% ($2.50)Availability: In StockCBD Stock No: WW57504
Preaching the CrossMark Dever, J. Ligon Duncan, C.J. MahaneyCrossway / 2007 / Hardcover$14.99 Retail:4.5 Stars Out Of 5 3 Reviews
$19.99Save 25% ($5.00)Availability: In StockCBD Stock No: WW348286
Related Products
Daily Light on the Daily PathThe Samuel Bagster FamilyWhitaker House / 1999 / Trade Paperback$8.79 Retail:5 Stars Out Of 5 8 Reviews
$15.99Save 45% ($7.20)Availability: In StockCBD Stock No: WW685566
Publisher's Description
Nothing matters more than the Word.
No devotional has touched Christians' hearts and minds quite like Daily Light. Now popular pastor David Jeremiah brings his insights to update this beloved classic for today's reader. Each day of the year, readers will benefit from one of Dr. Jeremiah's favorite scripture-based devotions. He has paraphrased Scriptures from the NKJV in first and second person so that readers can understand clearly that God's Word is personally directed to them: "Be strong in the Lord and in the power of His might" (Eph. 6:10); "Thanks be to God, who gives you the victory through our Lord Jesus Christ" (1 Cor. 15:54); "You shall know the truth and the truth shall make you free" (James 1:25). Each daily devotion also includes a short prayer from Dr. Jeremiah to guide readers even further into scriptural meditation.
Author Bio
David Jeremiah is the founder of Turning Point, an international ministry committed to providing Christians with sound Bible teaching through radio and television, the Internet, live events, and resource materials and books. He is the author of more than fifty books including Captured by Grace, AngelsWho They Are and How They Help, What in the World Is Going On?,and Agents of the Apocalypse.
David serves as the senior pastor of Shadow Mountain Community Church in San Diego, California, where he resides with his wife, Donna. They have four grown children and twelve grandchildren.
Product Reviews
Sandra Odom5 Stars Out Of 5September 20, 2010Sandra OdomIt lives up to it's title, life-changing. So much scripture is woven within the language of this devotional and the insight is always challenging. I have ordered this several times and given as a gift. So grateful to David Jeremiah for re-publishing this, adding more insight to what was already there.
John Grabis5 Stars Out Of 5March 3, 2010John GrabisAn extraordinarily simple, yet direct, daily message taken directly from the Scriptures and personalized for first-person reading. Only the closing prayer is non-Scripture, but it draws together the theme of the day and sends you off with a delightful "God push". I've also used this as a study resource when searching for specific themes. Keep this at your breakfast table for the best nourishment of the day.
Sandra Odom5 Stars Out Of 5February 25, 2009Sandra OdomWhat a wonderful daily reading that interjects His life giving Word into your life. Great way to start off the day reminding us of His promises!
Donald Caywood5 Stars Out Of 5January 16, 2009Donald CaywoodThis is an AWESOME daily time with God, praying scriptures. We do it together daily, and it's a favorite thing to give new believers, old believers, people in the hospital, people making changes in their lives, etc!
Paul5 Stars Out Of 5June 15, 2008PaulI beautifully made book with even better contents. A great resource to supplement your devotions. I highly recommend it.
Ask Christianbook
Ask Christianbook
Find Related Products
- Books >> Christian Living >> Prayer >> General >> Praying Scripture
- Books >> Devotionals >> Daily
- Books >> Devotionals >> General
- Christian Living >> Prayer >> General >> Praying Scripture


text:
Enter Keyword
Enter Text Above
The basis of ALL search engine rankings is keywords.
Users enter keyphrases in Search Engines to get information they need,
It is VERY important that you optimize for such keyphrases.
This tool provides you keyword suggestions and reports on their monthly search estimates.
This tools has been build using the WordTracker Database.


text:
Staying together: Local couple eloped 63 years ago
As a young teen, Timothy Mingo did not have the blessing of his now-wife's father
Gigi Tinsley | 7/3/2014, 9 a.m.
When Timothy "Tim" Mingo, 20, the son of George and Marie Mingo saw Catherine Clark, the 17 year old daughter of Daisy and Fred Clark, for the first time "it was love at first sight."
The couple met in 1946 at Homerville Elementary and Senior High School in Homerville, GA., located exactly 84 miles from the center of 15 major cities, including Thomasville, GA, Lake City and Jacksonville, FL.
After meeting at school and falling in love with each other in 1951, Tim went to talk with Mr. Fred to ask for Catherine's hand in marriage. Mr. Fred said no.
On Jan. 9, 1951 Tim and Catherine eloped. They went over to Pearson, GA and were married.
Several months after getting married, Tim was drafted into the Army and had to leave his new bride with her parents. She lived with them until he returned from active duty, two years later.
In 1962, Timothy and Catherine moved to Miami to create a better life for their family. After their arrival the family settled in and Catherine joined Friendship Missionary Baptist Church under the leadership of Pastor James Emanuel Jenkins.
In 1971 the couple purchased a beautiful home in Carol City. Catherine immediately moved her membership to Greater New Bethel Baptist Church where Dr. David G. Horton was and is the pastor.
To this union nine children, including twin girls, were born: Shirley McCullough, Timothy, Jr., Connie Synder, Cathy, Cynthia Denise Powell, Bridget Bernice Chew, Deloris Delfreda, Roddery Kenneth and, Alfonso Lorenzo Mingo. They have 18 grandchildren and 11 great-grandchildren.
In 1992, Timothy joined Greater New Bethel Baptist Church to worship with his wife and children.
On January 12, 2002 Timothy and Catherine renewed their vows after 50 years of marriage at Greater New Bethel Baptist Church. Their Pastor Horton preformed the ceremony.
All of the children, grandchildren and great grand's were apart of the wedding party. "Since I never had the wedding I always dreamed about, my 50th anniversary ceremony was extra special to me," Catherine said. Her sisters, Estella Delaughter and Cora Fead, were her maids of honor. The reception, held at Les Violin in Hialeah and wedding was directed by Evangelist Ladi G. Jenkins, the niece of Catherine Mingo.
Timothy and Catherine both retired in 1971. Timothy worked at Associate Grocery as a selector and Catherine worked at Publix in the culinary department.
"We thank God for keeping us this long, together and still loving each other," Tim and Catherine said.
When asked, What advice would you give to couples or those getting married, today they said. "Be true to each other, give each other space, recognize that you are individuals with different personality traits. Support one another and learn to be a great listener."
Timothy added, "Hold on to the coat." In other words, "Don't let go, Remember it's cheaper to keep her and stay true to your vows."


text:
Ubisoft CEO Yves Guillemot is looking to push Ubisoft to release even more open-world games in the upcoming console generation. Over the past seven years Ubisoft have put nine open-world titles onto the market, but seek to exceed this number when the Xbox One and PS4 are released, later this year.
As reported by Joystiq, Guillemot told investors that Through those years, we have developed technologies, we have grown the experience of our teams, we have put in place pre-sized processes to ensure efficient collaboration between multiple studios working simultaneously on the same massive maps. This gives us a unique opportunity in the industry to bring open-world on a regular basis."
Ubisoft currently have 2 open-world games in the pipeline, Watch Dogs and Assassin's Creed 4, which are slated for release later this year and said, by Yves Guillemot, to be in the top 5 pre-ordered games for the Xbox One and PS4.
Are open-world games something you want to see more of in the future? Let us know on twitter, facebook and our new comment system below.


text:
BSXinsight shipped!
Finally! We have shipped to all of our domestic kickstarters and are awaiting our CE certification so that we can ship our international backers. We anticipate it being awarded to... Read more
The finish line is near!
Yes, we are finally to a point that we will begin shipping products from our facility starting early next week! It has been a long journey but we have made... Read more
BSXinsight Shipping Update
BSXinsight Shipping Update We are VERY pleased to update you on the progress that we made and what our current status is.
We will begin the final assembly of the... Read more
Updated Shipping for January
We hope you had a great holiday season!
I wanted to take a quick moment to give you an update on what January is looking like for us. As we... Read more
December Shipping Update
Dear Co-Creators,
Happy holidays! We hope you are getting ready for a great Holiday season and that you aren't neglecting your training too badly.
Since our last update we have... Read more
We are almost there!
Hello Co-Creators,
It's time for another update!
We are still on track for our December ship date and we are just as excited as you! There has been a lot... Read more
On target for December!
In an effort to keep you continually a part of development efforts at BSX, we are excited to announce some big wins for BSXinsight-the world's first wearable lactate threshold... Read more
Couple of QUICK Updates
Kickstarter likes to call you all backers, but we think of you as co-workers because your input is critical to helping us build the best sensor possible for endurance athletes... Read more
What's Better than Stretch Goals?
Many of you have asked us about stretch goals -- or may have seen the graphic indicating that we were going to include Sp02 as one.
And the truth... Read more
We Need Your Help to Keep Dancing!
We've been live on Kickstarter less than a week and we're ALMOST to our $50,000 goal. That would not be possible without the enthusiastic support of you guys, our... Read more
Phew! - Day 1: Complete
Today has been a whirlwind, but we wanted to take a second and let our initial backers know that: YOU. ARE. AWESOME.
We cannot tell you how much it means... Read more


text:
JOpt.SDK is an automated vehicle routing and dispatching component for both Java/J2SE and .NET. It can solve Travelling Salesman Problems (TSP) and Capacitated Vehicle Routing Problems with Time Windows (CVRP,VRPTW). It offers route and transport optimisation with respect to various constraints such as time windows, load capacities, and prescribed itinerary. The component is based on genetic algorithms, and automatically determines an optimized allocation of vehicels to an arbitrary set of orders.
Support for maxDaily and maxWeekly working times. Capacity control now supports inititalLoad and weightingFactor. Service times may now comprise several days at one node.
URL: JOpt.SDK Routing Software and Resource Dispatching Library


text:
You may feel altruistic today and want to give in the spirit of kindness to those in need. Perhaps you are considering participating in a philanthropic endeavor, a volunteer opportunity, or something on a smaller, more personal scale. You might think about identifying individuals close to home or groups around the world that could benefit from the gift of your time or charity. It may be a good idea to make a list of these people or groups, and choose the ones you can channel your generosity toward. Consider making a financial donation or offering your skills, energy, or time in the name of selfless service. Anything charitable you do today will benefit those you help and may fill you with gratitude for the abundance in your life.
When we act in the service of those in need, we give them a priceless gift. Being able to show our concern for others is one of our grandest capabilities. We are filled with joy as we come to appreciate how everything we do and give can profoundly impact the lives of others. And we come to see, from the perspective that being able to give affords us, just how incredibly blessed we are. Identify a person or group who can benefit from your humanity and generosity today, and you will be on your way to giving and receiving a priceless gift of service.
What do you think?
Discuss astrology and share your opinion
Want more DailyOM?
Register for your free email,
or browse previous horoscopes
What do you think?
Discuss astrology and share your opinion
Want more DailyOM?
Register for your free email,
or browse previous horoscopes
Share the OM:
More DailyOM:
On-line Courses
Soul Readings
Today's Inspiration
Today's Horoscopes
Shop the Marketplace
Join the Community
© 2004-2016 DailyOM - All Rights ReservedNo portion of this site can be reprinted without express permission
Artwork by Wang Chang-Ming


text:
Freedom of Character: Creating a Constitutional Character Evidence Test
Colin Miller
University of South Carolina School of Law
August 5, 2014
Carolina Academic Press Book, Forthcoming
This essay seeks to fill a scholarly and judicial void by proposing a First Amendment test that courts should apply when prosecutors seek to introduce defendants' speech as character evidence. Under this constitutional character evidence test, assuming that the defendant can prove that his words are protected under the First Amendment, the prosecution would have to do more than simply satisfy the rules of evidence; it would also have to prove that application of the rules of evidence to the defendant's words is narrowly tailored to advance a compelling state interest.
Number of Pages in PDF File: 12
Keywords: Character Evidence, First Amendment
JEL Classification: K40, K42
Date posted: August 7, 2014
Suggested Citation
Contact Information
© 2016 Social Science Electronic Publishing, Inc. All Rights Reserved.
Terms of Use
Privacy Policy
Contact Us
This page was processed by apollobot1 in 0.172 seconds


text:
Bat Wing Soup RecipeRead Reviews Be the first to add a review
4 4
Convenient stewed tomatoes are the base for this spooky soup that gets extra richness from cream added minutes before serving. It's nicely flavored with garlic (to keep those vampires away!) and garnished with toasty bat wings. (They are a snap to cut out of white bread-see instructions below.)
- 4 garlic cloves, peeled
- 2 tablespoons vegetable oil
- 4 cans (14-1/2 ounces each) stewed tomatoes
- 1/2 cup heavy whipping cream
- 6 slices bread, crusts removed
- 2 tablespoons butter, softened
- 2 teaspoons Italian seasoning
- In a saucepan, saute garlic in oil until tender. In a blender or food processor, process garlic and tomatoes in batches until smooth. Return all to the pan; bring to a boil. Reduce heat to low. Add cream and heat through.
- Follow directions to cut bat wings from bread.(To make bat wings, remove crusts from bread. Flatten with a rolling pin. Using a kitchen shears, cut each slice in half diagonally, cutting wavy lines to resemble bat wings.)
- Place on an ungreased baking sheet. Spread with butter; sprinkle with Italian seasoning. Bake at 400° for 5-8 minutes or until golden brown, turning once. Add two wings to each bowl of soup. Serve immediately. Yield: 6 servings.
Originally published as Bat Wing Soup in Quick Cooking September/October 1998, p39
Reviews for Bat Wing Soup
Please Log In or Join to add a rating and review.
Click stars to rate
Any changes to your rating or review will appear where you originally posted your review


text:
Send an article to a friend by filling out the form below. Fields marked with
*are required.
Article Title:
IACP Summit on Wrongful Convictions
Craig T. Steckler, Chief of Police, Fremont, California, Police Department
Month of Issue:
April 2013
Article Description:
* Your Name:
* Send this Article to:
Add your own personal message:
*Enter your email address:
What would you like to send?
Please verify that you are human:


text:
Economics provides a logical, ordered way of looking at problems, issues, and policies regarding the production, distribution and consumption of goods and services. It draws upon other social sciences and mathematics to confront a wide range of topics from environmental abuse to economic growth to business regulation and other governmental interactions with the commercial world. As economics in general deals with choice and decision making, it is of great value on both a personal and a professional level. Economics majors have a wide range of career choices, including government or business economist, banking economist, investment analyst, trade association economist and others. Students who distinguish themselves by high scholarship may be elected to Omicron Delta Epsilon (ODE) a national economics honorary organization.
Major. Requirements for the major in economics may be fulfilled by completion of one of the following programs. Two of the four economics electives must be at the 300 level or higher.
General Economics Major. A minimum of 27 credit hours in economics constitutes this major. Courses must include ECON 221, 222, 321, 322, and 325. In addition, either IDS 205 or MATH 240 is required.
Economics and Computer Analysis Major. A minimum of 27 credit hours in economics is required. Courses must include ECON 221, 222, 321, 322, and 325. Computer science courses which must be completed are CS 157 and 325. Also required is a minor in mathematics including MATH (124, 131, or 151), (122, 132, or 152), 240 and 320 (or an approved alternative).
General Economics Minor. A minimum of 18 credit hours in economics constitutes a minor. Courses must include ECON 221, (222 or 223), one of (321,322, or 325) and one additional course selected from 300 or above.
ECON 136 and ECON 486 will not count towards fulfilling the minimum major or minor requirements.
Degree. Completion of the degree requirements of the College of Arts and Sciences with a major in Economics leads to the Bachelor of Arts degree. Credit by Examination. Credit for ECON 221 and 222 may be earned through the College Level Examination Program subject examination in Introductory Economics.
Approval of Schedules. All students taking a major or minor in economics must have their schedules approved at the beginning of each semester.
ECON 136. The Economics of Health, Education, and Welfare. Cr. 3. This course is an introduction to the economics of public and private provision of health, education and social services in urban and developing economies. May be used to fulfill the Cultural Diversity course component of the General Education Requirements. ECON 136 will not count towards fulfilling the minimum major or minor requirements.
ECON 210. Environmental Economics and Policy. Cr. 3. An introductory study of the relationship between environmental quality and economic behavior, with an emphasis on the principles of demand, costs, and economic efficiency. Current developments in the United States and world environmental policies will be analyzed. May be used in partial fulfillment of the Social Analysis component of the General Education Requirements.
ECON 221. Principles of Economics-Micro. Cr. 3. An introductory study of the central functions and problems of an economic system with emphasis on the determinants of consumer demand, producer supply and their interactions in the marketplace.
ECON 222. Principles of Economics-Macro. Cr. 3. An introduction to macroeconomic analysis with emphasis on national income, consumer spending, investment, government and monetary aspects.
ECON 223. Principles of Economics-International.Cr. 3. An introduction to international aspects of economics with emphasis on international trade, international finance, comparative economic systems, and problems facing developing nations.
ECON 233. The Economics of Race and Gender. Cr. 3. Investigates the employment gaps and earnings gaps that exist between women and men, and between various racial and ethnic groups in America. Economic analysis of discrimination and its consequences for individuals and families. May be used to fulfill the Cultural Diversity course component of the General Education Requirements.
ECON 236. Comparative Economic Systems. Cr. 3. A comparative analysis of political theories and the economic systems that derive from those theories. The course focuses on those ideological assumptions that result in capitalism, socialism, anarchism, etc. as the solution to economic problems. Prerequisite: ECON 221 or 222 or ECON 223.
ECON 290. Topics in Economics. Cr. 3. A course in which a special topic in economics is given intensive study. Topics descriptions and prerequisites will be announced in advance. May be repeated for credit if topics are different. Prerequisites vary depending on the topic chosen.
ECON 321. Intermediate Micro-Economic Theory. Cr. 3. A study of the theoretical concepts and analytical techniques which economists employ to interpret the process of resource allocation under various systems of economic organization. Prerequisite: ECON 221.
ECON 322. Intermediate Macro-Economic Theory. Cr. 3. A critical examination of theories of national income determination and of techniques for measuring and analyzing aggregate economic activity. Prerequisite: ECON 222 or ECON 223.
ECON 324. Managerial Economics. Cr. 3. A course in applied economics which emphasizes the use of microeconomics, statistics and mathematics in the process of making managerial decisions. Using problems and short case studies, topics such as estimating demand, cost, productivity and pricing policies are discussed. Prerequisite: ECON 221.
ECON 325. Econometrics. Cr. 3. The application of mathematical and statistical techniques to the analysis of economic issues. Development of simple and multiple regression as tools of analysis. Use of computer facilities and statistical programs to apply the tools to current economic data. Prerequisites: ECON 221, (ECON 222 or 223), MATH 240 or IDS 205 or equivalent.
ECON 326. International Economics. Cr. 3. A study of the basis for the gains from international trade including the effects of growth and development on a nation's welfare. Attention is also given to the effects of tariffs and other restrictions to trade. Balance of payments accounting, foreign exchange markets and international monetary institutions are covered during the last part of the course. Prerequisites: ECON 221 and (ECON 222 or 223).
ECON 330/530. Industrial Organization. Cr. 3. The analysis of the economic factors underlying the structure, conduct and performance of American industry. Prerequisite: ECON 221.
ECON 333. Economics of Labor. Cr. 3. The approach of workers and employers to the problems of labor; the development of trade unions and collective government regulation of labor relationships, and an economic analysis of wage-employment problems. Prerequisite: ECON 221.
ECON 335/535. Urban Economic Problems. Cr. 3. An examination of the regional and spatial characteristics of cities with emphasis on policies to correct urban problems. Transportation, housing, poverty and discrimination plus other substantive urban problems are analyzed and discussed. Prerequisite: ECON 221.
ECON 336/536. Economics of Developing Nations.Cr. 3. An analysis of economic variables, both theoretical and institutional, which characterize developing nations. Emphasis is placed on cyclical poverty, allocation of resources and policy planning. Prerequisite: ECON 221 or 222 or 223, and junior standing. May be used to fulfill the Cultural Diversity course component of the General Education Requirements.
ECON 337/537. Public Finance.Cr. 3. An analysis of the role of the government sector in a market economy. Causes of market failure, the efficient provision of public goods and the effects of taxation are considered as they relate to economic activity. Prerequisite: ECON 221 or 222 or 223.
ECON 339/539. Money and Banking. Cr. 3. A study of the institutions, principles and problems of money and banking in the United States. Special attention is given to the basic elements of monetary theory and policies. Prerequisite: ECON 222 or 223.
ECON 370. The History of Economic Thought. Cr. 3. Economic thought in its historical development from the Mercantilists to the present day. Prerequisite: ECON 221 or 222 or 223.
ECON 390/590. Topics in Economics. Cr. 3. A course in which a special topic in economics is given intensive study. Topics, descriptions, and prerequisites will be announced in advance. May be repeated for credit if topics are different. Prerequisites: ECON 221 and 222.
ECON 486. Internship in Economics. Cr. 1-3. Direct, supervised experience in a cooperating business, government agency or service agency requiring the use of a student's economics knowledge. Some internships are in conjunction with off-campus programs such as the Washington Semester Program. Prerequisite: consent of the Chair of the Department. ECON 486 will not count towards fulfilling the minimum major or minor requirements.
ECON 493. Seminar in Applied Statistics. Cr. 3. (Also offered as IDS 493 and as MATH 493.) An intensive study of selected topics, methods, techniques, and problems in applied statistics. Prerequisites: IDS 340, ECON 325, or MATH 340.
ECON 495. Independent Study in Economics. Cr. 1-3. Independent study to be approved by the Chair and the economics advisor.
ECON 497. Honors Work in Economics. Cr. 3. See Honors Work, page 54.
ECON 498. Honors Candidacy in Economics. Cr. See Honors Work, page 54.


text:
Ornamental Guard & Hand Rails
Newman Brothers, Inc. is one of the largest manufacturers of ornamental hand and guardrail systems in the United States today. We have been designing and fabricating customized systems manufactured from aluminum, bronze, brass, stainless steel, wood and glass for over 130 years.
We offer a full range of handrail designs that are pre-engineered to meet your project's technical and esthetic requirements.
Access to our on-line catalog can be found at 4specs.com and ARCAT.com; section 05 73 00, or call us at the toll free number (800) 447-1072 and we'll be glad to send you one. We can also discuss your project with you and help you establish specifications and design criteria for the railings.
With our working knowledge of the numerous code requirements throughout the country, our engineering and estimating departments can recommend the most cost effective and attractive guardrail systems available to meet your needs.
Click here to learn more about our guardrail sytems.
Plaques, Markers and Memorials
In addition to Handrail Systems, Newman Brothers Inc. also operates one of the premier foundries in the country. We custom cast plaques, tablets, grave markers, cremation urns and cemetery vases from aluminum, bronze / brass and "zamak" alloys.
Our primary products & services in this area are:
- Plaques / Tablets
- Plaque-Marker Restoration
- Memorial Markers
- Cemetery Vases
- Cremation Urns
Our cast products are still hand chased, and available in a variety of traditional finishes. Contact Us for a free brochure.


text:
Mini-Grants Program
The Writing across the Curriculum Program offers two grant programs:
1. The Writing-Intensive/Writing/Inclusive Course Development and Enhancement Grants for individual instructors: Grantees create or redesign courses to make them writing intensive or writing inclusive.
2. The Writing-Infused Curriculum: A Grant for Academic Departments and Programs: Grantees create or redesign entire curricula to be writing infused.
Grant Recipients and Projects in Rounds One and Two
Currently, the WAC Program is calling for applications for the first of these two types of grants: the Writing-Intensive/Writing-Inclusive Course Development and Enhancement Grants (third round). These $500 grants-up to three of which will be granted in this round (funding pending)-are for individual instructors. All UW-Superior faculty and teaching staff are eligible to apply. Please note that the grant period is April 2013 through December 2013. Projects must involve courses to be offered in Fall 2013.
The deadline for submitting applications is March 25, 2013.
Full description and application
For those who interested in applying for or in learning more about the grant, please come to one of the following information sessions:
Friday, March 1, 12-1 pm, SWEN 1007
Thursday, March 7, 3-4 pm, SWEN 1007
(Each session will be the same, so you do not need to come to both.)
Or contact WAC Coordinator Deborah Schlacks at firstname.lastname@example.com.


text:
Problematic fish stock / Can fry stay with their parents?
We have discovered fry in our aquarium. They are young Burundis.
I surmise in the following that they are Neolamprologus brichardi from Lake Tanganyika, which were/are sometimes sold as "Princess of Burundi"!
The other aquarium inhabitants are: 6 Angelfish, 3 Siamese Sharks (Pangasius sp.), a shoal of Harlequin Rasboras, 3 Indian Striped Catfish (Mystus vittatus) and 2 Bubble Nest Catfish (Callichthys callichthys); many of them are still juveniles.
Unfortunately, I have to say it this hard: This does not fit together at all - and even if it would, you would very soon require a very large aquarium (I am talking about tanks above the 3 meter category, and this is not exaggerated!).
Siamese Sharks (Pangasiidae) alone grow to over half a meter, and they are very active swimmers. Also, they must be kept in larger groups. (They are economically caught edible fish that you can purchase as "Pangasius fillet" after processing!)
A single Angelfish pair easily requires 200 - 300 liters for themselves when defending a territory, and the smaller fish (Harlequin Rasboras!) will sooner or later end up as food for other fish if they do net get caught in the crossfire of territorial fights before.
The aquarium is densely planted and provides many hideaways. The "old" Burundis are also present in the shoal.
Our question: Is it necessary under the given circumstances to catch the "new" fry and keep them isolated in a rearing tank?
This fish stock is already very problematic in itself, see above. The "Burundis" (provided my above mentioned guess about the species is correct) should in any case get their own Lake Tanganyika tank with at least 200 liters; you may possibly add a few other Lake Tanganyika fish. Then a moderate number of juveniles (consider the overall capacity of the tank!) can stay in there. Neolamprologus brichardi and the closely related species (Neolamprologus pulcher, Neolamprologus sp. "Daffodil" etc.) are so-called step breeders, i.e. the older juveniles remain with their parents and help guarding their younger brothers and sisters.
Best regards
sera GmbH
Dr. Bodo Schnell


text:
- About
- Journal Archives
- Volume 18
- Volume 17
- Volume 16
- Volume 15
- Volume 14
- Volume 13
- Volume 12
- Volume 11
- Volume 10
- Volume 9
- Volume 8
- Volume 7
- Volume 6
- Volume 5
- Volume 4
- Volume 3
- Volume 2
- Volume 1
- Symposium
- Blog
- News
- Publish
- Resources
Currently viewing the tag: "salary cap"
Portland Watching Former Blazer With Close Eye
On January 14, 2009 By JETLaw January 14, 2009
The Portland Trail Blazers, twelve games ahead of the Memphis Grizzlies in the standings, are closely monitoring the Grizzlies' next couple games. They aren't doing so out of fear that Memphis is a threat to their possible playoff spot in 2009, but rather because they are a threat to [...]Continue Reading →
Three Strikes And You're Out! Or Is It Three Big Contracts And You Strike?
On January 10, 2009 By Andrew Cunningham July 24, 2010
The New York Yankees have long been the financial bullies of baseball, but the team's offseason acquisition of CC Sabathia (7 years, $161 million), A.J. Burnett (5 years, $82.5 million), and Mark Teixeira (8 years, $180 million) to the tune of more than [...]Continue Reading →
The Approaching Storm: The Future of the NFL Without a Salary Cap
On November 12, 2008 By JETLaw November 12, 2008
Sports Illustrated columnist Peter King recently wrote an interesting piece posing his thoughts on the future of the National Football League (NFL) in the context of labor negotiations. The current form of the NFL's Collective Bargaining Agreement (CBA) will govern league relations until 2011. However, if a new agreement is not reached [...]Continue Reading →
Recent Blog Posts
- Centralizing Cybersecurity in the Digital Age
- Justice Department Deals a Blow to Songwriters
- If You Build It, They Will Come: Baseball and the Reopening of Cuba
- First Circuit Aligns With Third: Actavis Extends Beyond Cash Settlements
- Current Issues in Technology Law: Dr. Asma Vranaki Analyzes Data Privacy Regulation in the Context of Facebook Advertisements
- Vanderbilt Journal of Entertainment & Technology Law Rises in National Law Journal Rankings
Blog Archives
Tagsadvertising antitrust Apple books career celebrities contracts copyright copyright infringement courts creative content criminal law entertainment Facebook FCC film/television financial First Amendment games Google government intellectual property internet JETLaw journalism lawsuits legislation media medicine Monday Morning JETLawg music NFL patents privacy progress publicity rights radio social networking sports Supreme Court of the United States (SCOTUS) technology telecommunications trademarks Twitter U.S. Constitution
US Government Websites


text:
Planning an herb spiral
This winter, I read the Permaculture bible, "Gaia's Garden". I got a lot of ideas, many of which will need more time to incubate, and probably a bigger yard, but the first one I will be implementing is an "Herb Spiral". Since we moved in, the "herb garden", if you can call it that, is a narrow strip of mostly-shaded dirt between a gigantic Rhododendron the size of a small bus and an even taller Japanese maple tree (both are probably north of 100 years old). Next to a 6 foot tall solid fence, and banked by a pair of wisteria ... trees? The herb garden is there, well, because the previous owner started some chives there, and mint, which is now nearly gone. I think I'll let the mint return, it doesn't stand much of a chance of spreading in that spot, due to the shade, anyway.
Needless to say, our kitchen is missing a proper herb garden. This has been on my mind as a puzzle to solve for about a year now, and when I read about the herb spiral in Gaia's Garden, I new it to be the right solution to the problem. Right outside our back door is a concrete path that wraps around the house, and it has this perfect curve framing the lawn. I couldn't wait for the snow to melt to figure out if it was actually going to work! With leftover rocks from a stone wall project, we laid out the spiral and have been living with it for the past two weeks to make sure it's not going to adversely effect our path to the main kitchen garden. And I have to say, it doesn't. It's going to be great! Sometime in the next week or so, we will build the center up into a mound to create multiple microclimates for the different herbs to enjoy.
There are several reasons to plant your herbs in a spiral. First, it's interesting an beautiful. Second, it's convenient, bringing some of the herbs up closer to standing height for less bending. Third, it creates about a dozen microclimates for the different herbs. Rosemary, for example, likes full sun, and well-drained soil. It goes right on top of the mound Parsley prefers partial shade and more moisture, it goes on the bottom, north side. Oregano and Thyme, more moisture but full sun, so they get the southern slope. By organizing the plantings of the herbs in height and orientation to the sun and the central mound, each plant can be given the conditions that they prefer, and yet all be right outside the back door when it's time for that pinch when you're cooking.
About us:
KGI is a nonprofit community of over 30,000 people who are growing some of our own food and helping others to do the same.
Join our mailing list:
Connect with us:
Contact us:
Kitchen Gardeners International
3 Powderhorn Drive,
Scarborough, ME, 04074, USA
(207) 956-0606


text:
What is in this article?:
- FSA has assistance programs for Tennessee growers
- Livestock, honeybees, fish
• The disaster assistance programs FSA has available may be an important first step for producers in the recovery process.
More About:
USDA Farm Service Agency (FSA) State Executive Director Gene Davidson reminds crop and livestock producers throughout Tennessee who have recently experienced severe damage from tornadoes and flooding that there are FSA programs available to assist with recovery.
"The damage done by the recent severe weather has made things very difficult for many of our farmers and ranchers. The disaster assistance programs FSA has available may be an important first step for producers in the recovery process," said Davidson.
FSA administers several important programs that help producers recover from disaster damage and livestock deaths. Among the key programs available to address impacts from disasters are:
• Emergency Conservation Program (ECP): Provides funding for farmers to rehabilitate farmland damaged by a natural disaster (check with local FSA Office for sign-up periods, which are set by county FSA committees) http://www.fsa.usda.gov/FSA/webapp?area=home&subject=copr&topic=ecp
• Livestock Indemnity Program (LIP): Provides assistance to livestock producers for livestock deaths from a natural disaster event (must file a notice of loss within 30 calendar days of the loss event or of when the loss of livestock was apparent to the participant) http://www.fsa.usda.gov/FSA/webapp?area=home&subject=diap&topic=lip


text:
Managing Editor, Institutional Communications
World Wildlife Fund (WWF), the world's leading conservation organization, seeks a Managing Editor who will provide editorial and programmatic oversight for several distinct editorial functions within the Institutional Communications department. This person will lead all administrative and logistical aspects of the creation, design and production of WWF's signature cross-platform member/donor magazine, and the Annual Report. The candidate will maintain editorial calendars and production schedules in coordination with production and design staff; they will also lead production of all digital platforms. The Managing Editor will serve as a principal logistical liaison with freelance writers, designers and photo resources, as well as collaborate in story writing and development for various print and online products.
- Major Duties & Responsibilities
- Takes lead on delivery of several distinct components of the publications program, including the direct marketing and digital versions of WWF's magazine.
- Oversees day-to-day coordination of all publication projects, including but not limited to schedule management, writing and editing, photo research and tracking, administration of contracts and invoices.
- Provides specific editorial support for all aspects of Institutional Communications publications/editorial priorities, and provides editorial oversight for designated departments and other magazine sections of WWF's magazine.
- In coordination with Editorial Director, leads exploration of expanded print-to-digital opportunities of benefit to WWF as a whole.
- In support of Editorial Director and Web Content Editor and in coordination with Digital Content Associate Specialist, ensures all Editorial Calendars are unified and content is aligned most effectively across media channels.
- Provides photo research, solicitation and purchasing—manages all photo assets for Institutional Communications publications.
- Performs other duties as assigned.
II. Working Relationships
- Internal: Interacts daily with communications staff, direct and online marketing, web teams and IT.
- External: Frequent contact with contractors, freelancers, stock agencies, and digital agencies working with WWF.
III. Minimum Requirements
- Education/Experience: A Bachelor's degree in Editorial Journalism, Magazine Journalism, Publishing or a related field with a minimum of 8 years relevant professional experience, or a Master's Degree with at least 6 years relevant professional experience. At least 4 years of experience serving as project lead—from conception to finalization—of at least one distinct overall publishing process. Editorial magazine experience strongly desired. A cover letter is required to be considered for this position.
- Skills and Abilities
- Exceptional verbal and written communications skills
- Strong organizational skills, ability to manage multiple projects and priorities, and meet production deadlines
- Ability to prioritize and complete work with minimal supervision
- Strong interest in and commitment to conservation
- Familiarity with current and emerging digital communication technologies related to digital publishing.
- Proficiency with desktop publishing software and content management systems
- Familiarity with Adobe Creative Suite (InDesign/Photoshop) desirable
AA/EOE Women and minorities are encouraged to apply. To apply for the job please visit http://www.worldwildlife.org/careers, job # 13057 to submit your cover letter and resume. Compatible browsers: Internet Explorer 7 or version 8 and 9 in compatibility mode. Due to the high volume of applications we are not able to respond to inquiries via phone.
Apply HereApply Online


text:
Over the weekend Ten Twelve First raised prices on three units. Maybe they expanded these to be full floor units? #3500 went from $1,750,000 to $15,600,000. #2700 went from $3,500,000 to $4,500,000. #2600 went from $1,750,000 to $3,500,000. Completion in 2012. Update: Here's an email I received from Breffni J. McGeough: Good Morning Matt, Thank… Read More
Ten Twelve First Raising Prices?
November 29, 2009 By Filed Under: Ten Twelve First Ave Views: 16,140 36 Comments
Ten Twelve First Ave – Only $438/sf
September 5, 2008 By Filed Under: Ten Twelve First Ave Views: 1,610 9 Comments
1012 1st Ave #3001 just popped up the other day. Put your check book with $1.75 million away, they won't be ready until 2011. Now what's odd is that until it hit the MLS no one appeared to know about it and know everyone is talking about it. Ten Twelve First Avenue is downtown's newest… Read More


text: Timber Creek 38, Toms River South 18: Timber Creek, No. 8 in The Star-Ledger Top 20, earned another shot at third-ranked South Plainfield when the Camden County team rolled in Erial. Timber Creek was smoked by South Plainfield, 52-10, on Jan. 14 and also was edged by South Plainfield, 26-25, in last winter's Group 3 semifinal. In the feature bout, Bryant Clagon of Toms River South, ranked first in the state at 138, won by a 17-5 decision at 138 pounds over Brandon Keller, who is ranked third at 132.


text:
While I'm at it, I continue on the quinoa trail once more and then I will stop for a while and that is a promise. It seems as if I just have to cleanse my quinoa system so that I can leave this subject and move on! So I yesterday evening I felt the urge to explore the possibilities of quinoa on the cake front, I knew that you can bake with quinoa flour but what about the whole grain? This is the result, a quinoa chocolate cake that is really fluffy, soft and tasty the same day you make it and little bit less the day after so eat it fast! Not that it is bad now but it was truly wonderful yesterday!
3 eggs
200 ml/0,85 cup sugar
75-100 g/2,6-3,5 oz salted butter
100 g/3,5 oz of dark chocolate
250 ml/1 cup cooked quinoa
300 ml/1,25 cup flour
1 tsp baking powder
1 tsp ground cardamom, you can skip this if you want, I'm a cardamom addict so I love to put it wherever I can.
– Whip eggs and sugar for a couple of minutes.
– Melt the butter and the chocolate before adding it to the egg and sugar.
– Add the already cooked quinoa, stir well and add flour, baking powder and the ground cardamom.
– Pour it into a baking tin, I use silicon ones so I don't have to grease them.
– Bake in a pre-heated oven (175°C/350°F) for 20-30 minutes.
– Eat.


text:
This 3900-g male infant was the product of a normal term pregnancy and delivery. Amniotic fluid was judged to be normal in volume. The infant's Apgar scores were 8 at one minute and 9 at five minutes.
Figure 1.
Figure 2.
At 12 hours of age, the infant became tachypneic and cyanotic and developed sternal retractions. Physical examination revealed that his breath sounds were decreased on the right side and the heart sounds were diminished and displaced to the left side. The infant required supplemental oxygen to correct his hypoxia. Chest roentgenograms were obtained (Fig 1).
Forty-eight hours later, the infant was still tachypneic, although he was breathing room air. All bacteriologic cultures were negative. An ultrasound examination of the chest was performed in longitudinal and transverse planes (Fig 2). Results of the abdominal ultrasound examination were normal.
Denouement and Discussion
Extralobar Pulmonary Sequestration
Fig 1.—Anteroposterior (left) and lateral (right)
Thank you for submitting a comment on this article. It will be reviewed by JAMA Pediatrics editors. You will be notified when your comment has been published. Comments should not exceed 500 words of text and 10 references.
Do not submit personal medical questions or information that could identify a specific patient, questions about a particular case, or general inquiries to an author. Only content that has not been published, posted, or submitted elsewhere should be submitted. By submitting this Comment, you and any coauthors transfer copyright to the journal if your Comment is posted.
* = Required Field
Disclosure of Any Conflicts of Interest*
Indicate all relevant conflicts of interest of each author below, including all relevant financial interests, activities, and relationships within the past 3 years including, but not limited to, employment, affiliation, grants or funding, consultancies, honoraria or payment, speakers' bureaus, stock ownership or options, expert testimony, royalties, donation of medical equipment, or patents planned, pending, or issued. If all authors have none, check "No potential conflicts or relevant financial interests" in the box below. Please also indicate any funding received in support of this work. The information will be posted with your response.
Some tools below are only available to our subscribers or users with an online account.
Download citation file:
Customize your page view by dragging & repositioning the boxes below.
More Listings atJAMACareerCenter.com >
Enter your username and email address. We'll send you a link to reset your password.
Enter your username and email address. We'll send instructions on how to reset your password to the email address we have on record.
Need assistance?
Athens and Shibboleth are access management services that provide single sign-on to protected resources. They replace the multiple user names and passwords necessary to access subscription-based content with a single user name and password that can be entered once per session. It operates independently of a user's location or IP address. If your institution uses Athens or Shibboleth authentication, please contact your site administrator to receive your user name and password.


text:
Team Europe scored a great victory over Team North America in the 4th Continental Cup held in Chilliwack, Canada last weekend.
The overall score at the end of the 4 days of competition was EUROPE 229, North America 171.
This means that both continents have now won the Cup twice but the future of the event is in doubt unless a sponsor can be found to underwrite the cost.
Full details can be found at http://www.worldcurling.org/CurlHome/Results/2006-2007/CC/


text:
Technical Notes
Still prepared today, according to the secret recipe jealously hedged in and known only to few people, DISARONNO's pleasant and distinctive taste make it an inimitable and ideal liqueur for any occasion: high-class versatility to enjoy in an impressive international array of cocktails and long drinks - unique taste to appreciate straight up or on the rocks. Disaronno is made in Saronno, Italy, using only the highest quality natural ingredients such as absolute alcohol, burnt sugar, and the pure essence of seventeen selected herbs and fruits soaked in apricot kernel oil. This special recipe hasn't changed since 1525.