Search This Blog

Saturday, 24 September 2011

10 things you can do to boost PC performance

10 things you can do to boost PC performance
Takeaway: Does your PC performance need a kick in the pants? These simple steps will help speed things up.

There’s so much information out there about PC performance (especially on Windows machines), it’s difficult to be sure what’s right and what’s not so helpful. Here are 10 proven performance enhancements you can make to your computer, many of which are free.

1: Get rid of malware

New machines shouldn’t have malware on them. But one of the most common causes of the “my PC used to be fast, and now it isn’t!” complaint is actually the presence of malware. Malware can sneak onto a computer in a zillion different ways and quite often it sits in the background slowing your machine to as it sends out spam emails, searches for other computers to infect, works on cracking cryptography, or any number of the other nefarious tasks that hackers like to use their botnet slaves for. There’s a good chance that the malware brought even more friends with it (that’s often how you see computers with thousands of viruses on them not long after the initial infection), and the infection may be bad enough to justify a wipe and reload. My first step in investigating a slow system is usually a virus scan.

2: Upgrade to a better video card

For typical business productivity tasks, a video card probably isn’t an upgrade that will have a lot of value. But for gamers and other similar uses, a video card is a slam dunk upgrade. If your current card and motherboard support SLI or CrossFireX, adding a second card and bridging them will be a good option as well. In some scenarios, better video cards can be a huge benefit even without heavy onscreen video work, because certain applications can leverage the GPUs for calculations.

3: Get a faster drive

Many times, the real performance issue is the speed of disks. Look at numbers like the RPMs, cache size, seek speed, and transfer rate to buy a faster drive. Often, a good drive will seem slow because the computer’s power settings are allowing it to spin down. You may want to consider changing these settings to make sure that the disk is more likely to be ready to work when you need it to. While the SSD vs. hard disk debate is still continuing, SSDs usually seem to feel faster to users. Boot times are usually cut for sure. But something about an SSD makes a system feel more responsive or “snappy” to use, and for day-to-day work, that’s a great feeling.

4: Address hardware and driver issues

All too often, system slowness is actually a sign of hardware problems. For example, if your CPU isn’t being properly cooled, it will often have its speed reduced in an effort to keep it from overheating. Recoverable errors with disk access can kill your throughput while not showing up as a dead drive. And bad hardware drivers can often make the whole system slow, especially video drivers. Using utilities to check your CPU speed and various temperatures, scanning for hard drive errors, and updating your drivers is a good start to investigating performance problems. Often, problems caused by hardware or drivers are not just poor speeds, but system flakiness too.

5: Use a RAID

Using a RAID can dramatically lower the read and write speeds of your disks, depending upon the RAID level you choose. You will want to do some research to see what RAID level fits your needs the best. Personally, I am a fan of RAID 1, 6, and 10 because I feel that they offer appropriate levels of data protection along with a good measure of speed improvements.

6: Try a different browser

It’s no secret: Different browsers perform differently, and most people spend a lot of time in their Web browser. Benchmarks really muddy the browser speed conversation. Some browsers perform well on some but do badly on others, even when they are supposed to test the same thing. The problem with the benchmarks is that what they usually test is not real work performance! While JavaScript is an important part of the modern Web, few Web applications beat on the JavaScript engine hard enough to produce a noticeable impact on performance. That said, it’s been my experience that the Chrome browser is the fastest for actual work. If you want to have your Web browser feel more responsive and lively, consider a switch to Chrome.

7: Remove junk

It’s easy to have a computer get loaded up with junk that slows it down. The worst part is, we invitethis garbage into our lives by installing “helpful” utilities, toolbars, and other add-ons. I could easily write a list of 10 kinds of computer-stalling junk. Here are some of the things you’ll want to seek out and remove for best performance:
  • Automatic update systems for various applications (but be careful: some apps, like Flash, Acrobat, QuickTime, and Web browsers are prime malware targets and you will want to keep these up-to-date)
  • Things that run on startup
  • Windows services you don’t really need
  • Crapware from the PC maker
  • Toolbars
  • Browser plug-ins (the Skype browser plug-in is an especially bad offender, I’ve found)
  • P2P applications
  • Web servers and database servers that were installed by since-removed applications, but left behind

8: Add a faster DNS lookup server

Most ISPs love to brag about how much bandwidth they are giving you. But they don’t mind letting the rest of their infrastructure slowly get overwhelmed or deteriorate. Among the biggest offenders are the DNS servers our ISPs use. If you want to know why things seem to take forever to start loading, slow DNS servers are often the cause. Consider adding a fast DNS server as your primary DNS server in your TCP/IP settings. Google’s Public DNS server is a great option.

9: Defrag

Defragging your hard drives is a great way to get some more performance. While modern Windows systems automatically defrag on a regular basis, I’ve found that the Windows defragging is fairly unaggressive. We’ve reviewed a lot of different defrag apps here at TechRepublic. I suggest that you check out your alternatives and find one that does a better job for you.

10: Check network connectivity

Time and time again, “system slowness” actually is caused by networking issues. Our computers do so much on the Internet that slowness there can affect just about everything you do on a regular basis. While there isn’t enough space to write an exhausting troubleshooting list here, some of the things you should try (or investigate) are:
  • Replacing the network cables, switches, routers, WiFi access points, etc.
  • Calling the ISP and checking the distance from the CO (for DSL) or the local segment’s current load (for cable); the ISP may need to rewire or rework its connectivity. Satellite customers will want to double-check their dish installation and ensure that it is tightly locked down and pointed in the right direction.
  • Malware scanning on all PCs to see if malware is burdening the network
  • Inspecting the wiring of the phone lines (for DSL) or coax (cable customers) to look for loose connections, corrosion, or flaky wires
  • Cable customers will want to find out how many splitters are between the line from the pole and their modem. If it is more than one (and preferably only a two-way splitter), they should rewire so that they have only a single two-way splitter between the pole and the modem to ensure the cleanest signal possible.

Monday, 19 September 2011

The 20 most useful Android smartphone apps of 2011

The 20 most useful Android smartphone apps of 2011
Takeaway: Here is the list of the top 20 tried-and-true Android smartphone apps that are worth your time to download.
The Android Market may not have as many apps as the iPhone App Store yet, but there are still more than enough to be overwhelmed, and it continues to grow at a breakneck pace. To help you sort through them all, here is my latest list of the 20 most useful Android apps. I’ve also recently updated my list of the most useful iPhone apps and you’ll notice several of the same apps on both lists.
Remember that I primarily had business professionals in mind when making this list and also keep in mind that this is a snapshot in time. The Android platform is developing so quickly that I guarantee my home screen will look different a month from now.
Still, here’s my list of tried-and-true Android apps that I can highly recommend.
Useful Android Apps

1. Google Voice

Google Voice is a service that is so useful I consider it one of the top benefits of Android itself. The service gives you a phone number that can ring to multiple places or devices and it allows you to access all of your voicemail and text messages from the Web. The Android app integrates even deeper. It can make outgoing calls look like they’re coming from your Google Voice number so that you can keep your real mobile number private.

2. Advanced Task Killer

One of the realities of having a multitasking mobile OS is that you have to manage your apps so that they don’t hurt performance or battery life. Advanced Task Killer (ATK) is my favorite on Android. It even comes with a widget that you can tap once to kill all open apps and you can also set up ATK to kill all apps at periodic intervals. Some people will argue that task managers are irrelevant and unneeded in Android, but I still prefer to use ATK.

3. Dropbox

Dropbox is a great cloud service that automatically syncs a folder of files between multiple computers (Windows, Mac, or Linux). This app extends Dropbox to Android and interacts with other apps (such as Documents To Go) to open the files. It allows you to access PDFs, image files, and business documents by simply dragging them to a folder on your computer and then you immediately have access to them from your mobile phone, once you have this app installed.

4. Evernote

Once you get used to typing on a virtual keyboard (and it honestly took me over a year to do it), then these devices are great for note-taking, and Evernote is a great note-taking app. It is similar to Dropbox in that it saves data locally but syncs it across all your machines and devices.

5. Taskos

There are plenty of to-do apps to choose from on Android but I now prefer Taskos because of the clean, easy, Android-friendly user experience. It also has a few extras that give it an advantage over apps. The biggest one is voice recognition, which lets you speak a task that the app turns into a to-do item (you might have to correct a word or two).

6. DroidAnalytics

For some reason Google doesn’t have an official app for Google Analytics (for either Android or iPhone). The best one I’ve found on Android is DroidAnalytics. Another good one is mAnalytics.

7. Documents To Go

The free version of Documents To Go offers a great little reader for Microsof Word and Excel files. You can upgrade to the full version (for $15) if you want to be able to create and edit files and add PowerPoint files to the mix. If you do want editing capability, I’d also recommend taking a look atQuickOffice.

8. Google Docs

If you mostly work with Google Docs (including uploading Microsoft Office files to your Google Docs repository) then the only app you’ll really need is the Google Docs app. It’s a nice mobile implementation of document management, although the one annoyance is that always open up files in a web browser rather than within the app itself, which would be a little smoother.

9. Tripit

I dig Tripit. It is by far the best app I’ve found for keeping track of all my travel itineraries. It runs on some great backend systems. You simply forward your confirmation emails for your flights, hotels, rental cars, and more to Tripit and it automatically organizes them into trips with all your details and confirmation numbers. Or, if you use Gmail, you can even use a plugin to automatically catch confirmation emails and turn them into Tripit trips.

10. Places

This is an awesome app for finding shops and services near your current location. From restaurants to medical facilities to taxis, this app is very accurate and takes advantage of the business information from Google Local. This app is better than the info you get from a GPS unit (or app) and better than any of the similar apps available on the iPhone. It’s also integrated into Google Maps.

11. Astro File Manager

Another one of the great things about Android (if you’re a geek or a tinkerer) is that you have lower-level access to the system itself. Astro is an app that lets you navigate the Android file system, which is mostly just interesting, but can be handy once in a while.

12. Speed Test

I’m obsessed with running speed tests to check my bandwidth in various places, both to see 3G/4G fluctuations and to check the quality of Wi-Fi. There are a number of really good speed test apps, but my favorite is the app. It’s generally consistent and it has some of the best graphics and options.

13. Amazon Kindle

I’ve never completely warmed up to the Amazon Kindle e-reader, but I’m a big fan of the Kindle mobile app. Since it was released I’ve read a lot more books simply because my smartphone is always with me and I can pull it out and read a few pages anytime I’ve got a couple minutes free.

14. Google+

I’ve written a lot about Google+ since it launched in July and I’m pretty active over there (+Jason Hiner). One of the great things that Google did was to release a Google+ Android app at the same time it launched the service as a beta. And, surprisingly, the app was actually pretty good and has been improved since. It immediately became one of my most used mobile apps and definitely stole some of my time away from Android’s Twitter app, mostly because Google+ is a little more interactive.

15. TED Air

The TED conference features a meeting of the minds of some of society’s most influential thinkers. You’ll disagree with some of them since there’s a large diversity of viewpoints, but many talks are worth listening to in order to catch the latest creative thinking on society’s biggest challenges. The cool thing is that they’ve taken the videos from the conference and made them freely available on the Web. The TED Air app provides a great way to access the videos on a mobile device. I hope more conferences follow TED’s lead on this.

16. Google Goggles

This is a fun app that is a little bit ahead of its time. It does visual searches. You can take pictures of things and then the app tries to tell you what they are. It’s limited in its scope but it is pretty cool, and it’s definitely a peek into the future. One of the coolest features is the ability to take pictures of text in a foreign language and let the app translate it for you. In a foreign country, this can help you read street signs and avoid going into the wrong bathroom. :-) On a more practical level, Goggles is a QR code reader.

17. Photoshop Express

Photoshop is, of course, the best known photo editor in the world and its mobile app doesn’t do anything to hurt that reputation. But while the desktop version is known for having a zillion features, the mobile app is distinguished by its simplicity. It’s the best Android (and iPhone) photo editing app for simple crops, brightness adjustments, and sharpens, for example.

18. Audible

As much as I like the Kindle ebooks, I actually consume more books as audiobooks via Audible. With the Audible app you can connect to your Audible library and download over the air. The app also gives you a self-contained player optimized for audiobooks, with a skip-back-30-seconds button and the opportunity to make notes and bookmarks (although I wish the app would store these online so that they could be accessed from the Audible site).

19. Shazam

If you want to impress your friends with a mobile app, show them Shazam. Ever hear a song being played at a store or on the radio and ask yourself, “Oh, what song is that?” That’s where Shazam comes in. Just hit the button and let it listen for 15 seconds, query its database, and then return the name of artist and the song. It has about an 80% success rate. This one isn’t particularly productive, but it is really cool. (You have to live a little, every once in a while.)

20. Google Finance

This is a great little app that regularly gets overlooked. It connects to your Google Finance account, where you can set up a list of stocks and companies to follow and sort them into groups (portfolios). The app provides three simple tabs — a look at the market, a look at your portfolios, and the latest market news. It even does real-time updates when you have the app open.

Friday, 16 September 2011

10 things you may be asked during a developer interview (and how to handle them)

10 things you may be asked during a developer interview (and how to handle them)
Takeaway: These tips will help you clear some of the most common interview hurdles when you’re trying to land a developer job.
Many software developers I have talked to absolutely dread job interviews. And I have seen job candidates absolutely flub a number of questions. Some are standard interview questions, but a developer will still need to answer them in a way that relates them to the job. Other questions are specific to the software development industry. Here are 10 job interview questions that come up in development interviews, with tips on how to address them.

1: Tell us about your current position

Employers want to know about what you are currently doing a lot more than they want to know about prior positions. The reason for this is simple: The world of software development moves so fast that what you did two or more years ago is interesting for background but probably has little bearing on their current work. When asking this question, the interviewer is trying to relate what you currently do to the position the company is offering, and you will want to answer with that in mind. For example, if the position you are applying for involves a lot of database programming, emphasize where in your current job you have worked with databases.

2: Programming challenges

Many employers will present you with some sort of programming challenge. These range from being asked to sketch out a piece of pseudo code that implements some business logic or being handed a piece of code and told to find the bugs to being put down in front of a computer and asked to code away. What they are usually looking for is not just a certain level of competency — they also want to see how you go about solving the problem. You can offer to narrate your thought process as you solve the problem. If they take you up on it, that will help them to learn what they are looking for. Or perhaps when you are done, you could walk the interviewer through how you solved it.

3: Do you have any examples of your work?

Employers love to be able to look at real-world examples of your work. Unfortunately, this is rarely possible. The truth is, in most circumstances, your work is the property of your employer and you can’t be taking it outside of the building without permission. And it would be unusual to have a boss say, “Sure, go grab a couple of your best apps from source control to take on the job interview!” Instead of being unable to provide any samples, contribute to an open source project or work on an application at home that is sophisticated enough to let your skills shine. Then you will have something that you can show the interviewer and also be able to demonstrate an ability to work on your own and manage your own time, too. These side projects can often serve as a great talking point in the interview.

4: Brainteasers

Apart from asking you to demonstrate some programming abilities in the interview, some employers may give you a variety of brainteasers. Some people are really good programmers and stink at these, but the idea is to test your overall problem-solving skills. Luckily, you can prepare for these a little bit by picking up a few brainteaser books (usually only a dollar or two) at a book store or supermarket and doing a few every day. Most of these brainteasers follow a similar format, so by practicing, you will understand how to approach the most common types. There are also a few standard ones that come up on a regular basis, such as the one where you need to get a group of people across a river with a boat of limited capacity.

5: Do you have a security clearance?

Depending upon the job, a security clearance may be required. Employers prefer hiring people with one already because it simplifies things. It would be a big hassle to hire someone and then discover that they can’t get the needed clearance to do the job. If you have a clearance, make sure that it is up to date. It’s also a good item to list on a resume.
If you do not have a security clearance, ask before you come in for the interview about any security requirements for the job and research whether you are eligible for any security clearances needed. This way, when asked, you can answer with something like, “No, I do not have that clearance, but I have looked into it and I can obtain one if needed.”

6: Background check and criminal history information

Information about criminal history and other background check items typically will not come up in an interview with a hiring manager, but they will often come up in an interview with HR or a recruiter (especially the recruiters). They do not want details, for the most part, but they want to know whether it will be a waste of time interviewing you. Obviously, it is great to have a squeaky clean record, but there are plenty of good job candidates who don’t. You will need to be honest here, because things show up on the background check anyway. If what you say does not match the check, they will feel that you lied to them. At the same time, limit your sharing to the minimum. You can start with something like, “I have a misdemeanor conviction from three years ago” and take it from there.

7: What is your experience level with XYZ?

When interviewers ask about your experience level with a technology, they really want to get a feel for what you have been doing with it, not how long you have been doing it. For example, if they are asking about SQL, is it important to them that you have been writing statements no more complex than, “SELECT id, name, city FROM people WHERE state = ‘NY’” for 10 years? Not really. Performing complex data transformations, correlated subqueries, etc., for six months will be much more impressive. When talking about your experience level, emphasize the kinds of challenges you solved with those technologies and the unique aspects of the technologies you used to solve the problems.

8: What’s the hardest challenge you have had to overcome — and how did you approach it?

This is a stock interview question, but it has some special pitfalls for the programmer. One of the failures I’ve seen in interviews is that candidates do not properly set the context of their answer. I have faced some challenges that at that point in my career were difficult but that later on were trivial. If I brought them up in an interview without explaining my experience level when they arose, it would put me in a bad light. The interviewer would be thinking, “Why would someone with his experience struggle with this?” So when you answer, give a short (one sentence) scene setup. Also, put your focus on the problem-solving steps you took, not the technical details. No one really cares if the problem turned out to be that the variable was one character shorter than the data going into it; they want to know how you did the research to discover it.

9: Describe your programming habits

There are a number of variations on this question, some of which just ask about things such as:
  • Source control
  • Testing
  • Variable/file/class/whatever naming
  • Application architecture decisions
Some things we do by habit are not flattering when we answer these questions, but it is because of circumstances outside of your control. For example, if your current employer does not have a source control system, do not say, “I do not use source control” because it makes you look awful! Instead, an answer such as, “My current employer does not have a source control system, but I have used TFS at a previous employer, and I use Mercurial at home for personal projects” will be much better.
Other times, we simply have bad habits; in those cases, it is better to recognize them and show that you are trying to change them. You could say something like, “I tend to not write as many unit tests as I should, but I have been working hard to ensure greater code coverage.” Of course, don’t lie about this. But employers like to find people with enough self-awareness to see and correct their flaws, and the honesty to be able to discuss them.

10: Tell us a little bit about yourself

Often, job candidates go way off the deep end on this question, talking about things they do not need to be discussing in a job interview, personal stories and relationships, and so on. Or worse, they bring up things that present them in an unflattering light. What the interviewer is really looking to learn is how your personality relates to the job of software development. For example, if you enjoy restoring antique furniture, you could point out that it requires a lot of patience, eye for detail, research, and so on. Of course, you will want to talk about your personality traits as well. Unusual experiences or education can be brought up here, too. What you definitely do not want to do is talk too long. Try to make it a back-and-forth conversation, but if it isn’t, limit your time to a few minutes and don’t trip all over yourself trying to cram in every last detail.
Related Posts Plugin for WordPress, Blogger...