Xceedas

Xceedas
xceedas

Thursday 17 September 2015

Linq query is training is coming out soon watch out

Yeh

Tuesday 28 April 2015

Internet of Things Explained

It is predicted that all devices will be generating a huge amount of data chatter in the near future. An eight hour flight generates about half a TB of data. Smart devices, embedded and wearable computing will added to the data of the Internet. The Internet of Things (IoT) is the interconnection of uniquely identifiable devices.  The scale of inter-connectivity will be huge. Machines will fuel data growth.

A person will generate a huge amount of data on a day-to-day basis due to the wearable devices (medicinal, entertainment and security). All this data needs to flow back to some systems where reports would be generated and actions would be taken. The following image from SurveyAnalytics gives a very good description of the IoT. According to Gartner, there will be nearly 26 billion devices on the Internet of Things by 2020. ABI Research estimates that more than 30 billion devices will be wirelessly connected to the Internet of Things by 2020. 


 
This will become a new age of intelligence with many considerations. 
 
Space Considerations
The amount of data that will be generated and stored will be unimaginable. Typical households will generate PBs of data.
  • 1.Where will all this data be stored? On the cloud? On premise?
  • 2.How much data will be archived and where?
  • 3.Will the consumer pay for this space? 
Security Considerations
How will the data be secured? How will the devices be secure? Will today's authentication and authorization methods be enough or will new security models emerge?
 
Regulatory Consideration
Challenges involving governance and regulatory compliance will be need to be mitigated. New paradigms of governance will emerge. 
 
Environmental Considerations
Disposal of electronic goods is today itself a problematic area. With new semiconductor devices, environmental impact needs to be considered.
 
The following are some of the use cases that come to mind: 
  • 1.Health and Life Insurance: Already many people track their exercise, diet and weight into many different applications. Imagine a cloud based service that tracks this based on some wearable device. These services can become the source of data for Life Insurance companies.

  • 2.Supply Chain Management: Effective Supply Chain management due to real-time data availability.

  • 3.Manufacturing: for example, production data; machines sending daily production reports to managers at the end of the day. Machines could also send data for preventive maintenance and machine safety.

  • 4.Parking Spot search: Sensors will provide data on empty parking spots.

  • 5.Smart Electric meters, smart washing machines, smart refrigerators with sensors that will enable application makers to utilize the data for efficiency and effectiveness in their solutions. There is already a solution built by Nest: to control the temperature of your home using your mobile phone. Details at: https://nest.com/thermostat/life-with-nest-thermostat/.

  • 6.Smart Cities, Smart Buildings and Smart homes.

  • 7.Disaster Management: Sensors from within the ocean and below earth surfaces, sensors from space can help in disaster management.

  • 8.Farming and Dairy: Sprinklers can be turned on and off automatically based on weather conditions as well as can be remotely monitored. A Dairy can have n number of use cases where the data from the sensors on animals can be used effectively as in applications.

  • 9.Hotel Management, Event Management, Remote monitoring.

  • 10.Banking: When you step into the bank, your mobile will already send information to the banking application on your identity. From there on, multiple applications can be thought of.
The possibilities of solutions and services are endless. The opportunities are tremendous.
  • 1.Managed Services

    • Data and Analytics
    • Mobile and Cloud Computing
  • 2.Network Services

  • 3.Enablement Hardware

    • Wireless and embedded systems
    • Smart Sensors
  • 4.Data recovery services

    • Data Archival Services
    • Disaster Management Services
  • 5.Value added applications
It will become probably impossible to remain private.

Facebook Introduces Video Calling in Messenger


Facebook has officially announced Video calling feature on their messenger app via both Cellular, as well as Wi-Fi networks. Now you can have face-to-face conversations with your friends and relatives, via Messenger.
 
You can start a video call from any conversation with simply tap the new feature symbol at upper right corner and feature call will begin. Video calling in Messenger is available for calls made from a mobile phone to another mobile phone, even if one person is on iOS and the other person is on an Android device.
While Messenger already offers people the ability to make voice calls, video calling will expand Messenger’s real-time communication features, enabling the more than 600 million people who use Messenger every month to reach others wherever they are, from anywhere. Its fast, reliable and high quality video calling, works just fine even if you are on a not-so-good internet network.
As of now, video calling in Messenger is launching for people on iOS and Android in Belgium, Canada, Croatia, Denmark, France, Greece, Ireland, Laos, Lithuania, Mexico, Nigeria, Norway, Oman, Poland, Portugal, the UK, the US and Uruguay. Facebook says it will be rolling out to other regions and locales over the coming months.

Thursday 23 April 2015

Facebook video is on course to steal YouTube’s video sharing crown

Facebook video is big and it’s getting bigger. For the first time, YouTube really needs to worry about losing its position as the king of online video.
Facebook video, which is relatively young in comparison to YouTube which launched in 2005, is now delivering 4 billion daily viewers. That’s up from 3 billion views every day, which was announced in January 2015. Facebook has had the ability to upload video for a number of years, but didn’t get serious about it until 2014 when it adjusted its algorithms to weight video more heavily.
By contrast, YouTube reached the 4 billion video views daily mark in 2012, about eight months after it had reached the 3 billion mark and seven years after it launched.
YouTube should be scared of Facebook. It’s building a video powerhouse that Google may struggle to match, because it hasn’t managed to successfully build out a social graph like that of Facebook.
It’s only a matter of time until there are people that are dedicated “Faceviders” just like there are fanatical “YouTubers” who regularly upload videos to YouTube of their lives, or topics that are interesting to them.
Perhaps the days of being a YouTuber are numbered.
There’s a number of reasons to give your original videos straight to Facebook. First, it gives you almost guaranteed exposure right now. Add a video to a public post and the Newsfeed algorithm will shine in your favor and show it to a significant amount more people than any other type of post (like a photo or text-only update).
Take, for example, this video shared by Vox on Facebook. The page itself has 225,000 likes, but the video received over 1.1 million views since when it was shared on April 10. By contrast, the same video shared on YouTube has only received 85,000 views. That’s a serious amount of reach.
Facebook’s social graph is a potent advantage over YouTube. Videos come straight to the users, in their Newsfeed, where they’re already spending most of their time on the service. They don’t have to leave Facebook’s walled garden to find content.
Google Plus, which is deeply integrated into YouTube, can’t possibly hope to ever have that kind of reach. People don’t sit on Google Plus refreshing their feeds all day to find out what their friends are up to, they do it on Facebook.
There is a big risk for those adopting Facebook as their primary place for sharing video, namely the Newsfeed algorithm. With YouTube, you upload your video and it’s there for the world to see. Those subscribed will get notified and getting the word out to others is up to you.
On Facebook, the algorithm can drive huge traffic to your content, but it also could eventually fade to a pittance as the site becomes saturated with content.
The opportunity for videos to travel further than your own reach – like in the Vox example – is likely worth the risk. The big unknown is how long Facebook will stick with its current algorithm. There’s always the chance future changes will put some creators out in the cold. Just ask Zynga about its horrible year in 2012.
Facebook doesn’t have any way for creators to monetize videos right now, but when it finally delivers that, early adopters will win big.
Very soon you might just look to Facebook for those funny cat videos before you even think of YouTube, which is the first time a competitor has posed such a sizable threat to Google’s service. It’s unclear what Google will do to win those users back, as Facebook continues to quietly steal them away.

credit to  http://thenextweb.com/opinion/2015/04/23/facebook-video-is-on-course-to-steal-youtubes-video-sharing-crown/

Friday 27 March 2015

Google VPN is on its way




How many times have you been on public Wi-Fi and needed to transmit some form of private, sensitive data? The answer is usually to wait until you get back to the office or home, when you're connected to a wireless connection you can trust. Soon, that will no longer be necessary, as Google plans on rolling out their own VPN service.
The Google VPN can be found in Android 5.15 -- however, it isn't ready yet for prime time. But when a viable version does finally roll out, you can be sure this will be a feature many business professionals will want to take advantage of.
My major question, regarding a Google VPN, is whether or not it speaks to Google's bigger plans. Yes, I'm talking about Google Wi-Fi. Imagine having Google wireless available as well as being able to connect to a Google VPN to ensure the security of your data. This could be a game changer for many users.
There is one major caveat to this -- if you don't have Lollipop, you need not apply. That's more of an issue than one might think. Consider that less than 2% of Android devices are using Lollipop, and only a fraction of those device have Android 5.1 (the iteration that includes the slightest hint of the VPN service), very few will actually be able to experience the VPN service -- even when it's ready for prime time. That's right, if you don't have at least Android 5.1, there will be no Google VPN available.
Some people might simply say "Use your provider network to ensure your data security." But not all providers are created equal. Data breaches happen. AT&T, Verizon, and T-Mobile all have suffered data breaches. Take a look at this interactive chart that offers information on the largest data breaches across the world. On that chart, locate Google. It's not as easy as you might think. Considering the amount of data that passes through the Google systems and services on a daily basis, you'd think the search giant would rank near the top. The truth of the matter is that Google properties are one of the most secure on the internet. With that in mind, who would you rather trust securing your data? The small coffee shop you use as your office? Your carrier?
Not me. I'll trust Google every time.
Of course, there will always be naysayers who refuse to trust Google with their data -- or even their internet searches. That, in my opinion, isn't an issue that takes data security into account. Those who don't trust Google are looking at the issue with personal privacy in mind. But we all know that having a connected life these days is akin to handing over at least a modicum of your personal privacy.

       1.Amazon will know what you like to shop for
       2.Facebook will know how to target ads to you
        3.Google will know what you search for
Yes, there are steps to take to prevent the above, but it's an active, on-going process -- one that most average users aren't willing to take. But the idea of data security should be considered far more important than the privacy of your online search patterns. And this Google VPN service (when it rolls out) will go a very long way to securing that data. It could be a major game changer for on-the-go power users, especially those whose companies either do not have a VPN setup or have a poorly configured VPN (which occurs more often than you'd think).
There are also people who will point to a number of VPN clients/services already available on the Google Play Store. However, these would require you to hand over your data security (in some cases) to small companies that can't possibly stand up to the level of security offered by Google.
Personally, I think the Google VPN service is long overdue. I've connected to open Wi-Fi and limited my usage too often because the network simply could not be trusted. Having a built-in VPN ready for action would render this fear unnecessary.
Now, all I have to do is finally get the Lollipop upgrade.
What do you think? Is the Google VPN a good idea, a bad idea, or something you'll never try? Let us know your thoughts in the discussion thread below.

Monday 16 March 2015

New C# Features That Support LINQ

Introduction
In this article we will learn some basic concepts of LINQ and apart from that we can see the C# features that support LINQ. This is the basic knowledge of LINQ, we should understand these things perfectly. C# features make the LINQ query easier and more understable. These features are all used to a degree with LINQ queries, they are not limited to LINQ and these features can be used in any context, at what context (beyond) we think it will be useful for us.    

Now let's try to understand all those features one by one.
Query Expression
Before we begin to understand the concept of Query Expression, let's try to understand what a query is.
A Query is a set of instructions that describe what the data is to retrieve from a given data source. And a Query Expression is a query, expressed in query syntax. A LINQ Query Expression is also very similar to SQL. A LINQ Query Expression contains the following three (3) clauses:
From: specifies the data source
Where: applies data filtration
Select: specifies the returned elements
Let's understand the Query Expression using the following example. 
  1. var query = from n in numbers  
  2.                   where (n/2)==0  
  3.                   select n;  
Object and Collection Initializer
The Object Initializer helps to assign some value to assessable fields or properties of an object at creation time, without invoking a constructor. This feature enables the specific argument for a constructor. Objects and collection initializers make initilization of objects possible without explicitly calling a constructor for the object. This is typically used in a query expression when they project the source data into a new data type.

Example
  1. Student studentQuery= new Student{ name= "Rajeev" , Address = "Pasir Ris" }  
Implicitly Typed variable
We can use local variables as an inferred "type" of  var  instead of an explicit type. The var keyword instructs the compiler to infer the type of the variable from the expression on the right side of the initialization statement. The inferred type may be a built-in type, an anonymous type, a user-defined type, or a type defined in the .NET Framework class library. A variable decleared as a var are just as strongly-typed as variables whose type you specify explicitly. The use of var makes it possible to create anonymous types.
Example
  1. var num = 5;  
  2. var str="Rajeev";  
  3. var query = from s in StringArray  
  4.                   where s[0] == 'm'  
  5.                   select s;  
Anonymous types
Anonymous types are class types that derive directly from an object and that cannot be cast to any type except objects. It is not different from any other reference type. The complier provides a name for each anonymous type. Anonymous types are typically used in the select clause of a query expression to return a subset of properties from each object in the source sequence. Anonymous types contains one or more public read-only properties. The expression that is used to initialized a property cannot be null.

An anonymous type is constructed by the compiler and the type name is only available to the compiler. It provides a simple way to group a set of properties temporarily in a query result without having to define a separate named type.
Example
  1. select new { name= student.Name, Address= student.Address};      
Extension Methods
The extension method is a static method that is associated with a type. If we want to call it then this will be called using an instance method syntax. Their first parameter specifies which type the method operates on and the parameter is preceded by the this modifier. An Extension method is only in scope when we explicitly import the namespace into our source code using a using directive. This feature enables us to "add" new methods to an existing type without modifying them. The standard query operators are a set of extension methods that provide LINQ query functionality for any type that implements IEnumerable <T>. 
Lambda Expression
A lambda expression is an anonymous function that we can use to create delegates or expression tree types. By using lambda expressions, we can write local functions that can be passed as arguments or returned as the value of function calls. Lambda expressions are particularly helpful for writing LINQ query expressions. A lambda expression is an inline function that uses the => operator to separate input parameters from the function body and can be converted at compile time to a delegate or an expression tree. In LINQ programming, you will encounter lambda expressions when you make direct method calls to the standard query operators.
Example
  1. int[] numbers = { 25, 7, 6, 4, 12, 58, 67, 92, 42, 60 };  
  2. int oddNumbers = numbers.Count(n => n % 2 == 1);  
Auto-implemented Properties
Auto-Implemented properties make the property declaration simple where we need not write special logic to define the getter and setter. This feature enables the client code to create objects. When we create the property the complier creates a private field that can be accessed using the property's get and set assessor.
Example
  1. public string Name { getset;}     
Summary
In this article we have learned the new C# features that support LINQ. These features make the LINQ query more concise and popular in developing prospective things.

Friday 13 March 2015

Windows 10

Windows 10 is the first step towards an era of more personal computing. Not sure what it's all about? Learn about the ‪#‎Windows10‬ story here: http://news.microsoft.com/windows10story/
 

Microsoft and Google Join Hands to Build Better Angular 2

Microsoft surprised many when it announced the open sourcing of the .NET Framework at Visual Studio Connect in New York last year. Since then, Microsoft has been continuing to open up its software. Microsoft is also joining hands with other companies to collaborate. Openness is the new mantra at new Microsoft led by CEO Satya Nadella.
 
TypeScript is an open-source JavaScript language that extends JavaScript with many advanced features. Check out Microsoft recently announced TypeScript 1.3 for more details.
Angular, also known as AngularJS, is an open-source JavaScript framework originally developed and maintained by Google and a group of open-source developers. Check out AngularJS Quick Start to get started with Angular.
Recently, the Angular community has been working with teams at Microsoft and Google to build a better Angular 2, the next version of Angular.js. The move also includes major user of TypeScript. Currently, Angular uses an AtScript superset of Microsoft’s TypeScript. The goal of both companies and the Angular community working together is to not duplicate work and instead provide a common ground to all open-source developers. The work on these two language will be merged and TypeScript will be used to write Angular 2.
Developers must rejoice the moment. It is very exciting to see large corporations and communities come together to achieve a common goal to help developers.
The Angular community has more plans for the language. Here is the detailed announcement on where the future of Angular is headed:
https://www.youtube.com/watch?v=QHulaj5ZxbI&list=PLOETEcp3DkCoNnlhE-7fovYvqwVPrRiY7

CIA Hacking Apple

According to The Intercept's article iSpy: The CIA Campaign to Steal Apple's Secrets the United States Central Intelligence Agency (CIA) has been doing their best to hack Apple’s iPhones and iPads. The reports claim that the hacking has been going on from before the iPhone was released.
The attempted hacking was reportedly done by targeting security keys used to encrypt data. To the extent they have been successful, they could put malicious code into Apple devices and would have the freedom to find other vulnerabilities.
The reports also say that the CIA has created a modified version of Apple’s software development tool, Xcode. That could help them to put surveillance backdoors into programs created using Xcode. Xcode is used by hundreds of thousands of developers.
The Intercept is an online publication of First Look Media, the news organization created and funded by eBay founder Pierre Omidyar.

Wednesday 4 March 2015

Twitter requiring phone numbers for some new accounts

Twitter is now requiring Tor Browser users to provide a phone number to open a new account and plans to track troublesome users by their mobile phone number.
Tor is different from other browsers in that Tor allows anonymous browsing. It can be used both by hackers and others intending to do harm but it can also be used  by people and organizations with a valid need for privacy, such as in Turkey last year.

Tuesday 3 March 2015

Zuckerberg makes case for free mobile data; operators cautious

zuck
Mark Zuckerberg told delegates at Mobile World Congress (MWC) that offering free basic internet services can help mobile operators grow their businesses faster in emerging markets.
Under questioning from Wired Magazine’s Jessi Hempel, the founder and chief executive of Facebook said internet.org “works”.
A Facebook-led initiative, internet.org has the aim of connecting everyone on the planet. As part of making that happen, the Facebook CEO wants to raise awareness of the internet. One way, he contends, is for mobile operators to offer some services for free. And once users get a free taste of the internet – so this argument goes – they’ll be more inclined to pay for mobile data.
The internet.org app, rolled out in six countries since its mid-2014 launch in Zambia, offers a suite of basic services – including Facebook – without charge. Zuckerberg said there was no cannibalisation of revenue among operator partners, with customers not deserting paid data for free services.
Mario Zanotti, senior vice president of operations at Millicom, an internet.org partner, said first signs were encouraging. Joining Zuckerberg on stage, Zanotti said there was a 30 per cent increase in data users when free data packages were launched in Paraguay, which then led to more paid data users. In Tanzania, he said there was a 10 per cent increase in smartphone sales after internet.org was launched, although he stressed it was still early days.
Christian De Faria, chief executive of Airtel Africa, another internet.org partner, would not be drawn on detail regarding the internet.org business, only to say there was no adverse business impact.
Jon Fredrik Baksaas, chief executive of Telenor Group – which is not an internet.org partner – was the most sceptical among the panel. He maintained that any initial encouraging statistics would need to be sustainable. “Only then,” he said, “would there be a business proposition.”

Google to offer mobile data plans


Google is entering into the cellular data plans to compete with AT&T, Verizon, Sprint and other cellular data providers. Even though, Google Vice President Sundar Pichai said, Google has no plans to compete with data providers.

Mr. Pichai said at the the Mobile World Congress wireless show in Barcelona, "You will see us announce it in the coming months,".
"I think we are at a stage where it is important to think about hardware, software and connectability together. We want to be able to experiment along those lines." Continues Mr. Pichai.
"We don't intend to be a network operator at scale," he said. "Our goal here is to drive a set of innovations which we think the ecosystem should evolve and hopefully will get traction. Again, we will do it on a small enough scale so that, just like Nexus devices, people see what we are doing and hopefully carrier partners think our ideas are good."

Friday 27 February 2015

Learn C# 6 from Experts

On March 05, learn C# 6 from best-selling author Bill Wagner and Microsoft Program Manager, Anthony Green. This is a FREE fast paced virtual live session from 9am to 5pm.

 
MVP and best-selling author Bill Wagner teams up with Microsoft Program Manager Anthony Green to explore auto property initializers, expression bodied members, null propagation operators, exception filters, string interpolation, and more. Find out how these new language features can make you more efficient. And see how easy it is to look at your code, diagnose issues, and solve problems.
Course Outline:
  • C# Productivity, Conciseness
  • Data Transfer Object Support
  • String Handling
  • Exceptions and Error Handling
  • Adopting C# 6


Five Personal Tips to Build a Successful Business, Tony Elumelu

Five Personal Tips to Build a Successful Business

I gave a talk at the Lagos Business School ‘Dinner with…’ event earlier this week, where I addressed the room and shared my journey thus far. For budding entrepreneurs or those climbing the corporate ladder, read my tips below, which I hope will aid your own journey.

#1 Save Money Religiously- I am a firm believer in saving a portion of your earnings on a monthly basis. My father used to say that if I couldn't save one naira from the little I earned, then I won’t be able to save anything if I earned one billion. Saving is a vital tool in investing in your future.

#2 Work Hard- The difference between talent and hard work is that one is innate and the other can be acquired through sheer determination. Those who are relentless in the pursuit of excellence will always yield results. Growing up, my mother was extremely hard working and through running her businesses she taught me the power of resilience.

#3 Seize Opportunities- Be aware of your risk tolerance and weigh up the value of an opportunity according to the potential losses and gains. After assessment- act! Do not be afraid to take a step because you fear the outcome. As the saying goes, fortune favours the bold.

#4 Feed Your Mind- In the pursuit of success, arm yourself with people and things that will nourish you mentally. I was always an avid reader, and would seek business and self-development books, articles and papers that would challenge my thinking and allow me gain insight and breed new ideas.

#5 Think Long Term- In all that you do, consider the bigger picture. How will this impact me, my family and community? Both now and 10 years from now. Be broad in your thinking and whether personally or professionally, aim for longevity.

If you have a start-up business or an idea that you are ready to see come to fruition, apply for my entrepreneurship programme, the portal closes at midnight WAT, this Sunday 1st March. Apply here: http://bit.ly/1vDvEzN

Wednesday 25 February 2015

Birthday Wish Scheduler in C#


Here we are going to see how to build a windows service for fetching record from database and wishing the person whose birthday falls on that particular day.
The following figure shows the snapshot of the table, which is being used with this application.

The service fetches record for the employee whose birthday falls on particular day and sends him a birthday wish through mail.
Note: Little bit lazy to change the name of the service in the attached code. You can give whatever name to the service that suits you.
The default code of Service1.cs added by the Wizard looks like here
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;
using System.Data.SqlClient;
using System.Web.Mail;
using System.IO;
namespace BirthdayWish
{
          public class Service1 : System.ServiceProcess.ServiceBase
          {
                    /// <summary>
                    /// Required designer variable.
                    /// </summary>
                    private System.ComponentModel.Container components = null; 
                    public Service1()
                    {
                             // This call is required by the Windows.Forms Component Designer.
                             InitializeComponent();

                             // TODO: Add any initialization after the InitComponent call
                    } 
                    // The main entry point for the process
                    static void Main()
                    {
                             System.ServiceProcess.ServiceBase[] ServicesToRun;
         
                             // More than one user Service may run within the same process. To add
                             // another service to this process, change the following line to
                             // create a second service object. For example,
                             //
                             //   ServicesToRun = new System.ServiceProcess.ServiceBase[] {new Service1(), new
                             MySecondUserService()};
                             //
                             ServicesToRun = new System.ServiceProcess.ServiceBase[] { new Service1() }; 
                             System.ServiceProcess.ServiceBase.Run(ServicesToRun);
                    }

                    /// <summary>
                    /// Required method for Designer support - do not modify
                    /// the contents of this method with the code editor.
                    /// </summary>
                    private void InitializeComponent()
                    {
                             //
                             // Service1
                             //
                             this.ServiceName = "Service1"; 
                    }

                    /// <summary>
                    /// Clean up any resources being used.
                    /// </summary>
                    protected override void Dispose( bool disposing )
                    {
                             if( disposing )
                             {
                                       if (components != null)
                                       {
                                                components.Dispose();
                                       }
                             }
                             base.Dispose( disposing );
                    }

                    /// <summary>
                    /// Set things in motion so your service can do its work.
                    /// </summary>
                    protected override void OnStart(string[] args)
                    {
                             // TODO: Add code here to start your service.    
                    }

                    /// <summary>
                    /// Stop this service.
                    /// </summary>
                    protected override void OnStop()
                    {
                             // TODO: Add code here to perform any tear-down necessary to stop your service.
                    }

Adding functionality to the service

/// <summary>
/// Set things in motion so your service can do its work.
/// </summary>
protected override void OnStart(string[] args)
{
       // TODO: Add code here to start your service.
       SqlConnection conn  = new SqlConnection("Server=localhost;UID=sa;pwd= ;Database=Birthday");
       SqlDataAdapter da = new SqlDataAdapter("select * from Empdata",conn);
       DataSet ds = new DataSet();
       da.Fill(ds);
       foreach(DataRow dr in ds.Tables[0].Rows)
       {
                       DateTime dtDob = (DateTime)dr["emp_dob"];
                       DateTime now = DateTime.Now;
                       string dow = now.DayOfWeek.ToString().ToLower();
                       if (dow=="monday")
                       {
                                    DateTime daybefore = now.AddDays(-1);
                                    if((dtDob.Day == daybefore.Day) && (dtDob.Month == daybefore.Month))
                                    {
                                             sendmail(dr);
                                    }
                                    if((dtDob.Day == now.Day) && (dtDob.Month == now.Month))
                                    {
                                             sendmail(dr);
                                    }
                       }
                       else
                       {
                           if((dtDob.Day == now.Day) && (dtDob.Month == now.Month))
                           {
                                   sendmail(dr);                            
                           }
                       }
       }
       ServiceController[] services=ServiceController.GetServices();
       // Iterating each service to check that if a service named
       // Service1 is found then check that its status whether
       // it is running or stopped. If found running then it will
       // stop that service; else it starts that service
       foreach(ServiceController x in services)
       {
             if(x.DisplayName=="Service1")
             {
                  if (x.Status==System.ServiceProcess.ServiceControllerStatus.Running)
                  {
                        x.Stop();
                  }
                  else
                  {
                        x.Start();
                  }
             }
       }
}

public bool sendmail(DataRow dr1)
{
          String mailtxt="";
          MailMessage mm = new MailMessage();
          mm.BodyFormat = MailFormat.Html;
          mm.To = dr1["emp_email"].ToString();
          mm.From = "abc@abc.com";
          mm.Subject="Happy Birthday";
          mailtxt = "<font face='verdana' color='#FF9900'><b>"+"Hi "+dr1["emp_name"].ToString()+"," +
          "</b></font><br><br>";
          mailtxt=mailtxt+"<font face='verdana' color='#FF0000'><b>"+"Wishing you a very HAPPY
          BIRTHDAY........and many more." + "</b></font><br><br>";
          mailtxt=mailtxt+"<font face='verdana' color='#008080'><b>"+"May today be filled with sunshine and
          smile, laughter and love." + "</b></font><br><br>";
          mailtxt=mailtxt+"<font face='verdana' color='#0000FF'><b>Cheers!" + "<br><br>";
          mm.Body = mailtxt;
          SmtpMail.SmtpServer = "localhost";
          SmtpMail.Send(mm);
          return(true);
}

Note: It also checks for person whose birthday falls on Sunday and wishes them on coming Monday.

Install and Run the Service

Build of this application makes one exe, BirthdayWish.exe. You need to call installutil to register this service from command line.

installutil C:\BirthdayWish\ BirthdayWish\in\Debug\ BirthdayWish.exe

You use /u option to uninstall the service.

installutil /u C:\BirthdayWish\ BirthdayWish\in\Debug\ BirthdayWish.exe

Run the application

Note: Path for installutil is c:/windows/Microsoft.NET/Framework/V1.1.4322

Start and Stop the Service

You need to go to the Computer Management to Start to start and stop the service. You can use Manage menu item by right clicking on My Computer. 

Or

You can view the services through Start -> Control Panel -> Administrative Tool -> Services.


Here you will see the service Service1. Start and Stop menu item starts and stops the service.

You can also set the properties of the service by right clicking it and clicking the Properties menu.


Test the Service

Test by using your own email address and current date in your record. A mail will be sent to your email address. This means that the service is working fine.

That's it.
 source:http://www.c-sharpcorner.com/UploadFile/prvn_131971/BirthdayWishScheduler02022006012557AM/BirthdayWishScheduler.aspx