Archive for the ‘Technology’ Category

How not to ask for computer help

January 3, 2011 Leave a comment

I’m sure I’m not the only one who has gone to sleep with their computer working fine and woke up to find that the computer has rebooted to a black screen and no amount of reboots will change that.  Most of the time you’re left thinking “wtf?” and probably ready to launch your computer across the room because well……it makes no damn sense. 

I’m pretty much the only one of my friends or family who has gone to school for computers so whenever someone has a computer issue they call me and it generally goes like this:

Me: “Why are you calling me at 6am?”
Them: “My computer is broke/f’d up”
Me: “What’s it doing?”
Them: “nothing, what should I do?”

At this point it’s kind of obvious what they should do, give me a damn hint as to what nothing entails.  Is the computer not getting power? If so, it could be the obvious, not plugged in or not turned on or it could be the power supply.  Describing the issue by just saying “nothing” could get you throttled if you interrupted my sleep  just to give me some half assed explanation. 

I understand most people probably aren’t going to be able to go into the technical details of a computer problem which is fine, but at least try to paint a picture for the person you’re asking. Tell the person “the lights are on, but it just goes to a black screen” or whatever the problem is, try to be as specific as possible.  Another thing, if you call the person for help and the first thing they try does not work, don’t get all pissed off.  If it was easy to fix computers you wouldn’t have called for help.  This goes both ways, if you’re the person trying to help, don’t spout off a bunch of commands real fast or talk in all tech jargon and then get irritated that the person is having a hard time following along.

Another thing I seem to run into a lot with my friends, they want my help but as soon as I start saying something they interrupt with “oh I tried that and it won’t work”.  Oh really?  So you didn’t ever hear of an IP Address until I mentioned it, but you knew to run IPConfig from the command prompt (“oh you didn’t know how to get to a command prompt?”).  If the person is asking you to do something, even if you did try it, maybe there is something they need that you didn’t know to look for or realize was important, it’s a process please let us try what has worked for us!  If you did attempt to fix the problem yourself, feel free to let us know ahead of time, it could save everyone time or the results could point to something that may have been overlooked. 

Please don’t leave things out, it may not seem important to you, but it could be the exact reason/cause for the issues.  I personally run into this whenever a friend or family member has a virus/spyware/malware.  Out of the box, computer probably aren’t going to go out on their own while you’re away and download a bunch of nasty stuff (microsoft updates being the exception).  If you were on a website and all of a sudden all kinds of stuff started happening, good chance that is the reason despite your protests.  I don’t care if you were looking at porn or whatever, just tell me you were on a website when it happened so I don’t have to possibly waste my time trying a bunch of other things. 

Lastly, if all signs point to a virus, don’t argue that your out of date antivirus software would’ve stopped it.  There is a reason why virus companies frequently release updates, there are constantly new virus’ and other nasty things being released. If you’re not up to date then you’re not protected.  Also, while your virus scan runs, I don’t want to stay on the phone the entire time, it’s automated just let it do it’s thing, I don’t need to sit there on the for 40+ minutes getting play by play because chances are, unless you have the dumbest virus in the world, it’s going to take a bit of time before it finds anything, at which point feel free to call back!


Data Scraping, A Fine Line…

January 3, 2011 Leave a comment

If anyone has ever browsed the programming section of any freelance site, chances are you’ve seen people/companies looking for someone to grab data from another website.  A quick note here, I’m calling it data scraping, it has a few names (web scraping, screen scraping, etc).  In the end it’s usually the same thing.  Data scraping usually involves writing some code that will go out to a specified website/websites and pull out specific data and write it somewhere else.  It’s usually a database or possibly a text file or csv file or really anything.  The whole process revolves around being able to find patterns in the code of the website.  If you’re bored, go to a website, view source, and look for a pattern in the code.  Tables, specifically, are a scrapers best friend.  Generally you’d want to grab the info inside the table which could look like: <td>info you want</td><td>more info you want</td>.  There’s your pattern (the <td></td>’s) now you just tell your scraper to grab what you want from between the tags.

I first heard about it around 7 years ago at my old job when I was asked to do it.  The very first question I asked was if it was legal, I never got a definitive answer but I did it because I had just started at the company and didn’t want to make a big deal about it.  I did think it seemed shady, but I eventually found out through my own research that what I was specifically doing was not technically illegal. 

The information I was scraping was considered historical fact, therefore nobody owns information itself, it is what it is.  An example of something that may fall into the category of “legally scrapable” would be scraping zip codes.  Although there are a few other things you may need to consider such as the websites’  T.O.S.  which forbid it (the data itself would be fine, but you could be considered as trespassing on the websites server). 

Websites do have ways to combat this,  but as anyone who owns a computer knows, as soon as someone has figured out a way to fix a problem, someone else has figured out a way around that fix.  An example could be a website blocking an IP address temporarily or permanently that they notice is reading way too many websites in too short a period of time.  Basically it’s not acting as a human would.  To get around that, a person may have their scraper run through a proxy server or multiple proxy servers to constantly change up the ip address that the website is seeing.  That is a broad example as there are more sophisticated ways to protect against it, and to get around those sophisticated ways.

Why do people/companies even bother doing it if there’s a chance it could be illegal?  Saves money and time.  Instead of having someone or a group of people go out and manually enter this stuff into a database or wherever you want it, why not have a computer do it for you in a fraction of the time and with guaranteed accuracy as long as the code is good.  In that case, the company didn’t have to pay the salary for a data entry person or didn’t have to have an existing employee take time out to do it instead of working on something else. 

In the end (thankfully!), if you’re considering creating a scraper for a customer or company, I’d recommend doing your research to make sure you’re not violating the websites T.O.S or any laws.  If you’re being asked to scrape original content, meaning content that is not fact but someones opinion or ideas, there’s a good chance you’re violating something and should probably stay clear of that project.  Also, if you realize that you’re constantly having to find ways around a websites security, like using a bunch of different proxies, chances are they don’t want you scraping their site or your scraper is looking like a denial of service attack.  In the end, just be smart and do your research so you don’t get yourself or your employer into any type of trouble.

If you’re new to programming or data scraping a good site to check out would be:  If you’re going to scrape you will definitely want familiarize yourself with regular expressions!