Rob Kraft's Software Development Blog

Software Development Insights

Archive for the ‘Resources and Tools’ Category

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.

UPDATE AND RESOLUTION:

So I was wrong about the blacklist being the cause of my site not working.  The blacklist just blocks emails, not web sites.  The problem was that my home security system was sending so many pictures to store on my site that it triggered a DDOS response and was blocked.  I have changed my security camera to send fewer pictures and will hope it doesn’t happen again.

Advertisements

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

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 | 2 Comments »

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 »

How to POST to a REST API using Fiddler

Posted by robkraft on October 24, 2012

Posting to a REST API using Fiddler is very simple, as long as you fill out all the required values correctly. I spent more than an hour figuring out the correct info for my REST API recently so I am documenting it here for my own sake, and hopefully to speed the resolution for others. The URL shown in the image is not real, so don’t expect that URL to work for yourself.

  1. Select the Composer tab in Fiddler.
  2. Select POST from the dropdown.
  3. Enter the URL of the REST API. My REST API had a .svc extension, but most REST APIs do not.
  4. In the Request Headers, include “Content-Type: text/xml”. This is the step I missed that took me so long to resolve. Your REST API may not need this, but the REST API I was working with developing on the Microsoft Stack did. You do not need to provide the values for Host or Content-Length in your Request Headers because Fiddler will populate those for you.
  5. In the Request Body, provide the XML or Json data that you are sending to the URL as part of the POST.
  6. Click on the Execute button.
  7. Check the panel on the left (not shown in the image) to see the result of your API call. For my API, the POST returned a 200 and the Response Body contained my response data.

That’s it. Good Luck!

How to POST to a REST API using Fiddler

Posted in CodeProject, Coding, Free tools | 7 Comments »

Make Time to Learn from the Free Microsoft Security Assessment Tool

Posted by robkraft on August 16, 2012

Today I discovered the Microsoft Security Assessment Tool.  Although the tool came out nearly three years ago I still discovered it to be very useful in helping you to identify the security areas in which your organization or software development shop may be weakest.  It also provides a lot of links and useful recommendations to assist you with improving security.  Security should be near the front of every developer’s mind as the world moves toward cyberattacks that are increasingly more damaging to businesses and people.

Download the free tool here:

http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=12273

Expect to spend 30 to 90 minutes answering the questions.   You must first answer all the Business Profile Assessment questions, then you can move to the more interesting “Defense In Depth” assessment.  Follow that with generating a report of the results and if you’d like, posting your results to Microsoft and see how you compare to other organizations.

 

 

 

Posted in Free tools, I.T., Process | Leave a Comment »

SP_WhoIsActive is a Superior Alternative to sp_who on SQL Server

Posted by robkraft on August 13, 2012

I recently learned about the sp_WhoIsActive stored procedure written and maintained primarily by Adam Mechanic.  For DBAs like myself who have always wanted something better than sp_who and sp_who2 to diagnose the active connections on your SQL Server, this is a tool for you.  You can download it at http://sqlblog.com/files/default.aspx and you can learn all about it through Adam’s many blog posts.  I recommend starting with this one: http://sqlblog.com/blogs/adam_machanic/archive/2011/04/05/less-data-is-more-data-a-month-of-monitoring-part-5-of-30.aspx

SP_WhoIsActive

Find more tool gems like this at http://tinyurl.com/ITPortals

 

Posted in Free tools, SQL Server | Leave a Comment »

Use the Free Problem Steps Recorder Tool Built Into Windows to Record and Playback

Posted by robkraft on June 10, 2012

I just recently learned that Microsoft included a new tool called the Problem Step Recorder (Psr.exe) in the release of Windows 7.  This handy and simple tool allows a user to record the steps taken and then send a script of those steps, including screen shots, to a support assistant.  The tool does not record video, so it avoids some of the complications that arise with video recording tools.  When you stop recording the screen captures and text are zipped up automatically, then you can easily email the resulting .zip file to your IT Support.  A screen capture occurs every time the user clicks on something and the screen capture highlights exactly what was clicked.

If you ever provide IT support for Windows 7 users, give the tool a try on your Windows 7 pc right now to see how easily it works, or watch a short demo of the tool here: http://technet.microsoft.com/en-us/video/Video/ff710684.

Screen Cap of partial results of PSR Recording

Screen Cap of partial results of PSR Recording

 

Posted in Free tools, I.T. | Leave a Comment »

Use www.test-ipv6.com to see if you can browse IPV6 web sites. IPV6 Day is June 6, 2012!

Posted by robkraft on June 5, 2012

Tomorrow is June 6th, 2012, and that means it is world wide IPV6 day!  Hooray!  Yippee!  Hurrah!

But what does that mean to you?  Probably not much.  Hopefully not much.  For most of the world it will be as uneventful as Y2K and all those dates that already passed on which the world was supposed to end.  But for the major entities responsible for keeping our Internet alive and functioning it means they are flipping a switch to begin support IPV6 addresses in addition to the traditional IPV4 addresses.  And they are doing this because the Internet is running out of IPV4 addresses.

As stated, this does not affect anyone, at least not immediately.  But soon we will really run out of IPV4 addresses and someone will have to start using IPV6 addresses, and only IPV6 addresses to put their web site on the Internet.  Only web browsers capable of communicating with IPV6 will be able to go to those web sites.  Computers running older software like Windows 95 won’t be able to go to IPV6 only web sites.  Neither will computers going through old network equipment that doesn’t support IPV6.  Can you get to IPV6 web sites from your browser on your computer?  You can find out by going to www.test-ipv6.com.

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

Online spreadsheets, the best of Excel and Google combined in www.EditGrid.com

Posted by robkraft on April 15, 2012

I like Excel.  Excel is a great tool when I am the only person working on the information, but when I want to collaborate on a spreadsheet, I often reach out to Google Docs.  The advantage of Google Docs online is that several people can update the same spreadsheets at the same time.  My team uses several Google spreadsheets to manage tasks, but it lacks the feel of Excel.  But recently I discovered what may be the best of both worlds.

http://www.EditGrid.com

EditGrid looks a lot like Excel (so much like Excel that I’m a little concerned they will get shut down at some point).  It is online and free.  There is a version you can pay for with more features, but I have just started using the trial version and haven’t looked into what the paid version adds that I may desire.

EditGrid provides me the following features I wanted in an online spreadsheet:

  • Multiple users can edit the document at the same time
  • I could upload a document from Excel as my starting point
  • I can restrict allowing edits by requiring a password to do so
  • It does not require my fellow collaborators to have a @live account, @gmail account, or any other specific type of account
  • It is free
  • It looks great and works pretty well

If you have a @live.com account (a Microsoft account), then you can create and share Excel documents online via your skydrive account.  The sharing options are a little more limited than the free options EditGrid provides, but they are sufficient.  The only thing not to like about the free sharing of Excel documents via skydrive, is the requirement for the @live.com account.

No matter what online spreadsheet you use, you should back it up regularly if the content is important to you.  Our google sheets are important to us and we back them up weekly.  We once had a problem (years ago) that required us to scrap the current sheet, and replace it from a backup.  We also have had a few occasions where the document was inaccessible, which is a risk for any online information.

Finally, I don’t recommend any of these products if your data needs a lot of security/protection.

But I do recommend you give EditGrid a try if you are in the market for a free online spreadsheet.

Posted in Free tools, I.T., Web Sites | 1 Comment »

The Next Generation of User Group Meetings

Posted by robkraft on December 2, 2011

In the Kansas City metro I’ve noticed an increase in the number of computer user groups forming to meet and discuss and learn about software technologies.  Some of these groups have exploded on the scene with an average attendance of more than 30 people per meeting, which outdoes groups that have been existing more than a decade with less than 10 people per meeting.

But I think it is time to try to do more.  I think we can do a better job.  I think the goal is to increase the knowledge of technologists about all the things they are interested in; and I’ve noticed that some of the most popular meeting topics are about “other things”.  For example, training on Ruby at the .Net meeting produces a large crowd; and training on IIS at the Java meeting produces a large crowd.  Why is that?  I believe it is because most developers recognize the need to have at least some knowledge of the tools they don’t regularly use.  By raising our own awareness of other tools and techniques, we are open to more possible ways to solve problems.  More importantly, after we have learned the basics and some pros and cons of a new tool or language, we are less intimidated by that tool or language and more open to consider using it in future projects.

What does this all mean for user groups?  I believe that we should continue to have the “Special Interest Groups” to focus on the arcane and specific features of the group’s named technology.  But I believe we need a general interest group that presents tools and technologies at a high-level (introductory level) that can be marketed to the entire community of developers in the metro.

How do we go about this?

  1. We need to find a venue to host these meetings.  My hope is that we can draw 50 to 200 people at each meeting.  Therefore, we would want a venue that can accommodate such a crowd.
  2. We need to identify topics of presentations that can be presented as introductory material to this large audience.
  3. We need to find good presenters that are enthusiastic about presenting and answering questions on these topics.  In addition, the      presents will probably, but not necessarily, need to create the presentation.
  4.  We need to get the word out to all IT people in the KC Metro about the event.  And I want to jump on my soap box here and say that the goal is not to get as many bodies as possible at the event; the goal is to make everyone in the KC Metro that might be interested in this topic aware of the opportunity to learn.
  5. We need coordinators to bring all these elements together at the same place and time.
  6. Optionally, we could obtain sponsors to help pay venue costs if any, and to provide food, drinks and prizes; but I don’t believe that food, drinks, or prizes are necessary to draw the crowd.
  1. Now I am not sure what venues can hold this many people.  I believe that JCCC could do it, and probably would be open to it; but their business needs usually come first.  Red Nova Labs and VML both seem to have large venues, but I don’t know if they are large enough.  Can you suggest other venues?
  2. The list of potential topics is long.  I will start a list with these items: TDD, Agile, Kanban, Starting in Ruby, Perl, JavaScript, Jquery, HTML5, CSS3, SQL, Unit tests, Inversion of Control, Asp.Net, MVC, MVVM, SQL Injection and XSS, Starting in .Net, Starting in Java.
  3. The list of good presenters is also long.  In fact, the current local user groups, those that I collectively refer to as Special Interest      Groups, could serve as the training grounds for finding presenters.  If you know someone that gave a great presentation at a local user group, then recommend that person and their presentation for the new general interest group.  Also we need to hear from presenters      about topics they would like to present.
  4. We already know several ways to get the word out.  www.KansasCityUsergroups.com, and www.kcitp.com and linkedIn.  We would, of course, set up a simple web site with info about the upcoming event.  We could contact all the local groups and have them announce the meeting.  We might also spread the word by creating a meetup for the event.  We could start a twitter hash tag as well.
  5. We need people to do these things.  I believe that if we can get 5 to 10 people behind this to do the work, it will be enough to make it happen and those 5 to 10 won’t get burned out.  Personally, I would like to be one of the marketers to spread the message about the upcoming meetings, and I hope Mike Gelphman would work with me.  I would leave it to others to find the venue, topic, and presenter.
  6. If a vendor reads this blog and wants to step forward, then please do so.  Of if you want to contact potential sponsors, please do so.  They are certainly welcome, especially if we incur venue costs that the sponsor will pay for.  But this is primarily about increasing the skill levels of our technologies and those making technology decisions, not about selling products.

The OWASP group has a pretty good speaker agreement that I believe we could copy for this group as well.  Perhaps a similar agreement from venue host and sponsor would be helpful. https://www.owasp.org/index.php/Speaker_Agreement

Who wants to see this happen?  Who wants to be a driver to make this happen?  Let’s make the software developers in the Kansas City metro the best in the world!

Posted in CodeProject, Coding, Project Management, Resources and Tools | Leave a Comment »