As you know if you have WinHost $5 or $10 plans, you cannot backup databases from SSMS, you have to do it from the Web Control Panel. After getting tired of doing this manually, I decided to automate this… as I have always been a big fan of automating things. This is how you can do it:
1. Selenium IDE
2. Visual Studio (if you’re going to use C#)
4. Selenium Server
5. Firefox browser
1. Install Selenium IDE from here, or open Firefox browser and install from the Add-On page. You should have Firefox installed in your machine.
2. Launch the IDE after installing. This is how the IDE looks:
3. The Selenium IDE starts in recording mode, the red button on the top right corner can be used to start or stop recording.
4. Open a Firefox window, and go to WinHost’s control panel page.
5. Enter your username, password, and follow all the steps that you do for manual database backup. The IDE will record every click event, and you should be able to see the events in the IDE getting added.
6. Once you are done with all the tasks, stop recording.
7. Go to File menu, Export Test Case As and choose C# / NUnit / Remote Control, which will generate a C# class.
8. Create a Console Application or a Service. Console Application works well for me.
9. You need to copy parts of code from the IDE generated class. You can put everything in a method, something like this:
1: ISelenium selenium;
2: StringBuilder verificationErrors;
4: selenium = new DefaultSelenium("localhost", 4444, "*chrome", "https://cp.winhost.com/");
6: verificationErrors = new StringBuilder();
9: selenium.Type("id=ctl00_cphMain_loginCP_UserName", "YourUserId");
10: selenium.Type("id=ctl00_cphMain_loginCP_Password", "YourPassword");
17: selenium.Click("css=img[alt=\"Microsoft SQL Manager\"]");
19: selenium.Click("id=" + labelName);
24: var confirmation = Regex.IsMatch(selenium.GetConfirmation(), "^Create backup\\. Are you sure[\\s\\S]$");
10. Install Selenium related DLLs from Nuget. Open Visual Studio’s Package Manager Console, and install packages - Selenium.RC and Selenium.Support
11. Download Selenium Server from here, you SHOULD have Java installed in your machine to start the server.
12. The server should be started before executing the above code, you can create a .bat file, with this line “java -jar D:\Utils\selenium-server-standalone-2.25.0.jar” in it.
13. You can execute the bat file like this - System.Diagnostics.Process.Start(@"D:\Utils\startSeleniumServer.bat");
14. Now, when you start the console app, it will repeat the recorded steps, and backup your database.
15. Remember, the database will be backed up in the app_data folder; and if the folder already has a backup file, you need to delete it. You could write a FTP module or use the FTP Utility that I wrote (attached) to delete and download the backup file.
16. You have to pass the file path and the credentials if you’re using my FTP utility. The file path will be something like this - ftp://FTP_IP/app_data/SEE_WHAT_THE_MANUAL_BACKUP_GENERATES.bak
Note: You could use Selenium.WebDriver instead of RC Server, however, it doesn’t handle popup or confirmation window properly; as our process opens a confirmation window, I went with the RC Server.
I’ve been running the radio since 2006, I’ve spent a lot of time and money on it, and now it is going to come to an end. It is mainly because of my time constraints, I’m not having enough time to spend on it, I’ve become too busy these days . Moreover, I recently upgraded my servers to Windows Server 2008, since then I’ve been having too many problems with the radio as server 2008 doesn’t have proper support for rdp audio redirection. I'm forced to do some changes whenever I rdp into the system, it's too time consuming... hence I’ve decided to stop the service.
If you are here, you should be one of my listeners, thanks for listening all these years, hope I’ll have some time in the future to build something better or at least continue what I’ve been doing.
I have learned a lot on developing my website, about .NET, ASP.NET, Web Design, Servers, Database etc., it’s been a good platform to learn the new technologies and implement them. I have played and been playing many roles in its development, here are them:
Being a creative person, I’ve always liked web designing, graphics, animation etc. This pushed me to create my first version of my website (HTML based), spent a lot of time on it and at the same time learned (self-learned) a lot on designing, good and bad techniques :). When I started working closely with a designer in HHS, learned many good practices on HTML Designing from her. It eventually pushed me to redesign my website. Though I acquired decent designing skills, I didn’t spend much time on designing as I wanted it to be simple and neat. I just followed the good practices on designing, this made my site look consistent in most of the browsers, in different resolutions, colors, point sizes etc.
Before setting up my site I just had a minimal knowledge on networking - to just share folders, open firewall/router ports, setup static ip etc. But, after setting up my site or in the process of setting up my site I learned a lot about networking technologies/methodologies like Virtualization, Domain Controllers, Backup Strategies, Re-routing Network Traffic, Security, Access Control etc. Initially, I had my site hosted on Godaddy’s Servers, and later on built my own servers and deployed everything on my servers. It was definitely worth spending extra bucks in building my own server and taking business connection (as I my ISP blocked port 80 for residential connections). Its advantages – installed softwares as I wished, and upgraded them as and when updates were released, opened ports in the firewall, changed security settings as per my needs, and many more. My responsibilities as a network admin:-
1. Instead of buying a server machine, I just converted my desktop to a server by installing server 2003 r2, and added RAM (had 4 GB RAM, added another 4 GB) and hard drives (bought another hard drive for backup).
2. Thought Virtualization will serve me better in terms of security, availability, usage etc. So, I used VMWare Server to setup virtualized servers. Built a virtualized server in my main server machine (server 2003 r2), and another virtualized server in my personal computer (windows 7), thus got 3 servers (windows 2003 r2). Setup my server machine as the domain controller (just for reference, I’ll name it as “A”), the virtual machine in it as the web/ftp/file/shoutcast/sql servers (name - “B”), and the virtual machine in my PC as the backup server (or testing machine), clone of B (name - “C”). Just before major software updates or changes in the network settings or any other changes that was supposed to affect the web traffic in B, I rerouted my network traffic to C.
3. Synchronization Strategy – Synchronized servers B and C using SyncToy (for folders) and Backup/Restore feature in SQL Server (for database). I will explain this in detail in my next blog.
4. Backup Strategy – Scheduled nightly backup of windows folders, SQL server and few other settings, and monthly backup of virtual machines (manually copied virtual machine files) to a hard drive dedicated for backups.
5. At least at the time of writing this blog, I didn’t have anything to do with ASP.NET Sessions, so rerouting the web traffic was not a big deal – just opening and closing ports in my router took care of it. However, as I didn’t have a proper way to reroute my radio traffic, I just played some pre-recorded announcements saying “Server is going to be restarted, it will be back in X minutes” or “Server is unavailable due to maintenance, it will be back in few minutes (or hours)”
6. Domain Management – I added and modified @ and CNAME records, changed name servers etc.
Godaddy’s ASP.NET Hosting was good (not great though), but their Database Hosting was ridiculous. They had an ASP.NET based interface, just to execute db scripts… running DDL scripts was not a problem; however, executing DML or importing data was not easy. So, decided to host my SQL Server Database in a different place, and only when I found that Godaddy blocked remote SQL Server access. All these limitations and the price factor pushed me to setup my own database server. My responsibilities as a database administrator or developer:
1. I’ve never liked writing dynamic or inline queries in the frontend, so always followed stored procedure approach. Performed most of the database operations using stored procedures. Once I started using LINQtoSQL and Entity Framework, the usage of stored procedures got reduced, I used them only for complex operations.
2. Created database, user accounts, roles etc., mapped user accounts or roles to data objects appropriately.
3. Built backup (full and differential) and restore strategy, and scheduled sql server jobs to perform these operations appropriately.
4. Created and used SSIS for routine GeoIP to Location data imports from MaxMind.
I used my server “C” as a backup or a testing server. I always applied patches or installed/upgraded softwares here, and only after thorough testing, I performed the same operations in my server “B” (my main server).
Working as a Web Developer, I created many Web 2.0 websites at my work, and at one point I found Web Development to be interesting than Windows Development. At that point, I felt I should convert my HTML site to Web 2.0 using all the latest web technologies. With all the experiences that I gained on web development from my job, I developed my website, and based on the experiences that I gained from developing my website, I did many things at my office – my work and my website served each other well.
I developed the first .NET version of my site using VS 2005/.NET 2.0 Framework with SQL Server 2005. Later on, upgraded to .NET Framework 3.5/VS 2008, used LINQtoSQL and other new features in VS 2008. My current version (as of Aug 15 2010), uses .NET 4.0 and SQL Server 2008.
If you need any help on building your own server, feel free to contact me.
Link to my site – http://www.gokulnath.com
Thirukural, written by Thiruvalluvar, in the form of couplets that convey noble thoughts. It is considered to be a book of ethics for the ordinary man, the administrator, the king and the ascetic. It is universal in perspective, and hence called "Ulaga Podhu Marai" meaning the Common Knowledge for the world. It is as timely today as when it was written more than 2000 years ago. Click here to know more about this book.
It has been translated to 80 languages (including many Indian languages). However, as far as I know only few people from India, other than from Tamil Nadu (a southern state in India) have known about or read this book. It is one of the reasons, why I decided to add it to my site ... just an attempt to spread this book further, hope you will do the same.
I took most of the content from - Tamil.pdf (254.88 KB), English.pdf (351.65 KB) and TamilMeaning.pdf (972.86 KB). Thanks a lot to all those who have worked on these projects. A special thanks to B.Viswanathan, the creator of the software Azhagi, using which I generated reverse-transliterations. Thanks to Google for its Transliteration API. Last but not least, thanks to all others who have worked/are working/will be working on spreading this book.
1. Spent a lot of time in collecting and importing the content to my database than designing the pages; used all sort of scraping techniques (programmatic) to fetch the content from the pdfs listed above. So, I cannot assure you that all the kurals, meanings (Tamil & English) and the Transliterations are 100% correct. In case if anything is wrong with any of the content, please report to me by following the report link.
2. Searched many places in Chennai for Thirukural CD with files separated by kurals, didn’t get one! However, I got 3 CDs for each section and files separated by adhigarams (chapters).
3. Had a tough time adding adhigaram mp3s in un-downloadable format. Shoutcast’s streaming content was easier compared to httphandlers, flash playlist etc. However, Shoutcast generated playlist in .pls format, and it didn’t work in Windows Media Player. So, wrote separate code to generate windows media playlist file (.wpl). If you have any problems in listening, download the playlist files and then try to open it in any of the players installed in your system.
Here is the link - http://www.gokulnath.com/thirukurals
If audio is not working in your server, check whether Windows Audio service is started…
How to do:
1. On Windows Run (windows key + R key), type services.msc
2. Look for Windows Audio service and check whether it is started, if not, start it
If this doesn't resolve your problem, try updating your audio drivers.
If audio is not working only when remoting, try the following:
1. On Windows Run (windows key + R key), type gpedit.msc
2. Go to Local Computer Policy/Computer Configuration/Administrative Templates/Windows Components/Terminal Services/ClientServer redirection
3. Enable Allow audio redirection
and then do this too:
1. On Windows Run (windows key + R key), type tscc.msc
2. Open the Connections folder in the left sidebar
3. Right-click RDP-Tcp, select Properties
4. Click Client Settings tab
5. UNCHECK the "Audio mapping" checkbox under the section "Disable the following:"
7. Click OK, and close tscc
8. You may see a warning which says this change will not take effect for any currently-connected RDP sessions. Click out of that
If you are remoting from a Windows XP machine, try to remote into the console by typing "mstsc /console" on run window.
If you are remoting from a Windows 7 or a Vista machine, try to remote into the console by typing "mstsc /admin" on run window.
After upgrading my PC from Windows XP to Windows 7, an external hard drive which was working fine on XP lost write permissions.
Found a solution:
1. Right click on the drive icon for the external drive.
2. Select Properties
3. Click Security Tab
4. Click Advanced Button
5. Click Owner Tab
6. Click Edit Button
7. Choose your account or administrators group, whichever you want to give permissions
8. Check 'Replace owner on subcontainers and objects'
9. Click OK
If this doesn’t resolve your problem, choose the user from “Group or user names” list, click “Edit”, and give appropriate permissions.
Hope this works for you!
Recently, when I tried to copy a large file (around 1 GB) to Virtual Machine (VM) from the host machine, it froze either of the machines. However, when I tried to copy a large file from the VM to the host machine, everything was normal.
Found a solution for this problem:
your Virtual Hard Disk's space upfront.
Unfortunately, I didn't find a way to modify my existing virtual hard disk, so I added a new virtual drive and pre-allocated its space, and it resolved the file transfer problem.
If you are setting up a FTP Server in a Domain, this article should help you. I have just taken info from various sites and had consolidated into one.
Installation - Click here to view the entire article
- Click Start, point to Control Panel, and then click Add or Remove Programs.
- Click Add/Remove Windows Components.
- In the Components list, click Application Server, click Internet Information Services (IIS) (but do not select or clear the check box), and then click Details.
- Click to select the following check boxes (if they are not already selected):
File Transfer Protocol (FTP) Service
Internet Information Services Manager
- Click to select the check boxes next to any other IIS-related service or subcomponent that you want to install, and then click OK.
- Click Next.
- When you are prompted, insert the Windows Server 2003 CD-ROM into the computer's CD-ROM or DVD-ROM drive or provide a path to the location of the files, and then clickOK.
- Click Finish.
To Isolate the Users - Click here to view the entire article
- Start Internet Information Services Manager or open the IIS snap-in.
- Expand Server_name, where Server_name is the name of the server.
- Expand FTP Sites
- Right-click Default FTP Site, and then click Properties.
- Click the Security Accounts tab.
- Click to select the Allow Anonymous Connections check box (if it is not already selected), and then click to select the Allow only anonymous connections check box.
When you click to select the Allow only anonymous connections check box, you configure the FTP Service to allow only anonymous connections. Users cannot log on by using user names and passwords.
- Click the Home Directory tab.
- Click to select the Read and Log visits check boxes (if they are not already selected), and then click to clear the Write check box (if it is not already cleared).
- Click OK.
To create a new FTP site that isolates users
1. In IIS Manager, expand the local computer, right-click the FTP Sites folder, point to New, and click FTP Site.
2. Provide the required information in the FTP Site Description and IP Address and Port Settings dialog boxes, and click Next.
3. In the FTP User Isolation dialog box, click Isolate users, and click Next.
4. In the Path box, type or browse to the directory that contains, or will contain, the site content, and then click Next.
5. Select the check boxes for the FTP site access permissions you want to assign to your users, and then click Next.
6. Click Finish.
To create FTP root-point and user folders
If users of different domains log on with their explicit domain\username credentials, create a subdirectory for each domain (by using the name of the domain) under the FTP site root directory you specified when you creating the FTP site.
For Example -
Domain Name: Account
FTP root directory -> D:\MyFTP\
LocalUser locate at D:\MyFTP\Account
For individual domain user, you need to create folder in this format - Domain\username
Domain User: Nancy locate at D:\MyFTP\Account\Nancy
How To Configure PassivePortRange In IIS - Click here to view the entire article. Folders will be listed only if passiveportrange is configured.
a) To Enable Direct Metabase Edit
1. Open the IIS Microsoft Management Console (MMC).
2. Right-click on the Local Computer node.
3. Select Properties.
4. Make sure the Enable Direct Metabase Edit checkbox is checked.
b) Configure PassivePortRange via ADSUTIL script
1. Click Start, click Run, type cmd, and then click OK.
2. Type cd Inetpub\AdminScripts and then press ENTER.
3. Type the following command from a command prompt.
adsutil.vbs set /MSFTPSVC/PassivePortRange "5500-5700"
4. Restart the FTP service (Start->Run->services.msc, find FTP Publishing Service and Restart it).
Note: this is what I executed in my machine - cscript.exe adsutil.vbs set /MSFTPSVC/PassivePortRange "5500-5700"
You'll see the following output, when you configure via ADSUTIL script:
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
PassivePortRange : (STRING) "5500-5700"
Open Ports in Windows Firewall
Default FTP port is 21, add this TCP port in Windows Firewall Exception list.
To Open/Delete multiple ports
for /L %i in (5000,1,5200) do netsh firewall add portopening TCP %i "FTP %i"
delete opened ports
FOR /L %I IN (5000,1,5200) DO netsh firewall delete portopening TCP %I
FreeCommander is a windows file manager which comes with FTP Client, I have been using this for quite some time...I'm satisfied!
I have seen people always getting confused with the loan calculation method, especially auto loan (including me, when I bought my first car), just to help you all ... I have created this calculator. Try this and find out how it differs from the other calculators on the internet.
What my calculator is capable of?
1. Calculates monthly payment or apr or term or loan amount based on your input. (any calculator online does this ... not a big deal)
2. Gives you the total amount that a person will pay if he takes a loan i.e., principal (loan amount) + total interest amount.
3. Gives you the amortization table i.e., monthly splits. The amount that goes towards your principal and interest from your monthly payment.
4. Allows you to edit your monthly payment and gives you the amount that you will gain with the change. Many pay their monthly payments exactly, without knowing that even few dollars (or rupees or whatever) increase will change their total interest.
5. Tells you whether refinance will be profitable or not, by changing interest rate or loan term. Gives you the amount that you will save/lose by refinancing.
Formula used for this calculator:
Monthly Payment = (P * R) / (1 - (1 + R)^(-n)) where
P = Loan amount
n = loan term i.e., number of months
R = Annual Percentage Rate/ (12 * 100)
12:number of months/year
100: As rates are in percentage
Feel free to send your comments.
Setting up shoutcast server is just like installing any other software. Installation and configurations should not take you enough time, whereas opening your firewall/router ports might take some time, it depends on your networking knowledge. If you are aware of setting up a router or any other network device, this should not take you enough time.
Here you go:
1. Download Winamp. Install it.
2. Download DSP plug-in. Install it.
3. Download appropriate DNAS Shoutcast Server for your server and OS. Install GUI version.
4. Run DNAS server. This will open your GUI.
5. Start Winamp and open Preferences (CTRL-P) and click on the DSP/effects subcategory under the Plug-ins tree.
6. Select Nullsoft SHOUTCast Source DSP v x.x. This will open a pop-up like this
7. Play some song in winamp, this will change the dB on Input Meters (Main Tab).
8. Go to the 'Encoder' tab. Change the Encoder Type to MP3 Encoder, if you are playing mp3 song. This will automatically choose Encoder Settings to 24 Kbps, 22.050kHz, Mono. You can change this based on your needs.
9. Go to the 'Output' tab. Click the Connect button, this will start streaming the song current being played i.e., the status will change from 'Not Connected' and it will look like the window below. Click Yellowpages to add information about your radio.
10. If the status has changed, you can jump to step . If the status has not changed, check whether the shoutcast server has been added to your Windows Firewall exceptions list. Open your control panel, double-click windows firewall and go to Exceptions tab. Check whether 'sc_serv' is in the exception list, if not, click add program and add your shoutcast server exe (programfiles\shoutcast).
11. To check whether the shoutcast server is streaming properly, open windows media player. Go to File menu and click Open Url (ALT + F, U), and type http://localhost:8000. You should be able to listen to the song being played in winamp.
12. Open ports 8000 and 8001 in your windows firewall (see step 10 to know about opening firewall ports), and then open the same ports in your router (look for port forwarding in your router config page). This will allow you to stream your radio on the internet.
13. You can change the Shoutcast server's settings based on your needs (open DNAS GUI and click Edit Config). This site explains clearly about the settings - http://www.gentoo.org/doc/en/shoutcast-config.xml#doc_chap1
Fetching Shoutcast statistics from .NET application
WebClient webClient = new WebClient();
DataSet shoutCastStatistics = new DataSet();
webClient.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
shoutCastStatistics.ReadXml(new StringReader(xmlDoc), XmlReadMode.Auto);
Dataset shoutCastStatistics should have 5 tables: shoutcastserver, webdata, listeners, listener, songhistory and song. You can use them based on your needs.
Feel free to contact me if you have any questions.
Initially, I developed this deals alert service for my personal use and later on thought it might be
useful for others too, so I extended it accordingly and added it here. This service basically grabs RSS feeds from deals sites (listed on the deals alert page of my site) and checks for
the keyword(s) that are added, and if it finds a match, sends email at the time mentioned on the page. This service performs properly only if the keyword(s) are specific, because it is
just using some ‘exact’ and ‘like’ string searches. I might be
improvising this by using dictionary or thesaurus in the future. You can
enter multiple keywords (separated by spaces) related to a single product, and only if all the words
are present on the deal title, alert email will be sent. As I’m just using simple
search here, the deal may not be related to the product you are looking. For
eg., say suppose you add an alert for ‘card reader’ and if there is any deal for
a laptop with ‘card reader’, my service is going to grab this deal too, because this
service is not as intelligent as you are :). So, in this case it is better to
add price limit too.
added this service without any commercial intention, so do not worry about your
emailids, I won’t trade them to advertisers, and moreover you can unsubscribe
from this service or modify the added keywords at any time by clicking
‘Unsubscribe’ link on the email that will be sent to you after adding an alert.
writing this service I understood how difficult it is come up with search
algorithms, hats off to Google and other search engines. Implementing ‘exact’
keyword search was easy whereas ‘like’ search was very difficult. For eg., I added ‘backpack’ as keyword, the
service was bringing all the deals having ‘pack’ on the title, like ‘cd pack’,
‘dvd pack’ etc. I told about this service to couple of my friends, and one of
my friends added ‘mens watches’ as keyword, and found out that most of the
deals had “men’s” on the title. I recoded to accommodate this scenario, but still it is going to bring deals related to women's watch even if you add men's watch. One
last example, keyword ‘all in one printer’, there was a deal with title ‘Calls
to any phone in India’, if you see here ‘all’ is in ‘calls’, ‘in’ is in ‘India’
and ‘one’ is in ‘phone’. I can keep listing out examples on this service's ability/disability. As a developer, I have done my testing part (developer's test cases are always subset of testers' test cases) to an extent, it is yours now...you are my testers!
have any idea or thoughts to improvise this service, please send your comments.
Here is the link.
Feature 1 - Face recognition: Though this feature was released on 9/02/2008, I noticed it only recently. Worth trying it!
How to use it?
- Log into Picasa Web Album, go to Settings (top right corner) page, you will be able to find a section ‘Name Tags’, and right below it there should be a button ‘Turn name tags ON’, click it. After few seconds Picasa will start auto face recognition, you should be able to see the progress on the right side of your picasa home page.
- Once it is done, you can click a photo (your photo or any of your friend’s photos) from any of your albums, picasa will show a rectangle around the face of the person in the photo, you can add a name tag.
- Now, go to ‘People’ tab and add more name tags. See below video for more info.
Feature 2 – Email Upload: You can upload photos to your album by forwarding emails addressed to your picasa emailid. You will be able to add a picasa emailid on Settings page, under ‘Upload Photos by Email’ section.
Feature 3 – Meta tag info: I think this was there since picasa was introduced, but I came to know this only recently from one of my friends. I added few web albums and sent the links to my friend; he was able to tell the camera that was used to take the photographs, apertures, focal length etc. Picasa reads the meta tag info of the photo and displays on the right hand side of the photo under ‘Photo Information’, click link more info.
of my friends forwarded this article to me sometime in 2007, as it was
too lengthy, I didn’t read at that time, and few months back I got a
chance to read this; only then I realized I should have read this in
2007 itself, because this article had changed my life in many ways
since I read this … hope it will change yours too!
Author: Stephen Covey
Discover the 90/10 Principle. It will change your life (at least the way you react to situations).
What is this principle? 10% of life is made up of what happens to you. 90% of life is decided by how you react.
does this mean? We really have no control over 10% of what happens to
us. We cannot stop the car from breaking down. The plane will be late
arriving, which throws our whole schedule off. A driver may cut us off
have no control over this 10%. The other 90% is different. You
determine the other 90%. How? ……….By your reaction. You cannot control
a red light. but you can control your reaction. Don't let people fool
you; YOU can control how you react.
Let's use an example.
are eating breakfast with your family. Your daughter knocks over a cup
of coffee onto your business shirt. You have no control over what just
happened. What happens next will be determined by how you react. You
curse. You harshly scold your daughter for knocking the cup over. She
breaks down in tears. After scolding her, you turn to your spouse and
criticize her for placing the cup too close to the edge of the table. A
short verbal battle follows. You storm upstairs and change your shirt.
Back downstairs, you find your daughter has been too busy crying to
finish breakfast and get ready for school. She misses the bus. Your
spouse must leave immediately for work. You rush to the car and drive
your daughter to school. Because you are late, you drive 40 miles an
hour in a 30 mph speed limit. After a 15-minute delay and throwing $60
traffic fine away, you arrive at school. Your daughter runs into the
building without saying goodbye. After arriving at the office 20
minutes late, you find you forgot your briefcase. Your day has started
terrible. As it continues, it seems to get worse and worse. You look
forward to coming home. When you arrive home, you find small wedge in
your relationship with your spouse and daughter. Why? …. Because of how
you reacted in the morning.
Why did you have a bad day?
A) Did the coffee cause it?
B) Did your daughter cause it?
C) Did the policeman cause it?
D) Did you cause it?
The answer is “D".
You had no control over what happened with the coffee. How you reacted in those 5 seconds is what caused your bad day.
is what could have and should have happened. Coffee splashes over you.
Your daughter is about to cry. You gently say, "Its ok honey, you just
need to be more careful next time". Grabbing a towel you rush upstairs.
After grabbing a new shirt and your briefcase, you come back down in
time to look through the window and see your child getting on the bus.
She turns and waves. You arrive 5 minutes early and cheerfully greet
the staff. Your boss comments on how good the day you are having.
Notice the difference? Two different scenarios. Both started the same.
Both ended different. Why? Because of how you REACTED. You really do
not have any control over 10% of what happens. The other 90% was
determined by your reaction.
are some ways to apply the 90/10 principle. If someone says something
negative about you, don't be a sponge. Let the attack roll off like
water on glass. You don't have to let the negative comment affect you!
React properly and it will not ruin your day. A wrong reaction could
result in losing a friend, being fired, getting stressed out etc. How
do you react if someone cuts you off in traffic? Do you lose your
temper? Pound on the steering wheel? A friend of mine had the steering
wheel fall off) Do you curse? Does your blood pressure skyrocket? Do
you try and bump them? WHO CARES if you arrive ten seconds later at
work? Why let the cars ruin your drive? Remember the 90/10 principle,
and do not worry about it. You are told you lost your job. Why lose
sleep and get irritated? It will work out. Use your worrying energy and
time into finding another job. The plane is late; it is going to mangle
your schedule for the day. Why take outpour frustration on the flight
attendant? She has no control over what is going on. Use your time to
study, get to know the other passenger. Why get stressed out? It will
just make things worse.
you know the 90-10 principle. Apply it and you will be amazed at the
results. You will lose nothing if you try it. The 90-10 principle is
incredible. Very few know and apply this principle. The result?
Millions of people are suffering from undeserved stress, trials,
problems and heartache. We all must understand and apply the 90/10
It CAN change your life!!!