Rob Kraft's Software Development Blog

Software Development Insights

How I Figured Out Why I Could Not Get To My WebSite Hosted at Arvixe.com, But Others Could

Posted by robkraft on April 19, 2014

I encountered an unusual problem last night when I attempted to view one of my web sites (http://www.KraftSoftware.com).  I could not get to the web site.  Fiddler showed me a 502 response.  My site is hosted at arvixe.com and I use the name cp.violet.arvixe.com to connect to and manage my web site, but I also could not even connect to cp.violet.arvixe.com.  I scanned twitter for arvixe but found no one else complaining about outages.  Maybe others had not realized the problem yet.  Fortunately I was able to get to support.arvixe.com to chat with a technician.  He said there was no problem, that both sites were accessible and ended our chat.  That did not please me.  I opened a chat with a better technician at arvixe.

He told me that they could access the site, and we bounced some ideas back and forth.  I sent him the result of my traceroute, then I went to bed.

Tracing route to stats.violet.arvixe.com [198.252.79.4]
over a maximum of 30 hops:

1     1 ms    <1 ms    <1 ms  192.168.1.1
2    36 ms    28 ms    30 ms  cpe-65-28-0-1.kc.res.rr.com [65.28.0.1]
3    16 ms    15 ms    12 ms  tge7-2.lesmmo11-cer1.kc.rr.com [65.28.16.138]
4    13 ms    17 ms    13 ms  tge0-9-0-7.ksczmogn01r.kc.rr.com [98.156.42.246]
5    39 ms    27 ms    27 ms  ae30.dllatxl3-cr01.kc.rr.com [98.156.42.0]
6    28 ms    27 ms    27 ms  107.14.19.92
7    25 ms    24 ms    24 ms  ae-3-0.pr0.dfw10.tbone.rr.com [66.109.6.209]
8    24 ms    50 ms    34 ms  po21.bbr02.eq01.dal01.networklayer.com [66.109.9.222]
9    29 ms    28 ms    24 ms  ae5.dar01.sr01.dal05.networklayer.com [173.192.18.215]
10    24 ms     *       52 ms  po1.fcr03.sr03.dal05.networklayer.com [173.192.118.143]
11     *        *        *     Request timed out.
12     *        *        *     Request timed out.
13     *        *        *     Request timed out.
14     *        *        *     Request timed out.
15     *        *        *     Request timed out.
16     *        *        *     Request timed out.
17     *        *        *     Request timed out.
18     *        *        *     Request timed out.
19     *        *        *     Request timed out.
20     *        *        *     Request timed out.
21     *        *        *     Request timed out.
22     *        *        *     Request timed out.
23     *        *        *     Request timed out.
24     *        *        *     Request timed out.
25     *        *        *     Request timed out.
26     *        *        *     Request timed out.
27     *        *        *     Request timed out.
28     *        *        *     Request timed out.
29     *        *        *     Request timed out.
30     *        *        *     Request timed out.

Trace complete.

The next morning an Arvixe tech had sent me an email asking me for my IP address.   I supplied it to them 6 hours ago but have not heard another response from them yet.  So I started doing some more research.

After disabling the wireless on my phone (so that my phone would not be going to the Internet over the same connection as my home PC), I went to my web site and it was working from my phone.  I then went to www.pingwebsite.com and pinged my server web IP (192.252.79.4) and only 4 of the 10 hosts were able to get a response.

I emails to ‘admin@dnstinations.com’ and ‘dnsadmin@us.ibm.com’ because they were the apparent owners of the last node the tracert reached successfully (po1.fcr03.sr03.dal05.networklayer.com [173.192.118.143] ).  It is a Saturday, and I have no response from them yet.

I then considered that my IP address had been blacklisted.  I went to http://whatismyipaddress.com/blacklist-check and entered my IP Address for my server 198.252.79.4 and it showed that my site was blacklisted by two spamhaus.org servers, but not by any of the other 60 servers on the list.  One of the links from this site took me directly to the reason for the block by spamhaus.org at http://www.spamhaus.org/sbl/query/SBL213271. This document told me that a site named primus.com.mk was being blocked as a spammer.  The IP address for that site was the same as my site IP address (www.KraftSoftware.com).  So apparently my site, and all of my sites hosted at arvixe.com, have the misfortune of being on the same server as a spammer.

At this time I think there is nothing I can do except to ask Arvixe.com to move my sites to a different server and IP Address, or for me to move my sites to a different web hosting provider.  And of course I asked Arvixe.com to shut down primus.com.mk and get my IP address off of the blacklist.

At the moment, I am just waiting for their response.

Posted in I.T., Online Resources, Web Sites | Leave a Comment »

My Least Favorite New Feature in SQL Server 2014 – No CTRL+E

Posted by robkraft on April 4, 2014

Since as long as I can remember, perhaps back to SQL Server 6.5, I’ve been using CTRL+E to “execute” queries inside SQL Server Management Studio.  I knew that Microsoft warned they were going to eliminate that keystroke, and they finally have in SQL Server 2014.  Now the only keystroke for running queries appears to be F5.  I consider this a productivity setback because to hit F5, I have to lift my palm off of its resting position by the keyboard, then relocate my fingers back on the keyboard correctly to continue typing.  I did not need to do this when using CTRL+E.

Is it possible to complain enough to get a response from Microsoft?  I’m not asking for CTRL+E to come back, but I would like a key combination that does not require me to take my hands of the keyboard to use it.  I like running queries!

Posted in SQL Server | 1 Comment »

Error ORA-1153 using Oracle.ManagedDataAccess.DLL to connect

Posted by robkraft on March 17, 2014

We switched from using Oracle.DataAccess.DLL to Oracle.ManagedDataAccess.DLL in our .Net App.  The code change took minutes, but all the connection string  changes took me a few hours to resolve.  The last error I kept receiving when I tried to connect to Oracle was ORA-1153.  Specifically I had the following values in the exception:

  • HResult: -2147467259
  • Message: Oracle error ORA-1153 encountered
  • Source : Oracle Data Provider for .NET, Managed Driver

This error occurred when the code tried to open the connection

  • _cnOra.Open();

The error occurred because I was missing the CONNECT_DATA value from the descriptor in my datasource of my application .config file.  I had this value:

<dataSource alias=”dev” descriptor=”(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=myServerName)(PORT=1521)) )”/>

when I should have had this value:

<dataSource alias=”dev” descriptor=”(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=myServerName)(PORT=1521)) (CONNECT_DATA = (SERVICE_NAME = dev)))”/>

 

Posted in Coding | Leave a Comment »

Federal Unemployment Tax (FUTA) Credit Reduction for Missouri in 2014 is 1.2%

Posted by robkraft on January 18, 2014

In 2014 the FUTA Credit Reduction in Missouri is increasing from .09 to .12.

Q. What does this mean for Missouri employers?

It means that you will pay a little bit more in FUTA (Federal Unemployment Taxes) to the federal government this year.

Q. What is going on and why did it increase?

Every year states borrow money from the federal government to pay unemployment to unemployment recipients.  If a state fails to repay all the money they borrow, then the state is subjected to a “credit reduction” the result of which is that employers in the state pay more unemployment tax to the federal government.

Q. How is an employer’s unemployment tax to the federal government calculated?

The federal unemployment tax rate is 6.0% for 2014, as it was in 2013.  Employers pay the tax on the first $7,000 of salary for each employee each calendar year.  This would come to $420 per employee each year.

However, since employers also pay an unemployment tax to the state, the federal government allows employers to deduct 5.4% from the 6.0%.  This 5.4% is a “credit”.  Thus the amount paid in unemployment tax to the federal government becomes $42 per employee each year.

However, employers may only deduct 5.4% when their state has paid all of its borrowed money back to the federal government.  When states have not repaid all the borrowed money, they are subjected to a reduction of this 5.4% credit and this is called the “credit reduction”.

Q. So how much will Missouri employers pay in federal unemployment taxes in 2014?

In Missouri, for 2014, the credit reduction is 1.2%.  So the 5.4% credit is reduced by 1.2% becoming a 4.2% credit.  Subtracting the 4.2% credit from the 6.0% federal unemployment tax rate gives us a result of 1.8% for the tax rate we pay to federal unemployment.  So in Missouri for 2014, the unemployment tax we pay to the federal government on the first $7,000 of salary is ($7,000 * 1.8% =) $126.00.

 Q. How does the federal government determine the amount of the credit reduction?

The first year that a state fails to repay the federal government the credit rate is .03%.  The rate increases by .03% every year until the state has fully repaid the federal government.  Since this is the 4th year that Missouri has been unable to repay all of the loans the rate is up to 1.2%.  About half of the states have been unable to repay their loans since the recession began (http://en.wikipedia.org/wiki/FUTA_credit_reduction).

IRS Documentation of FUTA taxes: http://www.irs.gov/pub/irs-pdf/i940.pdf

Posted in Taxes and Fees | Leave a Comment »

How to Fix 2013 Internet Explorer Search Redirect to DNSSearch.rr.com

Posted by robkraft on January 13, 2014

For the last month I’ve been tolerating the redirect that Kansas City Time Warner slipped into my “Search with Bing” searches in Internet Explorer, but I found the fix is simple.

Go to http://dnssearch.rr.com/prefs.php and select the disable option and click “Save Setting”.

I believe this is just another dirty trick Time Warner realized that could sneak into innocent user settings and that most users won’t be able to figure out how to get rid of their search engine.

So, if you find that your search engine recently started redirecting to DNSSearch.rr.com, try the fix above to resolve it and get back to a legitimate search engine.

Posted in Web Sites | Leave a Comment »

How To Power On A Dead Nexus 7 Android Tablet That Won’t Boot At All

Posted by robkraft on January 1, 2014

I don’t use my tablet often, so I sometimes find that my Nexus 7 won’t boot when I power it on.  Not only does it fail to boot, it does not show any activity at all on the screen and I first thought the device was broken.  However, after searching the Internet I learned about similar reports from others and suggestions for getting the device working again.  I am writing this post so that I can find my own answer the next time I need to do this and hopefully provide the extremely precise instructions to help others.

Here is what I have to do when my Nexus 7 does not boot:

  1. Plug in the power to an electrical outlet.
  2. Hold down both the Volume Up and Volume Down buttons.
  3. While continuing to hold down both volume buttons, hold down the Power button for a few seconds.

At this point, a battery charging icon shows up on the screen and you can let go of all of the buttons.

From then on, you can occasionally press the power on button to see the battery charging icon.  If you look closely and wait long enough, you will notice that the battery charging icon appears to be more fully charged over time when it starts up.

Give it a few hours to charge, and then you should be able to unplug it from the power outlet and power it on and use it again.

Good luck!

Posted in Home Tech, I.T. | Leave a Comment »

Quickly Get Started With Subversion Source Control in April 2013 – Download, Install, and Use

Posted by robkraft on March 31, 2013

Once in a while I take over a software development project that is not using source code control. If I expect to make a lot of changes I usually set up source code control before I start so that I can easily revert changes I made if I need to. I don’t do this often, so I’m documenting the steps for a quick installation of subversion with minimal source control features for my own future reference.

I felt the urge to write this post for two reasons:

  1. To easily find the correct URLs to use to download the software
  2. To provide simple documentation for a simple installation. There is a lot of good extensive documentation explaining all the options, but I don’t care about most the options. I just wanted the basic installation so that I can get to work. And here it is.

Downloading and Installing the Version Control Software

A Google search for subversion will almost certainly take you to the old web site for subversion.  So skip it.  Download subversion from here:  http://www.visualsvn.com/downloads/  The first link is probably Apache Subversion Command Line tools, version 1.7.8 and about 2MB.  That is the one you want.  Ignore the misleading fact that it is has Apache in its name.  As a windows developer, that information is irrelevant, and frankly, misleading.  Download the file and unzip it to c:\program files\subversion.

Subversion does not include a user interface.  Everything is done from a command line.  So let’s get a user interface for subversion so that we can avoid hours making typos at the command line.  The challenge is to download TortoiseSVN without downloading the other crap put in front of you on the web pages.  This is not easy because huge download buttons will be placed in front of you on most the pages they force you to navigate through and they all download crapware.  So avoid the tortoiseSVN site and go straight here http://sourceforge.net/projects/tortoisesvn/files/latest/download.  This will download either the 64bit or 32bit version based on the OS you are running your browser.  Download it, then run the installer exe.  Take the defaults.

Creating a Repository to Store the “Master” copy of your software.

Now for the hard parts.  Subversion uses poor terminology, in my opinion, for  the actions you need to take to get started.  Conceptually, we want to do the following:

  1. Create a place on the computer to store the “Master Copy” of our source code, called the repository.
  2. Upload our existing source code into the repository
  3. Flag the working directory of our source code as a working directory for that repository.
  4. Make a change, test that subversion recognizes the change.

I recommend you back up your source code root folder to a backup folder at this time.

Create a folder on your computer to contain the Repository.  This is not going to contain the “working copy” of your code, it will contain the “Master” copy.  I recommend something like c:\SVNRepository.

Creating a Folder in Windows

  1. Right click on the folder you just created.  The TortoiseSVN tools should provide you an option to “TortoiseSVN\Create repository here”                             Create Repository Here for Subversion
    1. Do NOT click Create Folder Structure, just click OK.
  2. Now go to the root folder that holds your source code (let’s assume it is c:\DevSource).  Right-click, choose “TortoiseSVN\Import”

     Image of Import

    1. Clear the “URL of repository, then click the … button to the right”.  Navigate to the folder of your repository (c:\SVNRepository)
    2. Click okClick OK to import
  3. Now, to designate the location you imported from as the working copy of your project, right click on the folder you imported from again, and select SVN Checkout

    Checkout from Svn

    1. Careful – the “URL of repository” should be the full path to c:\svnrepository
    2. You may need to change the defaulted value for Checkout directory because the UI may add svnrepository at the end of the path name.  Take that off.  The checkout directory should be the root level of your project folder (c:\DevSource)
    3. It will warn you that the folder is not empty.  This is good – you are going to overwrite your existing project files with the files you imported into the repository.
    4. If you did this correctly, all your files will still contain their original date/times.
    5. If you did this correctly, and you right click on your project root folder, you will have two new options above TortoiseSVN on your menu, SVN Update and SVN Commit:

    Confirm SVN Folder

If you had any trouble, delete SVNRepository, copy the backup you made of your source files back into your project folder, and try again.

Posted in Dev Environment | 4 Comments »

How to POST to a REST API that requires Authentication using Fiddler

Posted by robkraft on March 8, 2013

Last October I blogged about using Fiddler to Post to a REST API. Today’s post is very similar but I go one step further and post to a REST API site that requires Basic Authentication. When making a POST to a site requiring authentication, you must include authorization information in Request Header. Sounds simple enough, until you look at an example. In Fiddler, it looks like the image below:

Fiddler Post To Site Needing Basic Authentication

The only piece of information you need to add to make Basic Authentication work is the Authorization: Basic line with the correct encoded value following it.  Despite my warning, this encoded value is easy to generate.  You just need to go to any web site that will do base64 encoding for you, plug in your logon and password using this format:

logon:password

Click the button to encode to Base64 (probably UTF8), and paste the resulting value into Fiddler.  I did this at http://www.base64encode.org as shown here:

Image of Base64Encode.org web site

Image of Base64Encode.org web site

Posted in CodeProject, Coding, Free tools | Leave a Comment »

The Correct Way to Re-Throw An Exception – .Net Tip

Posted by robkraft on March 6, 2013

When catching and re-throwing an exception, you should include the original exception as a 2nd parameter.  Including the original exception may provide a deeper stack trace that will assist you with solving the exception.

This syntax may not include the full stack trace.

This syntax may not include the full stack trace.

In the code above, if an error occurs in methodWithoutCatch(), the call stack returned will show “methodWithTryCatch” as the deepest method in the stack.

System.Exception: Additional Error Info: blah blahObject reference not set to an instance of an object.
at WindowsFormsApplication6.Form1.methodWithTryCatch(String y) in ...\Form1.cs:line 34 at WindowsFormsApplication6.Form1.button1_Click
This example will include the full call stack.

This example will include the full call stack.

However, if you include the original exception in the throw as shown in the second throw example, then the call stack returned will show “methodWithoutCatch” as the deepest method in the stack.

System.Exception: Additional Error Info: blah blahObject reference not set to an instance of an object.
---> System.NullReferenceException: Object reference not set to an instance of an object.
at WindowsFormsApplication6.Form1.methodWithoutCatch(String z) in ...\Form1.cs:line 40
at WindowsFormsApplication6.Form1.methodWithTryCatch(String y) in ...\Form1.cs:line 29
--- End of inner exception stack trace ---
at WindowsFormsApplication6.Form1.methodWithTryCatch(String y) in ...\Form1.cs:line 35
at WindowsFormsApplication6.Form1.button1_Click

Including the original exception as the second parameter of your new exception provides you with a better call stack.  In this example, it allows you to determine that the error occurred in the methodWithoutCatch method.  In the first case, you are left wondering if the methodWithTryCatch really caused the error, or if one of the three methods it called (method1, methodWithoutCatch, or method3) caused the error.

Posted in Code Design, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010 | Leave a Comment »

Internet Explorer 10 is now the Best Browser in the Market

Posted by robkraft on March 2, 2013

I am loving the speed of the recently released Internet Explorer 10 (IE10) for Windows 7.  It is noticeably faster than Chrome.  It also has no problem rendering video and other content on sites that IE9 struggles with.

A few other minor improvements are nice such as the little ‘x’ added to every text box to allow you to clear the field and the icon for viewing your password that appears in every password protected field.  This is a long overdue security enhancement.  A lot of users choose simple passwords primarily because they struggle typing complex passwords when they cannot see what they have typed.

Text fields and some fonts render a little differently in IE10 than in IE9.  I don’t think they look better, but I think they probably render a little faster.  Once again, IE10 appears to be all about speed!

Posted in Free tools, Home Tech, I.T., Web Sites | Leave a Comment »

 
Follow

Get every new post delivered to your Inbox.

Join 101 other followers