Friday, 21 February 2014

Google Launches Project Tango

Google have today announced an experimental Android-powered smartphone with powerful 3D sensors called Project Tango. The phone is the latest project out of Google's Advanced Technology and Projects (ATAP) group.

"The goal of Project Tango is to give mobile devices a human-scale understanding of space and motion," Johnny Lee, ATAP's technical program lead, wrote in a Google+ post announcing the project.

The 5-inch phone will run Android and be equipped a series of 3D sensors capable of taking more than a quarter of a million measurements each second. Google envisions these sensors will have a number of applications from gaming to indoor navigation.

The phone is still in early stages of development, and the first prototypes will only be available to a limited group of developers. The first 200 prototypes, which Google expects to be distributed by mid-March, will go to a group of developers hand-picked by Google.

Google says many of those first devices will go to companies focusing on creating gaming, data processing and navigation and mapping application, but some units have been set aside for "applications we haven't thought it yet," Google said. Interested developers can sign up on Project Tango's website for a chance at getting one of the early prototypes.

Project Tango, though experimental, will likely play a big role in the upcoming Google I/O Developer Conference, which will take places from June 25 to 26.

Thursday, 20 February 2014

Why do object oriented principles matter, anyway?

Last week I was chatting with a friend who was asking me about object oriented programming. He asked me a pointed question that I thought deserved a broad and public answer. His question? "Why do these object oriented principles matter, anyway?"

It's a good question. You probably came to PHP writing procedural code, never caring about object oriented development. And maybe you've heard that object oriented development is the way of the future, but for now you haven't seen much of a need for it. You wonder, why does it matter?

There are three reasons you should care about understanding and mastering object oriented programming.

Object oriented programming is about reuse.
Writing object oriented applications is about being able to reuse code that you've written elsewhere.

For example, if you've developed a great database API, you may want to take that along to other applications. Rather than starting from first principles, this object gives you a starting point that you can use in other applications.

Reusing code reduces the time it takes to write new code. Period.

Frameworks are impossible without object oriented development.
Imagine Zend Framework or Laravel without the object oriented model. Would it be possible to create these frameworks with straight procedural code? WordPress has tried; diving into that code base is a sure way to end the day with a headache.

Simply put, the patterns and practices used in modern frameworks rely upon and require understanding object oriented principles. It's difficult if not impossible to work effectively within these frameworks without understanding these concepts.

PHP isn't the only language you'll ever use.
For most of us, we use PHP regularly, but it's far from the only langauge we'll ever use. In fact, most of us will work with Javascript, Python and maybe even some Ruby at some point or another. Those three languages I listed are all 100% object oriented.

PHP allows us to work with procedural code, but in the scheme of modern languages this is an exception, not a rule. You can write procedural code with Python or Javascript, but it's incredibly difficult. And since everything in Python and Javascript is an object, well, you're doing object oriented programming whether you want to or not.

Microsoft Launches OneDrive — Basically the Same as SkyDrive, but With 100GB Free if You Hurry

There’s not much in the way of surprises for today’s announcement by Microsoft of the general availability of its cloud storage service OneDrive.

The new name had already been previewed, and the product is largely the same as its predecessor, SkyDrive. New features include auto uploads from Android, adaptive personal video streaming a la Netflix and better document collaboration tools that don’t require a Microsoft account.

But as with SkyDrive, the main advantages of storing your stuff with Microsoft is that it should work well with Microsoft Office (unlike Dropbox) and that it’s not wedded to a company that also controls the dominant mobile platform, so it has more platform independence (unlike Google Drive). Also, OneDrive doesn’t do dumb things like store new photos for only 30 days (unlike Apple’s iCloud).

Other than that, the big advantage of OneDrive over SkyDrive is that the first 100,000 people to sign up get 100 gigabytes free for one year.

That’s just one of many possible freebies and tie-ins. Starting with a free base of 7GB, Microsoft will also give 3GB to users who connect their camera rolls, 500MB for users who refer their friends, 200GB for two years for Surface buyers and 100GB for Office 365 users. Additional storage costs 50 cents per gig per month.

Despite competition, there still seems to be plenty of room to grow in the cloud. For the OneDrive launch, Microsoft commissioned a study from Harris that found that 77 percent of people who have heard of cloud storage say they still have important files stored only on one device.

Microsoft said it planned to share details about OneDrive for Business at its SharePoint conference on March 3.

Tuesday, 18 February 2014

5 Ways to Learn SEO

For most websites, natural search is the most effective free digital marketing channel. Except for the human resources, platform costs, and other mostly hidden costs required to plan and implement search engine optimization, it is free.
As a result, I'm often asked for the best free ways to learn how to become an expert in SEO. The following are my five free go-to tips for learning SEO.
  • Moz.com’s Beginner’s Guide to SEO. The friendly folks at Moz (formerly known as SEOmoz) have developed this free beginner's guide to teach anyone willing to read through it. With helpful illustrations and cross-linked concepts, this guide is well done and worth reading. If reading on your computer screen isn't for you, download the free PDF version to print or take with you on your tablet.
  • Books. The public library system is still a great way to get an informal and free education. Check out one of the many SEO books in paper form, or look for a digital version to read on your e-reader. Because SEO changes quickly, books published more than a year or two ago may recommend tactics that are no longer considered ethical, especially in the link building space. For instance, optimizing press releases was once a valuable SEO tactic but has been devalued now due to abuse by some sites. Try these for trusted SEO education.
    • The Art of SEO, by Eric Enge, Stephen Spencer, Rand Fishkin, and Jessica Stricchiolia.
    • Optimize: How to Attract and Engage More Customers by Integrating SEO, Social Media, and Content Marketing, by Lee Odden.
    • SMX West Expo+ Pass. SMX West is an annual convention held in San Jose, Calif. focusing on search marketing. All-access passes run $1,695 for early registrants, with another $100 tacked on for on-site registration. But SMX is offering a free Expo+ Pass that gives access on the first two days (March 11 to 12, 2014) to the show’s keynotes, theater presentations, and meet the vendors participating. It is also including special "Plus" sessions, which feature case studies and best practices from well-known solutions providers like Stone Temple, Covario, and Google. Register before March 10 to get a free pass. Expo+ passes are $50 at the door and online after March 10.
    • Read the experts. SEO Industry blogs are full of recommendations, case studies and tips for improving SEO. Many also include SEM, content marketing, and other disciplines closely related to SEO and search marketing. The challenge is that they’re not organized in such a way that you can learn SEO by reading them. But remember that anyone can publish anything on the Internet, including inaccurate or unethical advice on SEO. Stick with the major sites who work with trusted industry experts to ensure that the advice received will indeed benefit your site instead of hurting it. Stick with the trusted resources and compare advice from other sites that seems questionable to what you read on these.
    • Start a blog. The key to learning SEO is practice. Reading all the books ever published won’t help you understand how to manage SEO in real life. But you might not want to practice on your ecommerce site at first. A blog or other practice site can help you tune your SEO skills without risking your ecommerce site’s performance. Blog about anything you’re interest in. Research keywords and practice targeting those phrases in your pages. Reach out to others interested in the same thing and practice networking and earning links. In time, you may even develop a new revenue source built from the ground up with SEO in mind.
    Free resources still involve investment. In the same way that SEO is free, free SEO education is only free until you factor in the cost of your time. Learning SEO is an investment in yourself and your site. Depending on how important SEO is to you or your business, you may want to consider investing more for a larger and faster performance increase.
    One of the best ways to learn more about SEO is to engage a reputable search-marketing agency to work on your site. Read more at “10 Tips to Hire a Great SEO Agency.” As it develops a strategy with you to improve your SEO, insist on understanding each element and why it’s important. You’re paying for the agency’s knowledge, it’s only fair that some of it should rub off on you.
    Attending classes in person can also speed up the learning curve. When you’re face to face with an instructor, you can ask questions, see their gestures, and examine their whiteboarding. These elements are lost in the free learning options and with online education.

Wednesday, 4 December 2013

Your number one job

Pop quiz time. You're a software developer. You probably have a job. What is your most important job as a developer?

Time's up! What did you say?

If you said "to get another, better job" you're right! If you didn't, well, let's talk about this a little bit.

Most people think their job search ends when they accept a new position. That's not at all true, though. After all, there are tons of things that can go wrong with the role you have (or just accepted): bankruptcy of the company, you hating the role you're in, discovering that the work isn't what you love, and more.

In fact, you should be looking for your next role from the day you start a new job until the day you leave!

Your skills as a developer mean that you are a valuable commodity. Even if your current company doesn't recognize your value, somebody in the market will.

Of course, all of us want to attain the best job, the one that we fall in love with and never want to leave. We want to be the "cream of the crop", at the top of our field. The competitiveness of the developer talent market goes into high gear for  the top 10% of the developer population. So how do you get into this group?

There are two routes you can take to move up into the top 10% of developers. The first is the experience route, which means working for years and years until you finally gain enough experience to reach the upper echelons of development skill.

The other route is the knowledge route, where you focus on gaining as much knowledge as possible so that when you are faced with hard challenges and difficult problems, you can step into the role and solve those problems with ease.

Security Matters

Recently, somebody asked me to take a look at a product they had, and give them some information on what I could do to improve it. Their product was a simple survey tool, focused on gathering data from users they invited or that had paid to use the tool. It seemed straightforward enough. Sure, I had a few concerns: the site had been outsourced, and this person wasn't a technical individual, but I figured I could take a look.

What I found was pretty shocking.

Passwords stored in plain text. No SSL encryption for logins or credit card data. A complete and total lack of any kind of password policy. And this was before I even got into the code.

Too often, it's easy to forget about security considerations when we're working on building something for a client. Security is one of those things that it seems people learn once and then assume they know, like riding a bicycle. But it's not. Security is an ongoing learning process.

When was the last time you stepped out and took a look at the OWASP Top Ten? It changes every year and is worth a look. How about examined security policies in your own app? Checked to make sure your password storage algorithms are up to par? Verified that you're using the latest and greatest version of PHP with all the security fixes? Updated that legacy site to use PDO instead of MySQL_*?

You might think security doesn't impact you, or that once you're done working for a client that the security of a particular application doesn't matter. It does! Clients can and will come after you for security vulnerabilities if they get hacked. And security vulnerabilities can be expensive: just one set of stolen credit cards can ruin a company's reputation and financial bottom line.

Wednesday, 6 November 2013

11 signs you have been hacked

In today's threatscape, antivirus software provides little piece of mind. In fact, antimalware scanners on the whole are horrifically inaccurate, especially with exploits less than 24 hours old. After all, malicious hackers and malware can change their tactics at will. Swap a few bytes around, and a previously recognized malware program becomes unrecognizable.
Sure sign of system compromise No. 1: Fake antivirus messages
In slight decline these days, fake antivirus warning messages are among the surest signs that your system has been compromised. What most people don't realize is that by the time they see the fake antivirus warning, the damage has been done. Clicking No or Cancel to stop the fake virus scan is too little, too late. The malicious software has already made use of unpatched software, often the Java Runtime Environment or an Adobe product, to completely exploit your system.
Sure sign of system compromise No. 2: Unwanted browser toolbars
This is probably the second most common sign of exploitation: Your browser has multiple new toolbars with names that seem to indicate the toolbar is supposed to help you. Unless you recognize the toolbar as coming from a very well-known vendor, it's time to dump the bogus toolbar.
Sure sign of system compromise No. 3: Redirected Internet searches
Many hackers make their living by redirecting your browser somewhere other than you want to go. The hacker gets paid by getting your clicks to appear on someone else's website, often those who don't know that the clicks to their site are from malicious redirection.
Sure sign of system compromise No. 4: Frequent random popups
This popular sign that you've been hacked is also one of the more annoying ones. When you're getting random browser pop-ups from websites that don't normally generate them, your system has been compromised. I'm constantly amazed about which websites, legitimate and otherwise, can bypass your browser's anti-pop-up mechanisms. It's like battling email spam, but worse.
Sure sign of system compromise No. 5: Your friends receive fake emails from your email account
This is the one scenario where you might be OK. It's fairly common for our email friends to receive malicious emails from us. A decade ago, when email attachment viruses were all the rage, it was very common for malware programs to survey your email address book and send malicious emails to everyone in it.
Sure sign of system compromise No. 6: Your online passwords suddenly change
If one or more of your online passwords suddenly change, you've more than likely been hacked -- or at least that online service has been hacked. In this particular scenario, usually what has happened is that the victim responded to an authentic-looking phish email that purportedly claimed to be from the service that ends up with the changed password. The bad guy collects the logon information, logs on, changes the password (and other information to complicate recovery), and uses the service to steal money from the victim or the victim's acquaintances (while pretending to be the victim).
Sure sign of system compromise No. 7: Unexpected software installs
Unwanted and unexpected software installs are a big sign that your computer system has likely been hacked.
Sure sign of system compromise No. 8: Your mouse moves between programs and makes correct selections
If your mouse pointer moves itself while making selections that work, you've definitely been hacked. Mouse pointers often move randomly, usually due to hardware problems. But if the movements involve making the correct choices to run particular programs, malicious humans are somewhere involved.
Sure sign of system compromise No. 9: Your antimalware software, Task Manager, or Registry Editor is disabled and can't be restarted
This is a huge sign of malicious compromise. If you notice that your antimalware software is disabled and you didn't do it, you're probably exploited -- especially if you try to start Task Manager or Registry Editor and they won't start, start and disappear, or start in a reduced state. This is very common for malware to do.
Sure sign of system compromise No. 10: Your bank account is missing money
I mean lots of money. Online bad guys don't usually steal a little money. They like to transfer everything or nearly everything, often to a foreign exchange or bank. Usually it begins by your computer being compromised or from you responding to a fake phish from your bank. In any case, the bad guys log on to your bank, change your contact information, and transfer large sums of money to themselves.
Sure sign of system compromise No. 11: You get calls from stores about nonpayment of shipped goods
In this case, hackers have compromised one of your accounts, made a purchase, and had it shipped to someplace other than your house. Oftentimes, the bad guys will order tons of merchandise at the same time, making each business entity think you have enough funds at the beginning, but as each transaction finally pushes through you end up with insufficient funds.
Source: www.infoworld.com/print/229782

The road to CAIO

The Engineer Who Stops Owning Only the Code For much of a software engineer’s career, progression appears straightforward. Junior Develope...