Sunday, 31 May 2015

7 things Google is doing to please developers


At its I/O keynote, Google did its best to get developers excited about building apps for Android with new tools and money-making schemes. But Google is also expanding support for developers who'd rather create iOS apps.

Google hasn't always been the best partner a developer could have, but this year's I/O conference is showing how that's changing with better developer tools and services. Here are some of the most important ones announced by the company during the opening keynote.

Android Studio gets C/C++ support

Google launched a preview of Android Studio version 1.3, which includes some useful features. The most notable addition to the IDE is code editing and debugging for C and C++. This means Java and C/C++ code support is integrated into one environment free of charge for Android app developers, letting them choose between the two languages. The implementation is based on the JetBrains Clion platform, and the Google NDK (native development kit) plugin provides features such as error correction and code completion. Version 1.3 also offers faster build speeds and a new memory profile.

Polymer 1.0 released to help create web apps

An important part of Google's current developer strategy is to make it easier for developers to build better Web apps, and the release of version 1.0 of the Polymer library is meant to do that. Polymer is made up of elements that can be used by developers to add features such as tool bars, offline caching and menus, and services such as Google Maps. Chrome 36 is the first browser to include all of the platform features Polymer depends on natively, but the library is also meant to work with the most recent versions of Safari, Internet Explorer, and Firefox. Developers that want use library can head over to the Polymer Catalog, which includes over 80 elements. There is also a guide for how to use them.

Faster app testing with Cloud Test Lab

During the keynote Google made an effort to make the wide variety of Android-based devices out there seem like an advantage. But for developers it makes testing apps really challenging. To help, Google announced Cloud Test Lab, which will automate testing. Apps are uploaded to the service and tested against the top 20 Android-based devices from around the world. Developers get a free report that includes screen videos and crash logs. The service will be added to the Play Developer Console before the end of August. It's based on technology from Google's acquisition of Appurify.

Better marketing with Universal App Campaigns

The announcements at I/O were meant to help developers make more money once they're done building an app, as well. With Universal App Campaigns, Google is aiming to make it easier to market apps across search, AdMob, Youtube and using a new type of search ads the company is piloting in Google Play. The developer decides the budget, and Google sets up an automated campaign. The feature will become available in the Play Developer Console and on AdWords in a few months.

Experiment with Play store listings to attract more users

Google is bringing A/B testing to Play store app listings, to help developers compare different graphical and text presentations of their apps and see which one drives the most downloads. Related to this change is the ability to see how many users are looking at a listing and making purchases in the Play Developer Console, in addition to the number of installs. Developers that have multiple apps can now create a Play home page, where they can explain what their company is about and pick a special app to feature.

Expanded support for iOS

One thing Google came back to on several occasions was expanded support for Apple's iOS. Developers can now access the tools it offers for the OS via CocoaPods, which has become the official distribution channel for Google SDKs on iOS. Using CocoaPods simplifies the process of importing libraries and frameworks into Apple's XCode IDE, according to Google. Other announcements included the indexing of iOS apps so they can show up in search results, support for the Cloud Messaging service and compatibility with the Google Cardboard SDK.

Google may not be as wedded to the idea of offering cross-platform support as Microsoft, but the company is moving more in that direction. With the success of the iPhone 6, Apple has been gaining smartphone market share and is therefore becoming even more important for Google.

Learn to code for Android from the ground up

Google is hoping to attract more people that can build applications for its operating system. The company has worked with Udacity to put together an Android Nanodegree. The curriculum covers everything from fundamentals to advanced development skills, as well as Google Play services and Material Design. Participants should have at least one year of experience in Java or another object-oriented programming language before enrolling. The course costs US$200 per month and takes 9 to 12 months to complete assuming a minimum workload of 10 hours per week.




6 Common Mistakes That Can Get You Fired


You probably know that posting derogatory comments about your company or teammates on social media can get you fired. But under the terms of at-will employment, even a small oversight such as failing to keep your boss in the loop can result in an unplanned trip to the unemployment line.
For example, did you know that Apple CEO Tim Cook fired an executive for changing the schedules of Apple Store employees and “not fitting in with the company’s culture”?
With that as a backdrop, here are six surprisingly common mistakes that can get you fired:

Thinking Too Far Outside the Box

Software engineers and business analysts are supposed to be innovative problem-solvers, right? Actually, it depends. Peppering your boss with disruptive or far-out ideas can lead to dismissal.
Know your boundaries,” advised Samantha Hurwitz, author and chief encouragement officer for Flipskills, a leadership-coaching firm based in Toronto. “Don’t suggest ideas that are too creative or risky if your boss is looking for incremental change… Otherwise, he may think that you don’t understand the organization’s goals or that you’re too much of a risk-taker.”
Lesson: Think outside the box—but stay aware of the box’s edges.

Throwing Your Teammates Under the Bus

Your pet project came in way over budget but it wasn’t your fault. Your instinct for self-preservation kicks in as you rush into your boss’s office and demand that he release the programmers who can’t write tight, error-free code. To your surprise, he gives you the axe instead.
Lesson: Never point fingers. Briefly outline the issues without laying blame or naming names, before quickly switching gears to offer solutions. As Henry Ford advised: “Don’t find fault, find a remedy.”

Lack of ‘Offensive’ Communication

You think you’re a rock star because you spend 10 hours a day in your cubicle crunching code. Unfortunately, the director has no idea what you’re up to, and when the department’s budget is slashed, you’re the first one to go.
Lesson: “Don’t make your boss come to you,” Samantha Hurwitz said. “Take the initiative to volunteer information. Make sure everyone up the ladder is aware of your activities and accomplishments.”

Playing Devil’s Advocate

You tend to view your boss’s ideas with a critical eye and you’re quick to point out why his or her solutions won’t work. “Over time, your boss won’t want you around because he’ll come to view you as a blocker of change,” said Marc Hurwitz, author and chief insight officer of Flipskills.
Lesson: Leaders claim they like “having a devil’s advocate on the team,” Hurwitz added, “but research shows that they prefer supportive people who try to make their ideas work.”

Trust Violations

Network admins and security pros are well aware that leaking juicy tidbits of information gleaned from company emails can lead to termination. But what if you accidentally open a confidential executive memo or folder that you’re not authorized to view? Should you keep your mouth shut or come clean?
Even if it’s an innocent mistake, you should tell your boss about it,” said Nicole Williams, CEO and founder of WORKS, a career-coaching firm based in New York City. “If the information in that memo gets out or your mistake is uncovered during an audit, you could be fired.”
Lesson: As the saying goes: It’s not the crime, it’s the cover-up that gets you.

Getting Too Chummy With Customers

So you’ve bonded with a few key stakeholders; sometimes you even talk business over lunch or drinks. Your close association leads to informal email exchanges, text messages and the sharing of inside jokes. But you might get the boot if a co-worker sees your messages and files a complaint.
Lesson: Engaging in casual communications that are overheard or viewed by others can be problematic. You never know who could be lurking around the corner, so always maintain a professional demeanor when you interact with clients, teammates or managers. And never send emails or text messages during Happy Hour.


SanDisk to hire 600 in Bengaluru


BENGALURU: Storage solutions major SanDisk is doubling its headcount in Bengaluru to 1,200 people in the next three years from the existing 600 making it the second-largest R&D centre outside the US. The Fortune 500 company is looking to hire people in key areas like system design, firmware, software and hardware.

The India centre has been instrumental in designing many consumer products including the 200GB microSD card, the highest capacity card that can hold 20 hours of full HD video on a fingernail sized memory card. "India has been a key player in SanDisk's global growth strategy. The availability of world class talent, emerging infrastructure and growing market demand makes it a conducive market for expansion. The new R&D centre set up here is a testament to our ongoing commitment towards India," Guruswamy Ganesh, VP - corporate engineering in SanDiskIndia.

SanDisk started its India operations in 2006 with 75 employees. The storage solutions major gets 33% of its revenue from its retail business and 67% of its business from OEMs and enterprises. Sandisk is the largest provider of flash memory storage solutions that includes removable memory cards in cameras and embedded memory in smartphones that includes solid state drives, SD cards, microSD cards and memory stick and card readers. It has a host of enterprise storage offers including memory solutions in cloud storage data centres.Today, the India centre has designed and development a majority of the consumer products whose sales contributes $2 bilion to the company's overall revenues.


Vivek Tyagi, director- business development in SanDisk India, said,"In today's volatile economic environment, companies want more IT support for their operations while their IT budgets are shrinking year-over-year. The performance and agility that flash storage brings to the table makes it a game-changer." The India centre has over 20 patents to its credit.

Saturday, 30 May 2015

20 Best Free PHP and MySQL E-Books for Programmers

The greatly built websites on the web are mostly designed and developed by PHP and it is highly esteemed amongst the web developers around the world. It’s very interactive and simple web development language which can be used to produce astounding results. PHP is one of the most cherished languages and majority of web development projects are written in PHP.It has become quite customary for a rookie developer to have acquaintance with basic PHP. PHP proves to be an incredible platform for web development by enhancing the quality of web design produced.
If you have been searching around for free e-books for PHP and MySQL Web Development, then you have come to the right spot. In this post, we will provide you with a delicately compiled list of the bests of the best downloadable e-books for PHP programming. Most of the advantage is gained by the rookies who use these free e-books from the World Wide Web to add to their knowledge and skillset. Below are some of the best, freely available and downloadable e-books for PHP and MySQL programming.

Learn PHP, MySQL, CSS, JavaScript and HTML5 


PHP 5 Power Programming


Beginning Php5 Apache And Mysql Web Development


PHP5 And MySQL Bible


PHP and MySQL Web Development All in One


PHP 6/MySQL Programming for Absolute Beginner


PHP 6 Fast and Easy Web Development


PHP: The Basics


MySQL PHP Database Applications


Head First! PHP and MySQL


PHP6 and MySQL


Professional Lamp Linux Apache Mysql Php5


PHP the right way


The Oracle PHP Cookbook


Practical PHP Testing


Code Bright for Laravel PHP


Practical PHP Programming


PHP Programming


PHP Security Guide


Advanced CakePHP Tips



The happiest job in America pays $150,000 a year

Unhappy at work? Consider switching to a career in coding.

You may think of web developers as chained to their computers, but a new survey shows that a majority of developers are probably happier with their career than you, with high salaries and personal autonomy.

The survey—commissioned by education site SkilledUP and conducted by market research firm ProvokeInsightsindicated that 88% of the 303 developers surveyed were completely satisfied with their career, 11% were somewhat satisfied, and only 1% were not at all satisfied. The happiest developers specialized in mobile/responsive programming.

This isn’t the first time a survey counted web developers among the happiest careers—a 2015 CareerBliss survey ranked web developers among the top ten happiest jobs in the U.S.
Since it’s unlikely developers are actually getting their daily dose of vitamin D from the light of their computer screens, what’s the secret to their career satisfaction?
Work-life balance, job flexibility, and job location, ranked among the top reasons for the high happiness ranking. Some respondents said that they had the opportunity to work from home, could control the number of projects they accepted, worked on their own schedule, and clocked in reasonable hours.
Unsurprisingly, salary also sweetens the gig. The majority of developers surveyed raked in between $50,000 and $149,000 per year—and 82% of respondents say they expect a pay raise in the next six months.
Luckily for those with Python or Ruby skills listed on their résumés, respondents said there are plenty of jobs available in web development. According to the survey, 95% of respondents said their career was in demand, 90% said there were jobs available, and 57% said they’re regularly contacted by headhunters about job opportunities. And 62% said their own company is currently looking to hire more developers.
If you want to make the career switch, it won't hurt if you don't have a development background, either. A majority of respondents say a degree in computer science is not required and 56% said they started their careers in a different field. Instead, most of the developers learned the skills needed for their jobs through on-the-job training or online courses.


5 Online Resume Tools You Need To Try


Your job search is in full-swing. You’ve researched the companies you want to work at, found the right people to send your resume to, customized it for each position, and are about to hit send when you realize how generic it really looks.
Not good.
Sending in a generic resume is a great way to miss out on the job you want. In fact, a 2013 CareerBuilder survey of 2,076 hiring managers and HR professionals and 2,999 workers across industries found that 36 percent of hiring managers will automatically dismiss a resume if it’s too generic.
In today’s competitive job market, you can’t afford to miss out on opportunities because your resume isn’t eye-catching. Here are five online tools that can help you make your resume more attractive to hiring managers who see the same old resume format over and over again:
 
1. Google Docs
Wait a minute, Google Docs is on the list? That’s right, job seekers, Google has found a way to become a part of your resume writing experience, too.
Google Docs offers job seekers hundreds of downloadable resume templates from different sources. Like everything Google does, they’ve integrated reviews into their system, so you know exactly what you’re getting before you make a choice, which saves you time and energy during your search for an effective, eye-catching resume template.

2. Visualize.me
Visualize.me uses the data from your LinkedIn account to build an eye-catching visual depiction of your professional accomplishments and skills. Once you’ve connected your LinkedIn account, Visualize.me generates a visual timeline of your employment history and a breakdown of your LinkedIn skills.
Additionally, Visualize.me lets you add up to four things you want to highlight like sales stats, years of experience or other custom statistics in the “My stats” section, which it depicts visually for the hiring manager.
With six different themes and the option to download a PDF or PNG file, Visualize.me is an excellent option for any job seeker looking for a free way to make their resume more visually attractive.

3. VisualCV
VisualCV does more than just make your resume more eye-catching to hiring managers; it makes sure it can be read by those pesky ATS systems employed by many organizations, as well.
Like many online resume tools, VisualCV gets you started by importing data from sources like LinkedIn or your current resume. Once your data is imported, you can edit the different sections of your resume, manage different versions so you can send a customized CV to each hiring manager, add multimedia and create a custom URL to make sure your online brand is consistent.
Whether you choose the free version (limited analytics, version control and style access) or the $6 per month premium version (advanced tracking analytics, better style options, and more download options), you’ll feel confident your resume is visually attractive and well organized.

4. Flavors.me
Flavors.me is a little different than the first two options on this list. Instead of creating an actual resume, Flavors.me helps you quickly build your own web page -- an “online resume” so to speak. Pull data from over a dozen online sources including LinkedIn, Facebook, Twitter and more to give hiring managers a visual picture of who you are.
Flavors.me makes it simple to design an online splash page for everything “you.” This service is especially great for job seekers looking for work in the creative world. Consider it a free online portfolio to highlight content you’ve written, things you’ve designed and more. If you’re looking for mobile, analytics and a custom URL, though, it’s going to cost $20 a year.

5. Easel.ly
Tired of plug-and-play resume templates? Easel.ly lets you create an infographic resume from scratch. Start by choosing a background then just drag and drop hundreds of design elements to make your resume tell a story. With simple editing and an intuitive chart creator, Easel.ly helps you highliht the accomplishments that will make a difference to hiring managers.
Want to start with a template and go from there? That’s OK, too. Easel.ly has a number of prepopulated templates to choose from and, like the services above, if you choose to “go pro,” you’ll have even more templates, design elements, and images to choose from.
Once you've tried out these online resume tools, did you know that you can also upload a resume to Glassdoor, making it super easy to apply directly to jobs?
After you sign into your Glassdoor account, go to the homepage and scroll down to "Upload a resume"


Friday, 29 May 2015

What Does the Modern IT Team Look Like?


Teams need to evolve in order to meet new challenges – make sure you have got the right in-house and outsourced resource with this analysis.
IT teams are evolving. The old model of a Finance/IT Director supported by Infrastructure and Application managers, with a host of network engineers and developers, is changing to meet new challenges.
In most organisations, IT used to be almost entirely about finance: sales, cash flow, payroll and purchasing. Organisations often developed their own software and built their own networks. They needed network engineers, a Wintel team, a mainframe team … Now, much of the software is off-the-shelf, running on commodity hardware, or abstracted to SaaS – the CIO has emerged to coordinate it all.
The Chief ‘I’ Officer role is complex. Officially the ‘I’ stands for Information, but it includes Infrastructure, Intelligence, Integration and Innovation. In a large organisation, some of these might be individual job descriptions, or they might be bundled into other roles.
Architecture, Business Change, Service Aggregation, SaaS, PaaS, MSP, Cloud Storage, Cloud Compute, Disaster Recovery, Governance, Compliance, Business Intelligence, Infrastructure.
Every organisation is different. The number of people you need to fulfil all the roles depends on the size of the organisation, the market sector in which it operates, and to some extent on location and legacy. Here’s a selection of the sort of people most mid-to-large organisations need in IT.

The IT architect uses IT to meet specific business requirements. IT architects focus on the cost/benefits of investments in IT. This requires skill in planning, implementing, and managing infrastructure and applications.
Business Intelligence analysts use data to improve efficiency and profits. They may work for an organisation or play a consultancy role. Data mining the organisation’s records, they can understand where the organisation stands, where they can improve and where they can reduce costs.
The Chief Compliance Officer is primarily responsible for overseeing and managing all regulatory compliance issues within an organisation. Compliance with data protection and ensuring privacy and security in IT are all so important that this particular aspect may be a separate role.

Orchestrating this changing mix of in-house professionals and outsourced services is a huge job, some of which can itself be outsourced. A carefully designed SLA with a good managed services provider (MSP) can take a lot of weight off the CIO’s shoulders.
Remember:
The IT landscape is changing constantly – your IT team needs to evolve with it, to keep up with the times
– Plan intervals to reassess your organisation’s requirements for in-house resource and outsourced services
– The job of orchestrating a changing mix of in-house professionals and outsourced services can itself be outsourced to experts.


More Detail

4 ways to polish your IT resume

Your resume is your argument for employment. Make sure it's in good shape.

Maybe you just got out of school and are looking for a job, or maybe, you've been in the professional world for a while and you're looking for a next step. Either way, it's time to bust out the resume. Since you don't have much time to grab an employer's attention, you need to make sure your CV is in top form. We talked to CompTIA's James Stanger about how to do that.
Despite all the talk of the jobs gap, job hunters can't take the attitude that employers should feel lucky they're even there.
"A lot of those jobs that are going to be available are going to be half time, part time type jobs, contract jobs -- if you want a full time job, you'll need to differentiate yourself," Stanger said.
Here are four tips.
First, show direct experience.
"There's always that real problem when people are just getting out of school or who have just gotten certified, how do they show their experience?" Stanger said.
Let's say you're trying to get a job as a programmer. Even if you're fresh out of school, showing experience like volunteer work or other projects will help communicate to employers that you can actually do the job if they hire you.
Second, don't skimp on indirect experience. I mean, make sure it's relevant. Your summer as a lifeguard isn't exactly pertinent, but as Stanger said, even if you don't have experience with VMware virtualization, if you're pretty good with Linux solutions, that's something you want your potential employer to know.
Third, don't forget supporting evidence. Stanger said employers are looking at anything from Twitter accounts to personal blogs to vet candidates. As long as you have good, professional content there, these can help you make the argument for why an employer should hire you. Just be sure you're connecting that potential employer with that strong supporting evidence.
And fourth, choose your words carefully. Brevity, pith, these are good things -- don't waste time using a lot of words that only sound important. Be clear and be succinct. Stanger even suggested getting someone to read through or edit your resume to make sure you're communicating what you intend to.
And as one last suggestion, Stanger said to keep your resume updated. Don't just be working on it when you're looking for a job, especially if you haven't landed a full time position.
"You are going to have to get those multiple jobs at the same time," he said. "We all know that that full time, IBM, here's your gold watch after you left the company after 35, 50 years -- that's been gone a long time. You may be going from gig to gig to gig."


More Detail

How to scrape any website html via python?


HTML Scraping

Web Scraping

Web sites are written using HTML, which means that each web page is a structured document. Sometimes it would be great to obtain some data from them and preserve the structure while we’re at it. Web sites don’t always provide their data in comfortable formats such as csv or json.
This is where web scraping comes in. Web scraping is the practice of using a computer program to sift through a web page and gather the data that you need in a format most useful to you while at the same time preserving the structure of the data.

lxml and Requests

Lxml is a pretty extensive library written for parsing XML and HTML documents very quickly, even handling messed up tags in the process. We will also be using the Requests module instead of the already built-in urllib2 module due to improvements in speed and readability. You can easily install both using pip install lxml and
pip install requests.

Let’s start with the imports:

from
lxml import
html
import
requests
Next we will use requests.get to retrieve the web page with our data, parse it using the html module and save the results in tree:

page
=
requests.get('http://econpy.pythonanywhere.com/ex/001.html')
tree
= html.fromstring(page.text)
tree now contains the whole HTML file in a nice tree structure which we can go over two different ways: XPath and CSSSelect. In this example, we will focus on the former.

XPath is a way of locating information in structured documents such as HTML or XML documents. A good introduction to XPath is on W3Schools .

There are also various tools for obtaining the XPath of elements such as FireBug for Firefox or the Chrome Inspector. If you’re using Chrome, you can right click an element, choose ‘Inspect element’, highlight the code, right click again and choose ‘Copy Xpath’.

After a quick analysis, we see that in our page the data is contained in two elements - one is a div with title ‘buyer-name’ and the other is a span with class ‘item-price’:

<div
title="buyer-name">Carson
Busses</div>
<span
class="item-price">$29.95</span>
Knowing this we can create the correct XPath query and use the lxml xpath function like this:

#This
will create a list of buyers:
buyers
=
tree.xpath('//div[@title="buyer-name"]/text()')
#This
will create a list of prices
prices
=
tree.xpath('//span[@class="item-price"]/text()')
Let’s see what we got exactly:

print
'Buyers: ',
buyers
print
'Prices: ',
prices
Buyers:
 ['Carson Busses', 'Earl E. Byrd', 'Patty Cakes',
'Derri
Anne Connecticut', 'Moe Dess', 'Leda Doggslife', 'Dan Druff',
'Al
Fresco', 'Ido Hoe', 'Howie Kisses', 'Len Lease', 'Phil Meup',
'Ira
Pent', 'Ben D. Rules', 'Ave Sectomy', 'Gary Shattire',
'Bobbi
Soks', 'Sheila Takya', 'Rose Tattoo', 'Moe Tell']

Prices:
 ['$29.95', '$8.37', '$15.26', '$19.25', '$19.25',
'$13.99',
'$31.57', '$8.49', '$14.47', '$15.86', '$11.11',
'$15.98',
'$16.27', '$7.50', '$50.85', '$14.26', '$5.68',
'$15.00',
'$114.07', '$10.09']
Congratulations! We have successfully scraped all the data we wanted from a web page using lxml and Requests. We have it stored in memory as two lists. Now we can do all sorts of cool stuff with it: we can analyze it using Python or we can save it to a file and share it with the world.


Some more cool ideas to think about are modifying this script to iterate through the rest of the pages of this example dataset, or rewriting this application to use threads for improved speed.