text:
In my last post I covered logging in Azure Functions using TraceWriter and log4net. Both of these work, but Application Insights rolls all your monitoring into one solution, from metrics to tracking messages. I have also heard a rumor that in the near future this will be an integrated part of Azure Functions. Given these factors it seem wise to start give it a closer look.
So how do you take advantage of them right now? If you go to GitHub there is a sample written by Christopher Anderson, but let me boil this down. First we need to create an Application Insight instance and grab the instrumentation key.
When I created my Application Insight instance I chose the General application type and the same resource group as my function app.
Once the instance has been allocated you will need to go into the properties blade. There you will find a GUID for the Instrumentation Key. Save this off so that we can use it later.
You then need to add the Microsoft.ApplicationInsights NuGet package by creating a project.json file in your function. Insert the following code in the new file and save it. If you have your log window open you will see the package being loaded.
"frameworks": {
"dependencies": {
"Microsoft.ApplicationInsights": "2.1.0"
In the sample code read.me it says that you need to add a specific app setting, but as long as your code reads from the appropriate setting that is the most important part. Take the Instrumentation Key that you saved earlier and place it in the app settings. In my case I used one called InsightKey.
Next setup your TelemetryClient object like the code here by creating global static variables that can be used throughout your application. After that we are ready to start tracking our function.
private static TelemetryClient telemetry = new TelemetryClient();
private static string key = TelemetryConfiguration.Active.InstrumentationKey = System.Environment.GetEnvironmentVariable("InsightKey", EnvironmentVariableTarget.Process);
To track and event or an exception simply call the appropriate method. I prefer to encapsulate them in their own methods where I can standardize the usage. I have added the function name, method name, and context ID from the function execution to make it easier to search and associate entries.
private static void TrackEvent(string desc, string methodName)
telemetry.TrackEvent($"{FunctionName} - {methodName} - {contextId}: {desc}");
} private static void TrackException(Exception ex, string desc, string methodName)
Dictionary<string,string> properties = new Dictionary<string,string>() {{"Function",FunctionName}, {"Method",methodName}, {"Description",desc}, {"ContextId",contextId}};
telemetry.TrackException(ex, properties);
This isn't an instant answer type of event store. At the very least there is a few minute delay your application logging and event or exception and when it is visible in the Analytics board.
Once you are logging and sending metrics to Application Insights you need to read the results. From your Application Insight main blade click on the Analytics button at the top of the overview. It will open a new page that resembles what you see below.
Click the new tab button at the top next to the Home Page tab. This will open a query window. The query language has a similar structure to SQL, but that is about as far as it goes.
The table objects are listed on the left navigation with the fields listed as you expand out each table. Fortunately intellisense works pretty well in this tool. You have what would normally be considered aggregate functions that make life easier. As you can see below you can use the contains syntax that acts similar to a SQL like comparison. There are also date range functions like the ago function used below. I found that these two features can find most things you are looking for.
This posted didn't cover a lot of the native functionality in Application Insight, but hopefully it gives you a starting point to instrument your Azure Functions. The flexibility of this tool along with it the probability of it being built into Functions in the future make it a very attractive option. Spend some time experimenting with it and I think you find it will pay dividends.
Feb 16, 2017 | Add Comment
Logging is essential to the support of any piece of code. In this post I will cover two approaches to logging in Azure Functions: TraceWriter and log4net.
The TraceWriter that is available out of the box with Azure Functions is a good starting point. Unfortunately it is short lived and only 1000 messages are kept at a maximum and at most they are held in file form for two days. That being said, I would not skip using the TraceWriter.
Your function will have a TraceWriter object passed to it in the parameters of the Run method. You can use the Debug, Error, Fatal, Info and Warn methods to write different types of messages to the log as shown below.
log.Info($"Queue item received: {myQueueItem}");
Once it is in the log you need to be able to find the messages. The easiest way to find the log files is through Kudu. You have to drill down from the LogFiles –> Application –> Functions –> Function –> <your_function_name>. At this location you will find a series of .log files if you function has been triggered recently.
The other way to look at your logs is through Table Storage via the Microsoft Azure Storage Explorer. After attaching to your account open the storage account associated with your Function App. Depending on how you organized your resource groups you can find the storage account by looking at the list of resources in the group that the function belongs to.
Once you drill down to that account look for the tables named AzureWebJobHostLogsyyyymm as you see below.
Opening these tables will allow you to see the different types of log entries saved by the TraceWriter. If you filter to the partition key "I" you will see the entries your functions posted. You can further filter name and date range to identify specific log entries.
If the default TraceWriter isn't robust enough you can implement logging via a framework like log4net. Unfortunately because of the architecture of Azure Functions this isn't as easy as it would be with a normal desktop or web application. The main stumbling block is the lack of ability to create custom configuration sections which these libraries rely on. In this section I'll outline a process for getting log4net to work inside your function.
The first thing that we need is the log4net library. Add the log4net NuGet package by placing the following code in the project.json file.
{ "frameworks": { "net46":{ "dependencies": { "log4net": "2.0.5" } } } }
To get around the lack of custom configuration sections we will bind a blob file with your log4net configuration. Simply take the log4net section of and save it to a text file. Upload that to a storage container and bind it to your function using the full storage path.
Add the references to the log4net library and configure the logger. Once you have that simply call the appropriate method on the logger and off you go. A basic sample of the code for configuring and using the logger is listed below. In this case I am actually using a SQL Server appender.
using System; using System.Xml; using log4net; public static void Run(string input, TraceWriter log, string inputBlob) { log.Info($"Log4NetPoc manually triggered function called with input: {input}"); log.Info($"{inputBlob}"); XmlDocument doc = new XmlDocument(); doc.LoadXml(inputBlob); XmlElement element = doc.DocumentElement; log4net.Config.XmlConfigurator.Configure(element); ILog logger = LogManager.GetLogger("AzureLogger"); logger.Debug($"Test log message from Azure Function", new Exception("This is a dummy exception")); }
public static void Run(string input, TraceWriter log, string inputBlob) { log.Info($"Log4NetPoc manually triggered function called with input: {input}"); log.Info($"{inputBlob}");
XmlDocument doc = new XmlDocument(); doc.LoadXml(inputBlob); XmlElement element = doc.DocumentElement;
ILog logger = LogManager.GetLogger("AzureLogger");
logger.Debug($"Test log message from Azure Function", new Exception("This is a dummy exception")); }
By no means does this post cover every aspect of these two logging approaches or all possible logging approaches for Azure Functions. In future posts I will also cover AppInsight. In any case it is always important to have logging for you application. Find the tool that works for your team and implement it.
Feb 13, 2017 | Add Comment
In this third part of my series on Azure Function development I will cover a number of development concepts and concerns. These are just some of the basics. You can look for more posts coming in the future that will cover specific topics in more detail.
One of the first things you will have to get used to is developing in a very stateless manner. Any other .NET application type has a class at its base. Functions, on the other hand, are just what they say, a method that runs within its own context. Because of this you don't have anything resembling a global or class level variable. This means that if you need something like a logger in every method you have to pass it in.
[Update 2016-02-13] The above information is not completely correct. You can implement function global variables by defining them as private static.
You may find that it makes sense to create classes within your function either as DTOs or to make the code more manageable. Start by adding a .csx file in the files view pane of your function. The same coding techniques and standards apply as your Run.csx file, otherwise develop the class as you would any other .NET class.
In the previous post I showed how to create App Settings. If you took the time to create them you are going to want to be able to retrieve them. The GetEnvironmentVariable method of the Environment class gives you the same capability as using AppSettings from ConfigurationManager in traditional .NET applications.
A critical coding practice for functions that use perishable resources such as queues is to make sure that if you catch and log an exception that you rethrow it so that your function fails. This will cause the queue message to remain on the queue instead of dequeuing.
It can be hard to read the log when the function is running full speed since instance run in parallel but report to the same log. I would suggest that you added the process ID to your TraceWriter logging messages so that you can correlate them.
Even more powerful is the ability to remote debug functions from Visual Studio. To do this open your Server Explorer and either connect to your Azure subscription. From there you can drill down to the Function App in App Services and then to the run.csx file in the individual function. Once you have open the code file and place your break points, right-click the function and select Attach Debugger. From there it acts like any other Visual Studio debugging session.
I wanted to place special attention on this subject. As with any highly parallel/asynchronous processing environment you will have to make sure that you take into account any race conditions that may occur. If at all possible keep the type of functionality that your create to non-related pieces of data. If it is critical that items in a queue, blob container or table storage are processed in order then Azure Functions are probably not the right tool for your solution.
Azure Functions are one of the most powerful units of code available. Hopefully this series gives you a starting point for your adventure into serverless applications and you can discover how they can benefit your business.
Feb 02, 2017 | Add Comment
This is the second post in a series on building Azure Functions. In this post I'll continue by describing how to add settings to your function and reference different assemblies to give you more capabilities.
Functions do not have configuration files so you must add app settings and connection strings through the settings page. The settings are maintained at an Function App level and not individual functions. While this allows you to share common configuration values it means that if your custom assemblies need different values in configuration settings per function they will each function will have to live in a separate function app.
To get to them go to the Function App Settings link at the lower left of your App Function's main page and then click the Configure App Settings button which will bring you to the blade shown below. At that point it is the same any .NET configuration file.
At some point I would like to see the capability of importing and exporting settings since maintaining them individually, by hand leads to human error and less reliable application lifecycle management.
Another drawback to the Azure Functions development environment is that at the time of this post you don't have the ability to leverage custom configuration sections. The main place I have found this to cause heartburn is using logging libraries such as log4net where the most common scenario is to use a custom configuration section to define adapters and loggers.
No .NET application is very useful if you can't reference all of the .NET Framework as well as third party and your own custom assemblies. There is no add references menu for Azure functions and there are multiple ways to add references. Lets take a look at each.
There are a number of .NET assemblies that are automatically referenced for your Function application. There are a second group of assemblies that are available but need to be specifically reference. For a partial list consult the Azure Function documentation here. You can also load your own custom assemblies or bring in Nuget packages.
In order to load Nuget packages you need to create a project.json file. Do this by clicking the View Files link in the upper right corner of the editor blade and then the Add link below the file list pane.
project.json files require the same information that is contained in packages.config file, but it is formatted in json as shown in the example below. Once you save this file and reference the assembly in your Run.csx file Azure will load the designated packages.
If you have custom libraries that you want to leverage you will need to add a bin folder to your function. The easiest way I have found to do this is to open the App Service Editor from the Function App Settings page. This will open up what is essentially Visual Studio Code in a browser. Navigate the file tree to your function under wwwroot. Right click your function name and select New Folder. The folder must be named "bin". You can then right click the bin folder and upload your custom assemblies.
Once you have an assembly available you need to reference it using the "r#" directive as shown below. You will notice that native assemblies and Nuget package loaded libraries do not need the dll extension specified, but they must be added for custom assemblies.
#r "System.Xml" #r "System.Xml.Linq" #r "System.Data.Entity" #r "My.Custom.Data.dll" #r "My.Custom.Domain.dll" #r "Newtonsoft.Json" #r "Microsoft.Azure.Documents.Client" #r "Microsoft.WindowsAzure.Storage"
Now we are ready to declare our normal using statements and get down to the real business of functions.
After this post we have our trigger, bindings, settings and dependent assemblies. This still isn't enough for a useful function. In the next post I will cover coding and debugging concerns to complete the story.
Feb 01, 2017 | One Comment
The latest buzz word is serverless applications. Azure Functions are Microsoft's offering in this space. As with most products that are new on the cloud Azure Functions are still evolving and therefore can be challenging to develop. Documentation is still being worked on at the time I am writing this so here are some things that I have learned while implementing them.
There is a lot to cover here so I am going to break this topic into a few posts:
The first thing you are going to need to do is create a Function App. This is a App Services product that serves as a container for your individual functions. The easiest way I've found to start is to go to the main add (+) button on the Azure Portal and then do a search for Function App.
Click on Function App and then the Create button when the Function App blade comes up. Fill in your app name remembering that this a container and not your actual function. As with other Azure features you need to supply a subscription, resource group and location. Additionally for a Function App you need to supply a hosting plan and storage account. If you want to take full benefit of Function Apps scaling and pricing leave the default Consumption Plan. This way you only pay for what you use. If you chose App Service Plan your function will will pay for it whether it is actually processing or not.
Once you click Create the Function App will start to deploy. At this point you will start to create your first function in the Function App. Once you find your Function App in the list of App Services it will open the blade shown below. It offers a quick start page, but I quickly found that didn't give me options I needed beyond a simple "Hello World" function. Instead press the New Function link at the left. You will be offered a list of trigger based templates which I will cover in the next section.
Triggers define the event source that will cause your function to be executed. While there are many different triggers and there are more being added every day, the most common ones are included under the core scenarios. In my experience the most useful are timer, queue, and blob triggered functions.
Queues and blobs require a connection to a storage account be defined. Fortunately this is created with a couple of clicks and can be shared between triggers and bindings as well as between functions. Once you have that you simply enter the name of the queue or blob container and you are off to the races.
When it comes to timer dependent functions, the main topic you will have to become familiar with is chron scheduling definitions. If you come from a Unix background or have been working with more recent timer based WebJobs this won't be anything new. Otherwise the simplest way to remember is that each time increment is defined by a division statement.
In the case of queue triggers the parameter that is automatically added to the Run method signature will be the contents of the queue message as a string. Similarly most trigger types have a parameter that passes values from the triggering event.
Some of the function templates include an output binding. If none of these fit your needs or you just prefer to have full control you can add a binding via the Integration tab. The input and output binding definitions end up in the same function.json file as the trigger bindings.
The one gripe I have with these bindings is that they connect to a specific entity at the beginning of your function. I would find it preferable to bind to the parent container of whatever source you are binding to and have a set of standard commands available for normal CRUD operations.
Let's say that you want to load an external configuration file from blob storage when your function starts. The path shown below specifies the container and the blob name. The default format show a variable "name" as the blob name. This needs to be a variable that is available and populated when the function starts or an exception will be thrown. As for your storage account specify it by clicking the "new" link next to the dropdown and pick the storage account from those that you have available. If you specified a storage account while defining your trigger and it is the same as your binding it can be reused.
The convenient thing about blob bindings is that they are bound as strings and so for most scenarios you don't have to do anything else to leverage them in your function. You will have to add a string parameter to the function's Run method that matches the name in the blob parameter name text box.
That should give you a starting point for getting the shell of your Azure Function created. In the next two posts I will add settings, assembly references and some tips for coding your function.
Jan 31, 2017 | One Comment
On October 26, 2016 Microsoft had an event to show off the future of Windows 10 and some new hardware. The following sketchnotes summarize the announcements from that event.
Oct 26, 2016 | Add Comment
Earlier this month Norm Murrin and I gave a talk at the Chicago Coder Conference. We learned a lot about how the offerings of each company compares during our preparation. In the end we come to the conclusion that there is no clear winner except those of us who are leveraging the resources. Check out this video posted by the conference do get the blow-by-blow details.
Jun 29, 2016 | Add Comment
UI development gets all the attention, but application integration is where the real work is done. When it comes to application integration in the Azure ecosystem you better learn how Functions and WebJobs are developed and under what conditions you should use each. In this post I will try to answer those questions.
For me it is important that a solutions is reasonably maintainable, deployable through environments and can be easily managed under source control.
Both products are built on the same code base and share the same base API. From that perspective they are closely matched. Functions do have the advantage of handling web hooks as opposed to simply timer and storage events with WebJobs.
There is another difference that I haven't been able to prove you, but I've seen mentioned in a couple of places. It seems like Functions may take time to warm up since they aren't always instantiated. Since WebJobs are always running they would not incur this startup cost. If immediate processing is important then WebJobs may be the more appropriate options for you.
When it comes to actual development I prefer to have the resources of Visual Studio to write and manage source code as well as package my deliverables for deployment. As of this writing I have not been able to find a Visual Studio project type. This means you edit the code through a web browser. This in portal editor does allow you to integrate with Git or VSTS for source control. I would expect at some point in the future we will get a Functions project type.
Both WebJobs and Functions can be written using C#/VB.NET and Node.js. From the language availability perspective they are even.
So what is the real separating line between using one or the other. From what I have experienced so far, if you need the web hooks then Functions are the right choice. If you don't need the web hooks and maintainability is you priority then WebJobs are the way to go. I'm sure there are more reason, but these are the most obvious in the early days of Functions. As the products evolve I'll post updates.
Christopher Anderson (@crandycodes) from the Azure team replied via Twitter with the following:
You hit on some key points like lack of tooling/VS integration. We plan on addressing those before GA.I think the major point missing is the dynamic scale functionality, pay per use. Functions scale automatically and don't cost a VM.Also, if you run Functions in dedicated with always on, there is no cold start issues, but you pay per VM at that point.WebJobs vs Functions is really: "Do I want to manage my own custom service?" Yes: WebJobs, No: Functions. Otherwise, similar power.
Jun 02, 2016 | Add Comment
Git and GitHub have been around for a few years now. They are becoming more popular by the day. I finally got around to looking at them more closely over the last few months and decided to summarize the experiences.
My first experience with GitHub was not the most pleasant. I was using Visual Studio 2013 which doesn't seem to have the best integration story (or at least didn't when I tried it). The fact that it required that an existing repository be cloned via the GitHub desktop before Visual Studio knew anything about it was the biggest pain.
Visual Studio 2015 on the other hand has a much better use story. You are able to log into your repository and get a clone of the repository without breaking out to another tool. The commit process is pretty similar to that of TFS from that point on.
From my trials I have found that GitHub works well as a source control repository. It is hard at first getting used to the non-Microsoft verbs that are used. Retraining yourself that you have to do a commit and push before something is actually checked in instead of just doing a
As for working as a team I think that TFS still has the better features. This may just be because it isn't as well integrated with Visual Studio. Having customizable work items in TFS comes in very handy, especially on larger enterprise projects.
The wiki gives a good place to put documentation, but it doesn't give you a place to manage Word, Excel, PowerPoint, PDF and Visio documents that might have important information about your project. This is where TFS and SharePoint really shine.
Another drawback I see over TFS is that GitHub repositories are public and can't be private unless you have a paid account. I can create a free TFS Online account that gives me private repositories and access for up to five users. This makes it better for the individual developer to the small team.
Of course there is a third option that you can use Git in TFS. This gives you the source control of Git with the project management features of TFS. It took a little bit to get may existing code into the new Git-TFS project repository. Then came the realization that the only source control viewer for Git repositories is in the portal. The growing pains continue.
I am sure that the story around GitHub will improve over time, but right now it just seems like people are using it because it is what the cool kids are doing or they are working on open source projects. If I have to advise a client I am going to suggest they go with the product with the best and most complete story with the best integration to their current toolset. For now that is TFS, especially if you are a Microsoft development shop.
As for my GitHub experiment, it goes on but I deleted the repository I had created for security reason. Stay tuned and see what else develops. The next step is probably Git in TFS.
May 04, 2016 | 5 Comments
This post is based on the presentation I gave at Cloud Saturday Chicago.
In a mobile first world services need to be able to process high volumes of traffic as quickly as possible. With the certification and deployment process which native mobile apps have to go through being long and sometimes uncertain, we find ourselves looking for ways to make improvements without changing the device code. The flexibility of Azure and other cloud platforms gives developers the ability to easily implement changes to solutions using that can be deployed quickly with nearly infinite resources.
The solutions described here can also help the throughput of you web applications as easily as mobile apps. This article will demonstrate the capabilities of Azure WebJobs and Queues improve application responsiveness by deferring processing.
Let's start with what a normal mobile app infrastructure design may look like. We have a mobile app which is sending data to a web service to be processed. This service may have a whole workflow of operations to perform on that data once it is received. Once the processing is complete the data is stored in an Azure SQL Database. The problem that we are facing is that you don't want the mobile app to continue to wait while the processing occurs as this may cause timeouts or the delays in the UI while.
To reduce the delays we can make a couple of minor changes using features of Azure. We remove the main workload from the web service so that it simply puts the incoming message on an Azure queue. The work that used to be in the service is now moved to a continuous Azure WebJob along with code to read from the queue. This give the service the ability to return an acknowlegement message to the mobile app almost immediately. The WebJob can pull from the queue at its own speed and since we are in the cloud we can easily add new instances of the WebJob to scale out if needed.
What are the actual performance differences? That will depend greatly on how much work your service was doing to begin with. If it was only a simple table insert there may not be a significant improvement or possibly even a loss due to the serialization to the queue. If you have to reach out to several different resources or perform a strong of operations this will off load the real work.
The first thing that we need to do is add the code to insert into the queue from the service.
string connectionString = ConfigurationManager.ConnectionStrings["AzureWebJobsStorage"].ToString(); CloudStorageAccount storageAccount = CloudStorageAccount.Parse( ConfigurationManager.ConnectionStrings["AzureWebJobsStorage"].ToString()); CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient(); CloudQueue queue = queueClient.GetQueueReference("yourrequestqueue"); queue.CreateIfNotExists(); var tempMessage = JsonConvert.SerializeObject(request); CloudQueueMessage message = new CloudQueueMessage(tempMessage); queue.AddMessage(message);
In order for this code to work we need to setup configuration connection strings to the storage account which will contain the queue. In order to get the keys for the storage account open the Azure portal and go to [your storage account] –> Keys.
Below are the connection string entries that you should use. <add name="AzureWebJobsDashboard" connectionString="DefaultEndpointsProtocol=https;AccountName=yourstore;AccountKey=your secondary access key" /> <add name="AzureWebJobsStorage" connectionString="DefaultEndpointsProtocol=https;AccountName=yourstore;AccountKey=your secondary access key" />
Below are the connection string entries that you should use.
<add name="AzureWebJobsDashboard" connectionString="DefaultEndpointsProtocol=https;AccountName=yourstore;AccountKey=your secondary access key" /> <add name="AzureWebJobsStorage" connectionString="DefaultEndpointsProtocol=https;AccountName=yourstore;AccountKey=your secondary access key" />
Now we add a new Azure WebJob project to our solution. You will find the Azure WebJob template under the Cloud template section.
Once we have the project add the following code to a method in the Functions class specifying the name of the queue in the QueueTrigger parameter. In this instance I have used the JavaScriptSerializer to deserialize the message from the queue. You can then pass the object on to the processing methods as you originally had in the service.
public static void ProcessQueueMessage([QueueTrigger("your queue")] string message, TextWriter log) { var serializer = new JavaScriptSerializer(); YourType tempRequest = serializer.Deserialize<YourType>(message); // Do your work here }
public static void ProcessQueueMessage([QueueTrigger("your queue")] string message, TextWriter log) { var serializer = new JavaScriptSerializer(); YourType tempRequest = serializer.Deserialize<YourType>(message); // Do your work here }
Once the storage key is added to the connection strings for the WebJob as we did for the service we will be ready to deploy and test.
Deploying the WebJob is fairly straight forward. If you zip up the contents of your bin folder including the config file you can then upload it through the App Service –> [Your App Service] –> Settings –> WebJobs blade of the Azure portal.
Give the WebJob a name, leave the other settings and select the file for your zipped bin folder and you are all set to go. I will cover debugging in a future post.
Creating WebJobs and manipulating Azure queues is not rocket surgery. If you have kept your code as loosely coupled as possible then moving to a continuous WebJob solution will be fairly quick and painless. With just a little effort your application will seem more responsive and will be able to handle much larger request loads.
May 03, 2016 | Add Comment
Node.js has become one of the most predominant JavaScript based solution frameworks over the last couple of years. As with most ideas that start in the open source community it has crept its way into the Microsoft based platforms. For those of us who make our living in the Windows ecosystem it is beneficial to know what tools are available to add Node.js components to our solution landscape.
This post will briefly introduce four of the development environments to build Node.js projects on the Windows platform. These include DOS command line, VS Code, WebMatrix and Node.js tools for Visual Studio.
As with most development, the solution with the fewest bells and whistles has the most power. You can simply download the Node.js base from nodejs.org. This will supply you with all the basic components including a Node.js command window. At that point you can use npm to pull down what ever packages you wish to leverage and use your favorite text editor to develop solutions.
One step up from command line is Visual Studio Code. This is a tool that Microsoft built in response to the portion of the development community who prefer a minimalist solution where you pick every feature you want to include in your code explicitly. Since it is a very file based/folder based tool there is no native support for managing associated resources such as modules that you want to include in your Node.js package. In many cases you still need to leverage the command line in order to perform operations such as adding modules.
You can open an existing Node.js folder and effectively maintain your application. There are several VS Code Extensions available to help with the out of the box deficiencies and more are being added all the time.
With WebMatrix you add the ability to start from a project template. You still won't have the capability out of the box to add new Node packages. In theory this should be overcome by simply installing the NPM Gallery extension, but when I tried it there were bugs that prevented retrieving any new packages.
On another cautionary note, I have found that WebMatrix can have unpredictable problems where sometimes Node.js code that will work in other tools will have random results. I'm not sure if this is a result of my environment or the WebMatrix hosting model, but buyer beware.
Visual Studio is the envy of all other development platforms so it is to be expected that it is the best development experience for the Windows platform. You have all your favorite productivity features. If you are normally a .NET developer and need to do Node.js development this is your choice, hands down. It gives you intellisense, debugging and profiling on top of NPM integration. What more could you ask for?
In the end everyone will have their favorite toolset based on how they work and what type of projects they are developing. There isn't a right or wrong choice, just your personal preferences.
Apr 11, 2016 | 5 Comments
It is that time of year again where Microsoft developers gather in San Francisco to hear the direction that Microsoft is moving and the tools they are offering to get us there. The big theme this year has been "Windows is home for developers". So what did Microsoft have in store for us?
There were a lot of stats that showed up during the keynotes. A couple that stood out for me were that there are currently over 270 million users on Windows 10 and that Cortana is answering over 1 million voice questions a day. First, this makes Windows 10 the fastest adopted version of Windows in history which say to me that Microsoft is starting to get a little of its appeal back. Second, it tells me that even if Windows Phone didn't take of the way it should have it still brought about assets that for Microsoft that they are leveraging to the benefit of users.
Now I didn't hear anyone at BUILD say why, but the next update to Windows 10 will be called the Anniversary Update (I guess 31 years is a nice round number). Whatever the reason there were a number of new features that will be coming with the release that are worth looking at. The three big features included security, ink and Linux (believe it or not).
The one security feature that stood out is biometric logins from Edge. This allows you to use something like a fingerprint reader to log into a web site. My understanding is that this is an extension of the Windows Hello interface.
The second big feature is the ink enhancements. The statement was that since most people still use a pen and paper so often that it should be front and center in your experience. This includes context sensitive handwriting recognition that can realize that if you write a word that implies a date it will be a link that can open Cortana and set a reminder. This along with new highlighting feature, a new sketch pad and rulers that make it easier to draw lines and shapes the ability to use a pen on your computer becomes infinitely more powerful.
For the third announcement Microsoft introduced a Bash shell for Windows running Ubuntu Linux. I'm still not sure where this is useful, but the fact that the two can live together and interact bears another look.
Here is where wishes come true. It was rumored before last year's BUILD that we would hear that Microsoft would buy Xamarin. That announcement came earlier this year instead. This week we really got our wish when Scott Gu announce on stage that Xamarin will come free to every Visual Studio user. Not only that but we will also get access to the other Xamarin goodies like the iOS emulator, test recorder, and test cloud.
BUT WAIT! There's more! The Gu also announced that Xamarin will be open sourced through the Open Source Foundation. Merry Christmas!
While it didn't feature as prominently as it did last year, HoloLens still got some stage time. It could be that your next classroom experience is with HoloLens if you happen to be a medical student at Case Western Reserve University. Or you may find HoloLens at your next visit to the Kennedy Space Center where you can explore Mars with Buzz Aldrin.
Azure continues to be a home run and savior for Microsoft. As PC sales decline and the types of devices we use diversify the cloud has become the backing service for everything. You can see then why Azure is now in what will be mile long data centers and why almost the entire second day keynote of BUILD was dedicated to Azure.
Developers are finally getting the opportunities on Xbox One that they have been asking about since it was announced. The combination of Universal Windows Platform (UWP) and DirectX 12 not only means that more games will be shipped for both Xbox One and PC, but developers will be able to able to write Xbox One apps and games more easily. They will be able to test them by using the new developer mode that will be available on the Xbox One. They will then be able to release it to a unified store. What more can you ask for.
As we have seen over the last year, Cortana is everywhere. Since every device, regardless of platform, can run Cortana it has the ability to help you in ways that other personal assistant AIs can't. They also showed off how Cortana will be integrated with Skype and Bots to give you access to entertainment, products and services that relate to your chat conversations.
I can't say that the keynotes really made it clear what cognitive services and bots are. We say where they play but there was not explicit definition of what they are. From what I saw the cognitive services are pre-packaged services built on top of machine learning. They are handy tools that you can incorporate into your applications to make them more human friendly like the ability to detect emotions from a person's expressions.
Bots on the other hand are built on a new framework that is available to devs which integrates services with natural language syntax understanding. It seems to be the next step in allowing developers to create components that will plug in as part of a greater AI type experience for users.
That is a lot to take in and a ton of new things for devs to learn. Microsoft is making it easier for developers of all backgrounds to use Windows as their main development environment and a jumping off point to develop solutions that will live on other platforms. At the same time they are building cloud and device features that have the potential to move computing light years forward. Even though this year wasn't about the hardware it is still an exciting time to be developing on the Microsoft platform. Check out the content from BUILD on Channel9 and find out which new features you can apply to your solutions.
Apr 04, 2016 | 2 Comments
You go through the Azure price calculator and figure out everything you think are going to need for your Azure VM and how much each resource will cost you on a monthly basis. You then pick a template from the marketplace and implement it assuming you know what services are being stood up. Do you really know?
What you may not realize is that if you didn't go through the pricing calculator thuroughly you may be in for some surprises on your bill. Not only do you get charged for the hardware that you have selected, but also the image that you choose to run on it.
The cost per minute of each image is not posted on the image itself. This is made up of each component you are using and can be figured by reviewing adding up all the costs listed here. If you don't know to look there then you won't know that there are additional costs until you get the invoice at the end of your billing period, and these can really add up.
As I mentioned above this surprise can also be avoided by knowing server type you should select in the pricing calculator. You may assume you are just getting a Windows server and then adding SQL Server too it, but if you pick SQL Server as the Type for you vitual machine you will see that the real cost almost doubles for you VM. This is the server type that is actually used for the SQL Server templates.
In some cases you will find that licensing the software in the template costs much less than running the image. Since you are renting SQL Server instead of buying it you are paying for it each month.
If a SQL Server standard license cost you $600 per processor and you are running a 2 processor server you can put SQL server on it yourself for $1200. The same VM loaded with SQL Server standard will cost you ~$300 a month. At that rate you would pay for the license in 4 months. You need to take this into account when making your decisions.
Of course if you are only running the server as a testing server that is shut down most of the time then your cost for a year may actually come in under the cost of a license.
The point is be educated about what your Azure VM is really going to cost you and what your return on investment is.
Feb 09, 2016 | 2 Comments
Ok, I'm biased. Let's get that out of the way up front. I am a fan of the Windows Phone and it's user interface. I think the live tiles, informative lock screen and application contracts offer a far superior experience to Android and iOS. Regardless of my preference I believe that at this point it is inexcusable for all but the smallest companies to ignore Windows Phone.
There has been one big reason for the lack of adoption Windows Phone: Apps! About 75% (not a scientific number) of the people that I have talked to would prefer a Windows Phone over Apple or Android if the apps were there. Microsoft has a chicken and egg problem though. They can't get better market share without more key apps, but no one wants to put there apps on a platform that doesn't have market share.
I know the stats: Windows Phone has 2% market share. I don't think that is the real story. That ignores that fact that this still equates to over 50 million active users. That is a significant number of your customers that you are choosing to neglect. The good will of your customers is worth more than the cost of development and maintenance.
Universal apps mean that you can reach more users than any other platform with a single code base. With over 110 million installations of Windows 10 and a much larger pool of potential Windows users your app can reach a wide and profitable margin. Add to that tools like Xamarin which allow you to write once and deploy to iOS, Android and Windows along with reusing your back end architecture and any arguments against writing for Windows Phone get really thin.
Lastly, the business adoption of the Microsoft Surface and the rumored Surface Phone give another potential market for Windows Phone. This opens line of business application development. While not a large user base for each individual app, it gives an infinite number of opportunities.
In the end, the variety of value opportunities make a strong case for investing in Windows Phone development. Spend some time with the tools and ecosystem. You will find the experience rewarding.
Dec 10, 2015 | Add Comment
Windows Live Writer has been my blog writing tool of choice since it first came out. When Microsoft announced that it would no longer support and upgrade the product I was understandably disappointed.
Some time ago we heard (I believe from Scott Hansleman) that they were looking at open sourcing the tool. While anyone who reads my blog knows OS is not my first choice I anticipated the change because I don't want to lose this productive and flexible tool.
Now it is here. No more worrying about an end of life situation for WLW now that OLW has been release. The interface is the same and it even seems to use the same directory structure so you won't lose work in progress.
I just wanted to say thank you to the team that made this happen.
Dec 09, 2015 | 2 Comments
Tim is a Solutions Architect for PSC Group, LLC. He has been an IT consultant since 1999 specializing in Microsoft technologies. Along with running the Chicago Information Technology Architects Group and speaking on Microsoft and architecture topics he was also contributing author on "The Definitive Guide to the Microsoft Enterprise Library".
Technorati Profile


text:
Jamie and I got the information about the Chivalry Skin Care for Men line and thought the premise behind their flagship product, Soap for your Nasty Parts, was great! Just think about it! The line of products is a good one and Jamie was excited for them to come.
Body Wash: A man like you is always willing to roll up his sleeves and get dirty. That's why you need a body wash that will eliminate odor and leave you smelling like a true gentleman, not like your girlfriend's rose-scented bubble bath.
Multipurpose Moisturizer: To be used after showering for maximum effect. While other moisturizers leave your skin feeling greasy, this never will. Never clammy, always smooth.
Soap for Your Nasty Parts: You just cleaned your junk with the same bar of soap you used on your face? Let's keep those parts separate. Your underworld deserves some special treatment. Our unique formula combines walnut shell and aloe vera to dig deep, scrub out odor and give your region a smooth and clean feel. Get ready to transform your junk into jewels.
His favorite is the soap hands down. It's like a clear gray soap so it's easy to keep it separate from the soap you use to wash your face! He now has 2 bars of soap and can't believe he ever just used the one! The body wash is also a favorite of his, he likes the smell and says it lathers well.
Enter the Giveaway!
You can win the Chivalry Skin Care for Men line! Please enter the giveaway on the widget below. Email and feed subscribers will need to click over to my actual site to enter.
I received the same prize as the winner. All opinions remain my own.
Check out HOT Amazon deals on your favorite items!

subset: commoncrawl


text:
Football recap: Rams take Gildan New Mexico Bowl with thrilling come-from-behind victory
CSU scores 18 points in final three minutes
Postgame notes
CSU vs. Boise State
Colorado St. beats Wyoming, 52-22
Kapri Bibbs rushed for career-high 201 yards and three touchdowns, and Garrett Grayson passed for 219 yards and three scores as Colorado State beat Wyoming 52-22 Saturday.
Rams run away with home opener
CSU totals 553 yards of offense
Postgame quotes
Colorado State vs. Washington State
Colorado State takes on WSU in the Gildan New Mexico Bowl
CSU Football vs. Nevada
CSU Football vs. Nevada - photos by Don Reichert
Colorado State football vs. Boise State - Nov. 2, 2013 (Dan Byers)
Colorado State football vs. Boise State - Nov. 2, 2013 (Dan Byers)
Colorado State vs. Boise State
Colorado State vs. Boise State
Colorado State @ Wyoming
Career Division I games played/started: 20/8 (11/2 in 2013; 9/6 in 2012)
2013 (Sophomore): Played in 11 games, starting two (vs. Colo., Sept. 1; at Wyoming, Oct. 19), and rushed for428 yards and two touchdowns on71 carries (6.0)...also caught21 passes for178 yards (8.5) and a touchdown...returned one kickoff for 61 yards vs. Boise State (Nov.2)...missed Tulsa (Sept. 7), New Mexico (Nov. 16) and Utah State (Nov. 23) games because of injury.
- Had a season-high 81 yards on seven carries (11.6) in a win against Hawaii (Oct. 26), including a 70-yard run.
- In a win against Wyoming (Oct. 19) caught his first touchdown of the season, a one-handed 34-yard reception
- Returned a kickoff for 61 yards vs. Boise State (Nov. 2)...earned College Football Performance Awards Kickoff Returner Performer of the Week honors
- In the Rams' New Mexico Bowl victory vs. Washington State (Dec. 21), ran the ball seven tims for 31 yards and caught three passes for 17 yards...in arguably the biggest play of his career, took a hand off from Garrett Grayson off a 'Statue-of-Liberty' play, diving for the pylon and converting the two-point conversion
2012 (Freshman): Concluded the 2012 campaign as the Rams' leading rusher (587), while logging six starts...also recorded at least one catch in eight of the nine games he played in. Finished the year hauling in 17 catches for 155 yards.
- Began the 2012 season as Chris Nwoke's backup, but an ankle injury to Nwoke moved him up to the No. 1 back
- In his first career start against North Dakota State (Sept. 8), rushed for 59 yards, the most by a CSU freshman in his first start since 1993
- In the home victory over UNLV (Nov. 10), represented the offense as a weekly team captain...Alexander was one of three freshmen to receive the captain honor in 2012
- Rushed for 110-plus yards on three separate occasions in 2012...on the road against Wyoming (Nov. 3) he rushed for 114 yards, the next weekend vs. UNLV (Nov. 10) he galloped for a career-high 139 yards and two scores, and in the season finale against New Mexico (Nov. 24) ran for 112 yards and a TD
- His season rushing total of 587 yards is the fifth-most by a freshman at CSU...the last time a Rams freshman running back rushed for 500-plus yards in a season was in 1995 (Damon Washington).
2011: Redshirted as a true freshman in his first season of college eligibility.
High School: A four-year letterman who played for three schools in the Kansas City area, combined to rush for more than 7,000 yards, average 8.8 yards per carry, and score 95 touchdowns...Garnered first-team all-conference honors three consecutive seasons, from 2007-09, and second-team honors as a senior ...Also earned all-state accolades after his sophomore and junior campaigns...Moved to Blue Springs South prior to his senior year and served as the Jaguars' No. 2 tailback, behind a first-team all-state performer, but still scored 18 touchdowns and rushed for nearly 1,000 yards in only nine games; also played fullback and strong safety for a team that lost in the first round of the playoffs to the eventual state champion...Earned the HyVee Athlete of the Week from KSHB-TV after rushing for 209 yards and two TDs in a Week 5 victory...Led Grandview (Mo.) High School to the state semifinals in 2009, when he found the end zone 30 times, rushed for better than 1,500 yards and topped 2,000 yards from scrimmage...As a sophomore, played for two schools, Grandview and Olathe (Kan.) East, and combined for 2,700 rushing yards and 21 TDs, helping GHS to an 8-4 record and a berth in the state semifinals... Key in Grandview's 9-3 season as a freshman in 2008, when he piled up 1,876 rushing yards and 26 TDs, helped the team to the state semifinals...A three-year captain...Had a 4.41-second 40-yard dash, a 355-pound bench press and 38-inch vertical leap...Also played basketball and ran track, lettering in basketball as a freshman and sophomore at Grandview...An honor-roll student, had a 3.2 GPA at the time of his signing...Head football coaches were Greg Oder (BSSHS) and Ron Freeman (GHS)...Also recruited by Arkansas, Nebraska, Miami (Fla.), Utah, Kansas St., Iowa and North Dakota St.
Personal: Given name Donnell Joseph Alexander... Born Jan. 24, 1993, in Kansas City, Mo. ...Son of Kim Alexander and the late Derrick Thomas...Has one older sister ...Father, who still holds the NFL's single-game record with seven sacks, was inducted into the Pro Football Hall of Fame in 2009 after an 11-year career with the Kansas City Chiefs, who made him the fourth overall selection in the 1989 NFL Draft out of Alabama...Interested in a career in sports medicine after his playing days...Majoring in communication studies at CSU...Hometown: Kansas City, Mo.
Download Schedules: Add to calendar
- Tickets
More Headlines
Three-game mini-plan ticket packages on sale...
Beginning June 26 fans of Colorado State football may purchase three-game ticket mini-plans for...
Video presentation upgrades unveiled by CSU,...
FORT COLLINS, Colo. - The Colorado State Rams and RamVision have released new details regarding...
Two more kickoff times set for 2017 CSU...
FORT COLLINS, Colo. — The kickoff times for two more 2017 Colorado State home football...
Matthews, Pierre-Louis sign deals with CFL teams
FORT COLLINS, Colo. — Former Colorado State defensive backs Trent Matthews and Kevin Pierre...
Photo Gallery: Scoreboard at the new on-campus...
Installation began this week on the scoreboard at the new on-campus stadium. The Rams' new home...
Kickoff time for Aug. 26 new stadium grand-open...
The magnitude of Colorado State's Aug. 26 football season opener took on even greater...
Rams receive kickoff times and TV designations ...
Two more Colorado State football games in 2017 were assigned kickoff times, it was announced...
Photo Gallery: New on-campus stadium
Colorado State University's new on-campus stadium is scheduled for substantial completion on June...
- Shop


text:
|Not what you were looking for? This page is one of several in a disambiguation page for Rockets.
On the Road Again (1978)Edit
- On the Road Again
- Cosmic Race
- Venus Rapsody
- Space Rock
- Astrolights
- Electro-Voice
- Sci Fi Boogie
- Space Rock (extended version)
- On the Road Again (remix '92)
Imperception (1984)Edit
- Under the Sun
- After the Fire
- A Million Miles Away
- Wrong Place, Right Time
- Contact
- Someone New
- Private Network
- Freedom
Other Songs Edit
|Look this artist up at:
|MySpace • Last.fm
Amazon: Rockets
iTunes: Rockets
allmusic: Rockets
Discogs: Rockets
MusicBrainz: Rockets
Spotify: Rockets


text:
News About: Admire Rakti
Caulfield Cup Odds: Late Mail
Update: While Articus has remained steady at Caulfield Cup odds, the market mover has been Darren Weir-trained Real Love.
Real Love is now into 2016 Caulfield Cup odds of $6 and is now a clear second favourite from Naturalism Stakes winner Jameka.
Articus has been steady at 2016 Caulfield Cup odds of $9, but …
Barrier blanket to help Rising Romance in Ladbrokes C. F. Orr Stakes
Co-trainer Tom Dabernig is hopeful that the addition of a barrier blanket will help Rising Romance's susceptible barrier manners when she lines up in the Group 1 $500,000 Ladbrokes C.F. Orr Stakes (1400m) at Caulfield on Saturday.
Williams kicks off Caulfield Cup Day with a winner
High class Melbourne jockey Craig Williams kicked off Caulfield Cup Day in fine style, winning the first race on the program, the $100,000 Yellowglen Plate (1400m) on Andrioli at Caulfield today.
Williams will be on Hokko Brave …
Caulfield Cup Tips: Rising Romance The Value
Leading form analyst has Mongolian Khan on top of his 2015 Caulfield Cup tips, but he believes that talented mare Rising Romance is another horse that represents outstanding value at her current Caulfield Cup odds.
Rising …
2015 Caulfield Cup Results: Mongolian Khan Wins
Mongolian Khan justified his status as a dominant favourite to take out the 2015 Caulfield Cup at Caulfield this afternoon.
Jockey Opie Bosson was able to keep Mongolian Khan out of trouble in the early …
Fame Game's Caulfield Cup Tactics Still Up In The Air
Fame Game is one of the most intriguing horses in the 2015 Caulfield Cup field and there has been plenty of speculation about how he will be ridden in the Group 1 event, but jockey Zac Purton has revealed that he will not make any firm decisions on how he will ride the Japanese stayer …
Damian Lane admits nerves before Caulfield Cup ride on Rising Romance
Jockey Damian Lane is hoping Rising Romance can go one better in this year's Group 1 $3m BMW Caulfield Cup (2400m) at Caulfield on Saturday and admits there will be nerves as he lines up for his first ride in the famous mile and a half handicap.
Lucia Valentina Over The Odds In Caulfield Cup Betting
Lucia Valentina is currently available at $26 in 2015 Caulfield Cup betting markets, but trainer Kris Lees is happy with the talented mare ahead of the Group 1 event at Caulfield on Saturday.
2015 Caulfield Cup Barrier Draw: Mongolian Khan Draws Well
The 2015 Caulfield Cup barrier draw has been conducted and Mongolian Khan is set to maintain his position at the top of betting after he drew ideally in barrier nine for the Group 1 event that will be held at Caulfield on Saturday.
Caulfield Cup 2015: 2400 Metres Too Short For Fame Game
Jockey Zac Purton has revealed that he believes that 2400 metres of the 2015 Caulfield Cup could be too short for Fame Game after he rode the Japanese stayer in track work at Werribee this morning.
News Topics
- Chris Waller
- Melbourne Cup
- Gai Waterhouse
- Cox Plate
- Caulfield Cup
- Peter Moody
- Golden Slipper
- Melbourne Spring Racing Carnival
- Flemington
- Hugh Bowman
- Stradbroke Handicap
- Darren Weir
- Doncaster Mile
- Damien Oliver
- Black Caviar
- Queen Elizabeth Stakes
- Peter Snowden
- Craig Williams
- Caulfield Guineas
- Caulfield
- James McDonald
- Blue Diamond Stakes
- Newmarket Handicap
- David Hayes


text:
Monet Comfort Clip Earrings Big Purple Glass Stones White Rhinestones Gold Tone
- Sold for: Start Free Trial or Sign In to see what it's worth.
- Item Category: Jewelry
- Source: eBay
- Sold Date: Sep 26, 2014
- Channel: Auction House
These are stunning comfort clip earrings marked Monet. The large glass stones have groves and are tear drop shaped. At the bottom are bright white rhinestones. The earrings measure approximately 1 " long and .75 " across the top . The metal is brilliant gold plate with some very mild scratching to the shiny surface, nothing that jumps out at you. Comfort clips earrings are my best selling clip earrings because you can adjust the pressure to your liking . These are especially nice and w ill look fab for any occasion. Much prettier and stylish than shown. Enjoy!
(Don't mind the fuzz. I keep my jewelry in boxes and sometimes get fiber from the cotton material). Always email for additional information or pictures and ask any questions before buying. Thanks for looking!Please
Check out our other items ! Be sure to add us to your favorites list !Thank you for viewing our auction. Stop in again. We have a huge collection of vintage & antique jewelry and collectibles. Have fun and ! PLEASE READ THE NOT SO FINE PRINT BELOW.
Returns: Returns are typically accepted for errors in descriptions, only. Please review all photos and ask any questions before buying. In the event that a return is desired, the buyer MUST email for approval and receive an authorization verification number. ... read more


text:
Parenting Bookshelf: Squash Your Kids!
If you want to think healthy, think squash. Like the carb-filled vegetable that's good for the athletic body, the sport of squash was also ranked number one by Forbes magazine.
Want the best kids' events
and activities in your inbox?
Sign up to get our editors' picks each week.
More Info
Get NYMetroParents via Email


text: For more information on the payment association challenges and solutions, visit WAUSAU Financial Systems' booth #519 at AFP or www.wausaufs.com.About WAUSAU Financial SystemsWAUSAU Financial Systems is a premier provider of payment and receivables processing solutions, helping businesses of all types move money faster. With its products, services and consulting, WAUSAU works with customers to speed check processing, electronic presentment, ACH payments, transaction processing, distributed capture and enterprise content management. WAUSAU holds the No. 1 market share position in retail and wholesale remittance processing solutions. WAUSAU processes more than $1 trillion in payments each year through its work with more than 650 organizations, and maintains more than 30 percent of all U.S. lockbox volume. The company works with 13 of the 25 largest financial institutions, 42 percent of insurance companies with more than 5 million customers and 24 percent of utilities with more than 100,000 customers. More than 200 financial institutions use WAUSAU's remote deposit capture service, and industry consultants Celent and Aite have ranked WAUSAU's remote capture functionality above all competitors. SOURCE WAUSAU Financial Systems


text:
This blog is of my views on this two games. Time and time again, people have had arguments about which is the better sporting franchise-EA Sports or Konami? It is widely known by the elementary and simpleton of minds that EA Sports is that better of the two comparisons. EA Sports clearly makes sport games(I mean that was pretty obvious, it is in the title) and Konami makes a huge array of gaming genres.
But if we single out the games that have been manufactured by these two gaming powerhouses, namely Fifa by EA Sports and Pro Evolution Soccer by Konami, we will notice a delighted game of cat and mouse.
Long have been the years, where Fifa have monopolised the football gaming industry, brushing off the unsuccessful attempts of This Is Football. A game within the distant memory of every avid football gamer. but is Fifa an adored game because people did not have a choice because there was only one enjoyable football game to choose? For a clear example, American Football, you could choose from NFL Madden to NCAA Football to NFL Gameday.
Pro Evolution Soccer started off as a dark horse in the football gaming arena, but started building confidence and strength in its sales in 2008. So what really makes either of these two games better than the other?


text: An Eddington man was sentenced to 11 months behind bars Thursday.Thirty-nine-year-old Walter Ramsdell the third pleaded no contest to possession of sexually explicit material.Police say Ramsdell ran a home daycare and downloaded child pornography on his computer.Investigators with the state's computer crimes unit say they uncovered Ramsdell's computer activities while monitoring a network where child pornography is shared.The sentence was a plea deal reached between the state and Ramsdell's attorney" We felt that this sentence for 11 months was appropriate given the defendant's background, given his history, given the acts that he engaged in. We felt it was appropriate and hope that the Department of Human Services will be able to supervise his family from now on." Mr. Ramsdell is not a threat to society. This is an episodic incident, probably never to be repeated. The impact on his family has been huge."Ramsdell will be placed on the national sex offender registry for 10 years.He was taken into custody following his sentencing.


text: NORTHBROOK, Ill., Aug. 5, 2013 /PRNewswire/ -- Allstate and The Tom Joyner Foundation are working together to engage students, alumni and supporters of Historically Black Colleges and Universities (HBCUs) across the country to raise scholarship funds as part of the fifth annual Allstate Quotes for Education program. For every person who receives an insurance quote from a participating Allstate agent and mentions Quotes for Education between August 1 and Nov. 30, 2013, Allstate will donate $10, up to a total donation of $150,000. The funds will be donated to The Tom Joyner Foundation and earmarked for general scholarship funds to assist students attending HBCUs. For the second year, participants in this program will also have a chance to vote for the HBCU of their choice to receive an additional $50,000 donation for scholarships. In 2012, Lincoln University of Missouri won the inaugural competition and distributed scholarship funds to 25 students. "We know that cuts to student loan programs over the past few years are hurting students all over the country, but these cuts are particularly detrimental to students attending HBCUs," said Cheryl Harris, senior vice president at Allstate. "Allstate and The Tom Joyner Foundation are passionate about helping these students pursue their dreams as we continue to support programs like Quotes for Education." Over the past year, changes to federal student loan policies have made it more difficult for parents to obtain loans. According to a Washington Post analysis, the overall dollar volume of federal loans approved for parents in the 2012-13 school year fell 11 percent from the previous year. At HBCUs, where a greater percentage of students rely on parent loans, the volume fell 36 percent. This drop in funding translated to a loss of more than $150 million and forced an estimated 28,000 students to drop out of school due to lack of funds. "As soon as I heard about this scholarship I knew it was something I had to be a part of," said Aaron Marshall, a student at Lincoln University studying computer science. "This scholarship is an opportunity to work towards my goals and put me in a position to be successful in the future." When students have difficulty obtaining financing, a ripple effect extends to HBCUs due to a drop in enrollment and declining revenue. From the 2011-12 to 2012-13 school year, there was a 47 percent drop in the number of parents borrowing to support HBCU students, compared to a 19 percent drop nationally. This forces HBCUs to find other sources of financing for students or to slash their budgets, which has been reflected by the number of HBCUs facing financial difficulty over the past few years.


text:
RiffTrax: Carnival of Souls
"Mystery Science Theater 3000" alums Mike Nelson, Bill Corbett and Kevin Murphy aim their acerbic wit at this "classic" thriller from director Herk Harvey, augmenting an already-goofy experience with their peanut gallery-style commentary. After surviving a terrible car accident that kills her two best friends, church organist Mary Henry (Candace Hilligoss) is dogged by a series of haunting visions and frightening supernatural episodes.
Rent DVDs for only $4.99 a month.
Movie Details
- Director
- Herk Harvey
- Genres
- Comedy, Spoofs and Satire
- Format
- Ratings
NRNot rated. This movie has not been rated by the MPAA.
Full Screen 1.33:1Subtitles
NoClosed captioned
NoLanguage and sound
English: Dolby Digital 2.0 StereoOther features
Filmed in B&W; interactive menus; scene access.
RiffTrax: Carnival of SoulsClose
For Parents
Common Sense Note
- Age appropriate
- Not an issue
- Depends on your kid and your family
- Not appropriate for kids of the age most likely to want to see it


text:
Each month, Rated People connects over 50,000 homeowners with quality tradesmen - simply enter your job details in the form above to get started.
We'll match your job to the relevant tradesmen in your area - those interested will pay to see your contact details and call you to quote.
As each tradesman expresses interest in quoting on your job, we'll send you their profile and ratings to help you choose the right one for you.
After the work is complete, return to the site and rate your tradesman based on their quality of work, reliability and value for money.
Added 19/05/2017
A frosted pane of glass is missing from an old external door (I believe it is a 4 panes of...
Searching for tradespeople
Added 24/08/2016
Hi I have a property with a tenant residing there. There are a few jobs that need doing. There...
Searching for tradespeople
Added 27/11/2015
Someone to wall mount 40inch tv in bedroom
Searching for tradespeople
Added 13/11/2015
To fit grab rail on stairway and fit two grab rails in shower. Grab rails will be 12" and one...
Added 10/10/2015
I have 3 door wardrobe x 2, I am moving house and require them to be disassembled.
Searching for tradespeople
Added 10/03/2015
assemble 5 draw sideboard would like job done this morning
Searching for tradespeople
Another fantastic job - arrived early and stayed late - worked all day without complaint. Will definitely use them again! Thank you
John was punctual, professional and skilled. He did a great job, am very satisfied.Will keep his card in a safe place.
Really quick service. Quality work! No complaints whatsoever!
Absolutely excellent! I received a quote within 30 minutes of posting the job, they were able to attend very quickly and got the job done with the utmost care and attention. Very happy customer and thoroughly recommend them.
Very useful for short notice appointment
Managing your job is easier with the Rated People Homes App, download it today.


text:
Analysis: Contentious oil spill claims set up BP for long legal battle
By Mica Rosenberg
NEW YORK (Reuters) - Faced with hundreds of damage claims it says are fictitious and inflated, BP must decide whether to dive into a protracted legal battle it had sought to avoid when it settled a class action over the 2010 Gulf of Mexico oil spill.
The British oil giant asked the Fifth U.S. Circuit of Appeals in New Orleans this week to halt the claims. Should its challenge before the three-judge panel fail, BP will face a choice: ask for a hearing by all the court's judges, appeal to the U.S. Supreme Court, or try picking off individual cases one by one, legal experts say.
BP declined to comment on what its strategy would be.
At issue is how to interpret a 1,000-page settlement document BP negotiated with a committee of lawyers working on behalf of thousands of individuals and businesses affected by the Deepwater Horizon rig explosion. The blast killed 11 men and dumped millions of barrels of oil into the Gulf in one of the country's worst environmental disasters.
BP estimated the settlement, approved by a U.S. District Court in Louisiana in 2012, would cost $7.8 billion, but the payouts may end up ballooning to billions more.
The company has already paid more than $2 billion toward the 198,021 claims filed under the agreement. Overall it says it handed out over $10 billion to those affected by the spill and around $14 billion in cleanup and response costs.
Several lawyers not involved in the case said BP should have known it might be on the hook for more money and erred by agreeing to a deal that had no payout cap.
BP said it stands by the settlement but insists the problem is the person appointed by the court to dole out the money, former Louisiana plaintiffs lawyer Patrick Juneau. The tussle is over how the administrator is calculating the amount of business losses due to the spill a claimant can be compensated for. BP takes issue with the time frame and the accounting methods Juneau is using. Continued...


text:
Great cruise!!
Sail Date: February 01, 2010
Reviewed: 7 years ago
Traveled As: Couple
Room Type: Balcony
Pros: The best was the ship's friendly staff and their paying attention to the details.
Cons: We booked too many excursions, not leaving enough time to cool our jets and relax. Our fault.


text:
But since contractor Scolarest got the boot in January, mealtimes have been transformed. Once most children brought in a packed lunch. Now 70 per cent tuck into hot dinners.
Brookfield is one of four schools in Camden which dumped Scolarest after pressure from parents. Now they are doing the catering themselves and are not obliged to make a profit.
Scolarest warned that fresh vegetables would be cripplingly expensive, but Brookfield is only charging an extra 5p a meal, bringing the cost to ?1.50 a day. Headteacher Dilys Hillman said: "Last year the quality of the food was so poor that pupils would throw away what was on their plates. Now the entire atmosphere has changed. It's become a social experience."
Daphne Tagg, vice-chair of governors, said: "One teacher said her most difficult child has been transformed and can concentrate all day. What's heartening is you can turn a negative food culture around."
- More about:
- Camden
- Dinner
- North West London
- Vegetables


text:
Central Time
Definition from Wiktionary, the free dictionary
Proper noun[edit]
- The time zone in central North America corresponding to UTC minus six hours during standard time, and UTC minus five hours during daylight savings time
- The time zone in central Europe corresponding to UTC plus one hour.
- The time zone in central Australia corresponding to UTC plus 9:30 hours.
See also[edit]
- Central Time on Wikipedia.Wikipedia
- Central Standard Time (disambiguation) on Wikipedia.Wikipedia


text:
The glamorous city hotel comprises a total of 201 rooms spread over 7 floors and is built in a French style, evident through an enormous fireplace in the impressive lobby and frescoed ceiling. Facilities of the hotel include a reception, a lift and a hotel safe. There is a currency exchange counter, a cloakroom and a newspaper kiosk additionally on offer to guests. The glamorous hotel also offers a hairdresser's salon, a bar and a popular French restaurant offering various culinary delights. Further facilities include a conference room and a public Internet terminal. Finally, there are laundry and room services to round up the hotel's offerings and there is a car park for those arriving by car (fees apply).
This hotel is situated only minutes from the theatre district, Union Square, the Moscone Centre and the financial district. Oakland is around 18 km away.
The elegant rooms come with a bathroom with hairdryer, a direct dial telephone, satellite/ cable TV, radio and Internet access. Guests will also find a minibar, a small fridge, a coffee maker, ironing facilities, individually regulated air conditioning and heating as well as a four-poster bed in the rooms as standard.
There is a large health spa offered to guests in the hotel where they may like to relax in the sauna or enjoy various beauty treatments. In addition, guests are able to work out in the gym.
American Express, Diners Club, MasterCard, JCB and VISA are accepted as methods of payment.
Family plan: 2 adults and 2 children (up to the age of 16 years) are able to share the available beds in the double rooms. Parking fee: around 35 USD per day. There is a shuttle service to Union Square available every morning. Complimentary coffees, afternoon cakes and cheese and wine in the evenings are offered in the lobby's Living Room.
Room Facilities:
Direct dial telephone
Satellite cable TV
Internet access
Mini fridge
Iron and board
Double bed
King size bed
Individual airconditioned
Individual heating
Wheelchair accessible
Disabled bathroom


text:
Create an Account - Increase your productivity, customize your experience, and engage in information you care about.
A late summer tradition returns to Pocatello Saturday, August 20 with a bit of a twist. From 11 a.m. to 4 p.m. Zoo Idaho will host its annual Ice Cream Zoofari. The event allows zoo-goers to meet the animals at the zoo all while enjoying all-you-can-eat ice cream. New for Ice Cream Zoofari 2016 will be the Mayor vs. Bear Pie Eating Contest. Mayor Brian Blad, Zoo Superintendent Peter Pruett, and other local celebrities will go head-to-head against each other and Shoni the grizzly bear to see who can devour their pie the fastest. "Shoni's the obvious favorite but I think we've got a few competitors who might slip under the radar and give her a run for her money," said Zoo Superintendent Peter Pruett. "No matter who wins, I guarantee it's going to be entertaining." The Mayor vs. Bear Contest is slated to begin at 2 p.m. at the Sara W. Ifft Grizzly Bear Exhibit. At 2:30 p.m., attendees can sign up to take on Zoo Idaho's black bears, Cooper and Roscoe. The number of contestants is capped at 10 with the competition set to begin at 3 p.m. at the black bear exhibit. Admission to Ice Cream Zoofari is $6 for ages 12 and up, $4 for ages 3 to 11, and children 3 and under are free and includes all-you-can-eat ice cream. For more information on Zoo Idaho, visit ZooIdaho.org.


text:
Global Talent Pool
RS 1,00,000 To 3,00,000 Bangalore
The Java Developer creates and supports Web-based Java applications, Web services and Web interfaces. Other responsibilities include: Server-side component design, detailed technical design, development, testing, implementation and maintenance ...
Key Skills : javadeveloper,jee,strunt,string,java developer,senior java developer,core java developer,quality assurance. java developer,advance java developer
Lead Java Developer ( 5 - 8 yrs)
RS 8,50,000 To 13,00,000 Bangalore
We are looking for candidates with the below technical skills: Strong foundational knowledge of Core Java and JEE Frameworks: Strong knowledge of Spring MVC and Sprint Security, Java SDLK along with Hibernate, JMS Excellent hands on experie...
Key Skills : core java,j2ee developer,spring,hibernate,java developer,core java developer
Openings for Jee Developer ( 3 - 6 yrs)
Anantha Cybertech
RS 50000 To 60,000 Bangalore
Experience : 3+ Years Required Skills : · Strong Experience in JEE framework development experience · Must have worked in Oracle ADF and Oracle WebCenter · Hands on experience of ADFBc - EO, VO, AM etc. · Good hands on experience o...
Key Skills : jee developer,oracle adf,oracle webcenter,javascript,hibernate,spring,jquery
IIT-JEE Chemistry, Botany for AIPMT Faculty Vacancy in North India call ( 4 - 8 yrs)
Zenith Tuition Bureau
RS 12,00,000 To 25,00,000 Patna, South Delhi, Faridabad, Bangalore, Mumbai, Pune, Ajmer, Kota-Kota, Greater Noida, Kanpur, Lucknow, Delhi
IIT-JEE Chemistry, Botany for AIPMT Faculty Vacancy in North India call 08081383960 Vacancy for IIT-JEE Chemistry Faculty jobs for Senior Faculty. Call 08081383960 Minimum Qualification B.Tech or M.Sc Chemistry (organic/ inorganic/ physical) Expe...
Key Skills : b.tech or m.sc,faculty,teacher,teaching
walkins for java jee in imrsoftech bangalore ( 0 - 1 yrs)
RS 1,25,000 To 3,00,000 Bangalore
Dear Candidate's Hope you are doing well. Greetings from IMR SOFTECH…!!! Be a leader at a leading company. IMR SOFTECH is looking for expertise who can excel at their projects and deliver the best-of-breed solutions. This job opportunity ...
Key Skills : c,c++,java,j2ee,html,css,php,sql,dot-net,software testing engineer,linux kernel,embedded...
Aren't you a member yet ?
Register with us now to apply to these jobs
talent capital
RS 3,00,000 To 9,00,000 Hyderabad, Bangalore
Bs/Ms Degree In Computer Science, Engineering Or A Related Subject Proven Hands-On Software Development Experience Proven Working Experience In Java Development Hands On Experience In Designing And Developing Applications Using Java Ee Platf...
Key Skills : jsp,servlets,j2ee,spring,hibernet,java developer,sql,java programmer,javascript
Precursor Hr Services
- Experience of webpage UI technologies (such as JSP, HTML5, Ajax, Javascript/JavaScript RIA Frameworks, JQuery) - Experience in Web Services technologies (preferably REST/JSON based) - Experience in Java/JEE client and server technologies (pre...
Key Skills : ajax,maven,jira,san,nas,windows and linux,coding,web developer,cdma,gprs,gsm,umts,3gpp,tcp / ip,bts engineering,lte technology,mobile computing
Java Junior Developer -male Minimum 3-4yrs Exp-chennai ( 3 - 4 yrs)
Wider Network-Ultimate Goal of Wider
RS 50000 To 60,000 Bangalore, Chennai, Chennai Suburb, Coimbatore, Erode, Madurai, Tiruchirappalli
Dear Candidate, we are Looking for the Position of Java Junior Developer for Our Branch At Chennai. candidates Willing to Relocate Can also Apply and Send Your Resume in Word Format technical Requirements: • proven Working Experience in...
Key Skills : java beans,java servlets,jdbc,tcp / ip networks,osgi,vaadin,java script,java internals,jee internals,jsf,sql orm technologies (jpa2,...
Marketing Executive ( 0 - 1 yrs)
CruncherSoft Technologies Pvt Ltd
RS 1,25,000 To 3,50,000 Hyderabad, Panaji, Ahmedabad, Bangalore, Kochi, Bhopal, Jaipur, Chennai, Kolkata, Delhi
1- crunchersoft technologies pvt ltd. is a software company in education domain, having student preparation software (offline/ online /android) for 11th and 12th science student in india and also having some advanced software's for institutes such ...
Key Skills : marketing executive,sales,marketing,business development
Need teachers for Physics, Chemistry, Mathematics and Biology. ( 0 - 3 yrs)
Grey Scholars
RS Up To 50000 Bangalore
Grey Scholars is an upcoming coaching institution which will provide high quality and advanced coaching for different pre-medical and engineering competitive exams. We follow an unique analytical approach of teaching to provide in-depth understandi...
Key Skills : education,teaching,biology teacher,mathematics teacher,physics teacher,chemistry teacher
Innovator Learning
RS 6,00,000 To 15,00,000 Bangalore, assam,karnataka,tamil nadu
Train students for iit-jee and need at schools.
Key Skills : physics teacher,teacher,teaching,maths teacher,chemistry teacher
Openings for Jee Developer ( 3 - 5 yrs)
Anantha Cybertech
RS 50000 To 60,000 Bangalore
Experience : 3-5 Years Skills : · Strong Experience in JEE framework development experience · Must have worked in Oracle ADF and Oracle WebCenter · Hands on experience of ADFBc - EO, VO, AM etc. · Good hands on experience on ADF ri...
Key Skills : jee,j2ee,java developer,adf,oracle


text:
Boychiks in the Hood: Travels in the Hasidic Underground
Boychiks in the Hood is your passport to the Hasidic "underworld" -- a destination far different from popular expectations. Join Robert Eisenberg as he hangs out with an ex-Deadhead in Antwerp, makes a pilgrimage to the grave of the revered Rebbie Nachman in the Ukraine, munches mini-bagels with Rollerblading kosher butchers in Minnesota, discovers the last remaining religious Jews in Poland, talks sex with a karate-champion-turned-rabbi in Israel, and more.Simultaneously respectful and hilarious, Boychiks in the Hood is a surprising and unforgettable journey through the world's flourishing Hasidic communities that reveals this vibrant tradition as never before.
Please visit Help Page for Questions
regarding ISBN / ISBN-10 / ISBN10, ISBN-13 / ISBN13, EAN / EAN-13, and Amazon
Home | ISBN Directory | Affiliate
Program | Contact
Copyright © 2003-2014 AllDiscountBooks.net All rights reserved.


text:
Для получения актуальных цен по гостинице Guangzhou Xinghe Xiangjiang Hotel, пожалуйста, укажите интересующие вас даты и выполните поиск.
In the heart of Guangzhou, Guangzhou Xinghe Xiangjiang Hotel is close to Liuhua Exhibition Center and The Western Han Museum of the Nanyue King Mausoleum. This 4-star hotel is within close proximity of Yuexiu Park and Guangzhou TV Tower.
Заезд: 14:00
Выезд: 12:00
Раннее заселение и поздний отъезд по возможности (услуга может быть платной).
Номеров: 188
|Описание номеров
|Make yourself at home in one of the 188 air-conditioned rooms featuring refrigerators and LCD televisions. Digital television is provided for your entertainment. Private bathrooms with showers feature rainfall showerheads and complimentary toiletries. Conveniences include safes and desks, as well as phones with free local calls.
Rec, Spa, Premium Amenities
Make use of convenient amenities such as complimentary wireless Internet access, concierge services, and a hair salon.
Enjoy a meal at a restaurant or in a coffee shop/caf?. Or stay in and take advantage of the hotel's room service (during limited hours). Quench your thirst with your favorite drink at a bar/lounge.
|Обратите внимание
|Featured amenities include complimentary high-speed (wired) Internet access, a business center, and express check-in. Event facilities at this hotel consist of a conference center and a meeting room. A shuttle from the airport to the hotel is provided for a surcharge (available on request), and self parking (subject to charges) is available onsite.


text:
Bell Rock Entertainment, which operates four online casinos and two online poker rooms, flew seven prize package winners from their Web sites to New York where one lucky winner received a new River Bell branded Orange County Chopper valued at $50,000.
One player from each of the company's sites, including Gaming Club Poker, and one person who bid for the chance in an auction were treated to luxury accommodations in New York City after being flown first-class from their homes. They received gift bags full of prizes, dinner at one of the city's best restaurants and tickets to the Broadway show, "The Producers."
"We always try to offer unique and rewarding promotions to our players so that the action on the tables and at the slots can be taken past the games," said Tim Johnson, chairman of Carmen Media Group, owner of Belle Rock Entertainment.
The main part of their "Ticket to Ride" trip, though, was a trip to the Orange County Chopper workshop in Montgomery, New York, where each participant picked a key and had a turn to see if his key was the right one to win a brand new custom chopper. Marc was the fifth person to try to start the chopper, and his key was the right one.
After the key-turning ceremony, all the participants got to meet the Teutuls and take a tour of their shop which has been made famous by the TV show "American Chopper."
"This was simply sensational, really a wonderful experience from start to finish," said Marc. "I'm not a big spender or a free roller, so I never thought I would be able to win a promotion like this. Meeting with the Teutuls and getting on that bike for the first time, I had to pinch myself."


text:
A statement from the inquiry's office said: "The source of the leak remains unknown."
The statement added that "no particular weaknesses" in security surrounding the report's publication were found.
Lord Hutton's main findings from his inquiry into the death of weapons expert Dr David Kelly were published in the newspaper hours before the official report was released on January 28.
The next day, Lord Hutton announced he had asked the solicitor to the inquiry, Martin Smith, to carry out a leak investigation.
Today's statement said: "The solicitor carried out a full and careful investigation but was unable to discover the source."
Lord Hutton had also promised a probe into whether any additional steps could be taken in the future to protect such reports from leaks.
The inquiry statement today said: "Such investigations were put in train by the Department for Constitutional Affairs and have now been completed.
"No particular weaknesses in the measures which were taken to guard the confidentiality of the report were found. The source of the leak remains unknown.
"Steps taken to protect sensitive reports before publication will be kept under regular review."Reuse content


text:
CBT and Ballbusting
Categories: BDSM, Latin
CBT And Ballbusting 39
Mz. Berlin caught her individual marionette guy, Chad Rock, attempting to submit to another Dominatrix. Berlin has no sympathy for her marionette. She trusses him to a restrain bondage tabouret while blinded, and works him over with a plump of flagellating and lashing all over his bod, and of course his prick and sack of babymakers542 Views
Your comment has been posted
Unexpected error occurred, please contact support
Categories: BDSM, Latin


text:
• Make sure you're locked in for Broncos free agency with a premium membership. Get two months free when you sign up for a monthly subscription ($5) with the following code at checkout: FA2017
Subscribe to Locked On Broncos on iTunes! Follow @LockedOnBroncos on Twitter!
Chad Jensen is the Publisher of Mile High Huddle. You can find him on Twitter @ChadNJensen.
Luc Polglaze is a Senior Analyst for Mile High Huddle. Find him on Twitter @LucPolglaze.


text:
Well my friends, I thought my earwig adventure story was a good one. I've spent about 3 nights now in the garden, Shop Vacuuming up the Pill Bugs and Earwigs. And last night, I didn't find ONE earwig in my garden. Can you believe it?
To my delight, one of my blogging friends, and a chuckle of a good time June Cleaver Nirvana, graciously offered up an illustration to complete my story. Now you must know that HRH draws quite the crowds with her illustrations, everything from experiences with an electrician and her fruit bowl to pretty nails or beaver traps. Yes, I said beaver traps. To check out all of her wonderful animated life, just click here.
Funny enough when I was writing my Garden CSI post, it felt like something was missing. So thank you, HRH for completing the story for me. It's now wonderful. I've been given clearance to publish this photo, so enjoy.
BTW..My regularly scheduled Tuesday Tips, will be coming shortly, we lost power today, so I am a bit off schedule!
Tuesday, July 22, 2008
Garden CSI: Illustrated Version Update
7 comments:
You look great as a stick figure!ReplyDelete
I can't believe it is working. This is the craziest thing ever. I mean I am glad for you, but it is still crazy.
Thanks for the kind words!
How do you get them vacuumed up without pulling up a bunch of dirt and leaves?ReplyDelete
Haha, I love the illustration! It's just perfect. I'm glad to hear they seem to be gone. Those things seriously creep me out.ReplyDelete
Lovely picture! You're stunning! :)ReplyDelete
All this time i was trying to work out what the heck a shop vac was, so thanks for the illustration! Sorry but i am just not from around these parts!ReplyDelete
Glad things are back on track in the garden! :)ReplyDelete
Yay!!! they're gone; that's great!ReplyDelete
Subscribe to: Post Comments (Atom)


text:
Ahmedabad, Jan 22: Mallaika Sarabhai, the daughter of late Mrinalini Sarabhai lashed out at PM Modi on Facebook, shaming him for not condoling the death of her mother Mrinalini Sarabhai, a renowned Bharatnatyam dancer and Padma Bhushan awardee.She asked him why he did not condole her death when he too belongs to Gujarat.
She said,"My dear prime minister. You hate my politics and I hate yours, that has nothing to do with what Mrinalini Sarabhai did to promote the culture of this country to the world over 60 years. She blazed a trailer for our culture in the world."
"That her death sees no word from you shows your mentality. However much you hate me, as our prime minister it behove you to recognise her contribution. You have not. Shame on you."
Mallika Sherawat has been continuously attacking Modi for the 2002 communal riots in the state.
[Read: Mallika's fitting tribute to mother Mrinalini Sarabhai, performs Nrityanjali, lights the pyre]
OneIndia News