Archive for the ‘Google’ Category
Posted March 15, 2016on:
Whether you’re building apps for the browser, mobile or desktop, Aurelia can enable you to not only create amazing UI, but do it in a way that is maintainable, testable and extensible.
Retrospective and today
Aurelia is a project of Rob Eisenberg, the author of a very popular MV * – framework for Caliburn.Micro XAML-platforms, Durandal. Understanding all the disadvantages of Durandal, Eisenberg engaged in the development of so-called NextGen framework. In 2014 he began to work in Angular team on the second version of the framework. However, several months later, Rob decided to leave the Angular team since the direction of Angular 2, in his opinion, had changed a lot. He gathered a large team and returned to work on the framework of his dreams. And Aurelia is the result of that work.
By using modern tooling Aurelia was written from the ground up in ECMAScript 2016. This means you have native modules, classes, decorators and more at disposal.
Aurelia’s code is open sourced under the MIT License, a very permissive license used by many popular web projects today. The starter kits are available under the Creative Commons 0 license. There is also a Contributor for those who wish to join the team in working on Aurelia. Ultimately, this means that you can use Aurelia without fear of legal repercussions and it can be build in the same confidence.
Benefits of Aurelia
• Convention over Configuration – Simple conventions help developers follow solid patterns and reduce the amount of code they have to write and maintain. It also means less fiddling with framework APIs and more focus on their app.
• Simple, But Not Simplistic – Because of the simple design developers are able to learn a very small set of patterns and APIs that unlock limitless possibilities.
• Promotes the “-ilities” – Testability, maintainability, extensibility, learnability, etc.- Aurelia’s design helps developers to naturally write code that exhibits these desirable characteristics.
• Amazingly Extensible – Aurelia is highly modular and designed to be customized easily, so developers will never hit a roadblock or have to “hack” the framework to succeed.
• Integrates Well with Others – Easily integrated with any 3rd party library or framework: for instance, with jQuery, React, Polymer, Bootstrap, MaterializeCSS and much more.
• TypeScript Support – Each Aurelia library is released with its own d.ts files. There are also official TypeScript beginner kits and production quality starter kits.
• An Official Product with Commercial Support – Being an official product of Durandal Inc., it has commercial and enterprise support available, so you can use Aurelia for building core technology for your business.
Aurelia, Angular and React.js – what’s common and what’s different?
Aurelia vs. Angular
Similarities between Aurelia and Angular 2:
Differences in vision details and options range:
Aurelia vs. React.js
Aurelia vs. Angular and React
It goes without saying why these three frameworks are so popular. They all have a lot of strong advantages. Eventually, I’m favoring Aurelia: there’s solid documentation available and the overall philosophy is the same with Angular 2, but Aurelia is a better choice from the syntax and execution point of view. The architecture and syntax vision of Aurelia team seems to be more clear than the vision of the Angular team. The company and enterprise support of Aurelia is also a big pro.
What is your personal experience with these frameworks? Which one would you choose for your projects and why? What’s your prediction “who” will win the crown in the nearest future? Please feel free to share your thoughts with us.
Thank you in advance!
The Go Programming Language (Go) is an open-source programming language sponsored by Google and created by Robert Griesemer, Rob Pike, and Ken Thompson that makes it easy to build simple, reliable, and efficient software.
Go has gained popularity since it was first announced in 2009, and it’s now being used by many companies worldwide and for a variety of applications; Dropbox, Google, SoundCloud, CloudFlare, Docker and Cloud Foundry are some of the Go programming users.
Like any technology, though, it has its adherents and critics. Here are some key benefits and perceived drawbacks of the language as told by experts familiar with it.
- It is fast. And not only fast in the sense that programs written in it run fast when compared to other common languages; but also fast in the sense that its compiler can compile projects in the blink of an eye. You can even edit and run Go programs directly on the Web.
- It is a garbage-collected language. This puts less pressure on the developer to do memory management, as the language itself takes care of most of the grunt work needed.
- It has built-in concurrency, which allows parallelism in an easier way than is possible in other languages. Go has the concept of goroutines to start concurrent work and the concept of channels to permit both communication and synchronization.
- Go has documentation as a standard feature. That makes it easier for developers to document their code and generate human-readable data out of source code comments.
- Go has a rich standard library which covers a lot of areas. In fact, Go is probably the only language that can claim to have a fully working Web server as part of its standard library.
- Go’s built-in build system is both elegant and simple. No need to mess with build configurations or makefiles.
- Go is still a very young language and has a very young ecosystem. This means there aren’t many libraries for it yet, leaving developers to write libraries themselves. There is also a shortage of books and online courses on the language.
- Go is simple to the point of being superficial. Go’s simplicity is mostly superficial, and in its effort to find simplicity, it threw away decades of valuable programming language progress.
- Although Go is a high-level language, it still has low-level features such as pointer-arithmetic which does not rule out the chance of doing systems and OS programming.
- Go’s tooling is really weird, on the surface it has some really nice tools, but a lot of them, when you start using them, quickly show their limitations.
- It is still not so easy to learn Go and it’s difficult to handle errors in it.
What is your attitude to Go? Is it worth learning? What do you think are Go’s advantages and disadvantages? Can you tell us about a real use you have given to this programming language? Please, feel free to share your thoughts here below.
The infrastructure-as-a-service (IaaS) market has exploded in recent years. Google stepped into the fold of IaaS providers, somewhat under the radar. The Google Cloud Platform is a group of cloud computing tools for developers to build and host web applications.
It started with services such as the Google App Engine and quickly evolved to include many other tools and services. While the Google Cloud Platform was initially met with criticism of its lack of support for some key programming languages, it has added new features and support that make it a contender in the space.
Here’s what you need to know about the Google Cloud Platform.
Google recently shifted its pricing model to include sustained-use discounts and per-minute billing. Billings starts with a 10-minute minimum and bills per minute for the following time. Sustained-use discounts begin after a particular instance is used for more than 25% of a month. Users receive a discount for each incremental minute used after they reach the 25% mark.
2. Cloud Debugger
The Cloud Debugger gives developers the option to assess and debug code in production. Developers can set a watchpoint on a line of code, and any time a server request hits that line of code, they will get all of the variables and parameters of that code. According to Google blog post, there is no overhead to run it and “when a watchpoint is hit very little noticeable performance impact is seen by your users.”
3. Cloud Trace
Cloud Trace lets you quickly figure out what is causing a performance bottleneck and fix it. The base value add is that it shows you how much time your product is spending processing certain requests. Users can also get a report that compares performances across releases.
4. Cloud Save
The Cloud Save API was announced at the 2014 Google I/O developers conference by Greg DeMichillie, the director of product management on the Google Cloud Platform. Cloud Save is a feature that lets you “save and retrieve per user information.” It also allows cloud-stored data to be synchronized across devices.
The Cloud Platform offers two hosting options: the App Engine, which is their Platform-as-a-Service and Compute Engine as an Infrastructure-as-a-Service. In the standard App Engine hosting environment, Google manages all of the components outside of your application code.
The Cloud Platform also offers managed VM environments that blend the auto-management of App Engine, with the flexibility of Compute Engine VMs.The managed VM environment also gives users the ability to add third-party frameworks and libraries to their applications.
Google Cloud Platform networking tools and services are all based on Andromeda, Google’s network virtualization stack. Having access to the full stack allows Google to create end-to-end solutions without compromising functionality based on available insertion points or existing software.
According to a Google blog post, “Andromeda is a Software Defined Networking (SDN)-based substrate for our network virtualization efforts. It is the orchestration point for provisioning, configuring, and managing virtual networks and in-network packet processing.”
Containers are especially useful in a PaaS situation because they assist in speeding deployment and scaling apps. For those looking for container management in regards to virtualization on the Cloud Platform, Google offers its open source container scheduler known as Kubernetes. Think of it as a Container-as-a-Service solution, providing management for Docker containers.
8. Big Data
The Google Cloud Platform offers a full big data solution, but there are two unique tools for big data processing and analysis on Google Cloud Platform. First, BigQuery allows users to run SQL-like queries on terabytes of data. Plus, you can load your data in bulk directly from your Google Cloud Storage.
The second tool is Google Cloud Dataflow. Also announced at I/O, Google Cloud Dataflow allows you to create, monitor, and glean insights from a data processing pipeline. It evolved from Google’s MapReduce.
Google does routine testing and regularly send patches, but it also sets all virtual machines to live migrate away from maintenance as it is being performed.
“Compute Engine automatically migrates your running instance. The migration process will impact guest performance to some degree but your instance remains online throughout the migration process. The exact guest performance impact and duration depend on many factors, but it is expected most applications and workloads will not notice,” the Google developer website said.
VMs can also be set to shut down cleanly and reopen away from the maintenance event.
10. Load balancing
In June, Google announced the Cloud Platform HTTP Load Balancing to balance the traffic of multiple compute instances across different geographic regions.
“It uses network proximity and backend capacity information to optimize the path between your users and your instances, and improves latency by connecting users to the closest Cloud Platform location. If your instances in one region are under heavy load or become unreachable, HTTP load balancing intelligently directs new requests to your available instances in a nearby region,” a Google blog post said.
Taken from TechRepublic
In the last year, Google has stampeded toward the enterprise. With advancements in Chromebooks and Chromeboxes, improved security, and incentive pricing; it’s obvious that Google is working hard to build out its portfolio of enterprise customers.
Another product that Google has been making more accessible to its business customers is its Cloud Platform. While Google has added value with new features, it is still uncertain whether or not it will be able to compete in a market dominated by Amazon AWS and Microsoft Azure.
The Google Cloud Platform is Google’s infrastructure-as-a-service where users can host and build scalable web applications. The Cloud Platform is technically a group of tools that cover the gamut of what most people need to build a business online. Currently, these are the tools that make up the Cloud Platform:
- Google App Engine
- Google Compute Engine
- Google Cloud Storage
- Google Cloud Datastore
- Google Cloud SQL
- Google BigQuery
- Google Cloud Endpoints
- Google Cloud DNS
Brian Goldfarb, head of marketing for the Google Cloud Platform, said that Google is working to leverage its “history and investments” in data centers and data processing technology to bring what they have learned to the public. The most exciting part for Goldfarb is the breadth of possibilities that the infrastructure provides for businesses.
“The beauty of being an infrastructure provider is that the use cases are, essentially, limitless,” Goldfarb said.
At the 2014 Google I/O developer conference keynote, Urs Hölzle and Greg DeMichillie announced a few more developer tools for Cloud Platform users. Google Cloud Dataflow is a way to create data pipelines that succeeds MapReduce. They also introduced a few minor tools such as Cloud Save, Cloud Debugger, and Cloud Trace.
According to James Staten, an analyst at Forrester, Google has been building its cloud offerings out for a while, but it has struggled to differentiate its products from its competitors.
“They continue to unveil some interesting things for developers, particularly those that are doing big data, which seems to be their only major differentiation as a cloud platform right now. So, they’re building on that,” Staten said.
When it comes to the numbers that Forrester has on cloud platform users, Google isn’t at the bottom of the list, but they are no where near the top five because of its lack of differentiation.
According to Goldfarb, however, Google differentiates itself in three key ways:
1. Price and performance. Google offers automatic discounting and unique aspects in its business model for the Cloud Platform.
2. Technical capability. “We are a cloud first company,” Goldfarb said. He notes that Google builds tools for their engineers to work on cloud production, which then get translated to the public-facing products.
3. Innovation. Customers will be the first to receive what Goldfarb calls “unique competitive advantages,” new technical features as soon as they are created by Google. For example, when speaking of the new Cloud Dataflow he said, “There is nothing like it in the world.”
Still, one of the primary issues is that the Google Cloud Platform wasn’t initially geared to accommodate bigger enterprises.
As a platform-as-a-service, it primarily appealed to startups as it only supported Python and didn’t have as robust an offering as needed by bigger companies. According to Staten, enterprises code not only in Python, but in PHP, Ruby, and Java as well; and if you only support one of those, it’s not very appealing.
Of course, Google has grown to accommodate other languages, and the appeal has gone up slightly; but, Staten said that Google still only has the basics. He said the real value for cloud platforms today is the ecosystem surrounding the infrastructure, and Google doesn’t yet have the ecosystem around the the Cloud Platform that it needs to be competitive.
“The battle is no longer around base infrasture-as-a-service,” Staten said. “It’s not about how many data centers you have, how fast those compute instances are and so forth. It’s all a battleground now around the services that are available above and beyond that platform and, more importantly, the ecosystem around those services.”
This is part of the reason why enterprise customers go to AWS or Azure. They go to those platforms because their peers are using it. They can draw on the experiences of their colleagues and peers for advice and best practices. Staten also notes that there are tons of available partners that many enterprises already know, and are already comfortable with. Some businesses are simply more comfortable working with companies such as Amazon, IBM, RackSpace, and Microsoft.
Still, some companies do trust their cloud offerings to Google. While its portfolio may not include as many Fortune 500 companies as some of its competitors, Google still boasts the likes of Khan Academy, Rovio, Gigya, Pulse, and Snapchat.
“Our fundamental goal with partners in the ecosystem is to empower them,” Goldfarb said.
Goldfarb noted that working with its partner ecosystem and engaging the open source community are some of Google’s highest priorities. He also believes that the heavy focus on open source is also a differentiator for Google among it competitors.
The first step, Staten said, is for Google to make a play around it’s existing products. For an ecosystem to grow and flourish, Google will need to give potential Cloud Platform customers a reason to use their other products.
“Right now if I want to build Android applications, or I want to extend the Google applications, or I want to take advantage of any Google technologies, there’s not a compelling reason for me to do that on their Cloud Platform,” he said. “In fact, it’s going to be easier, and more effective, for me to do that on Amazon or any of the other cloud platforms that are out there.”
Conversely, Google also needs to focus on getting companies that are using its other products to use the Cloud Platform as well. Google needs a sticky value proposition if they want a strong enterprise appeal. Staten mentioned that this could play out as a suite offering or something similar.
It’s not that Google has a poor reputation among business customers. The bigger issue is that most of these incumbent enterprise partners have built a deeper trust among the enterprise by working with them for so long. In order to further build trust, Google will need to take a serious look at its ad-heavy revenue model.
Staten said, “the enterprise hates advertising. So, they’re very much on the antithesis of the Google historical model.” Which means that Google will have to change its approach to accommodate more enterprise customers, so that it’s known as more than just an advertising company. That could even serve to help diversity Google’s revenue model.
Google has done a good job, so far, with much of its pricing and aggressiveness going after deals, but there are some things it can do to better its interactions with the enterprise.
“The biggest thing for Google is understanding that having a relationship with an enterprise is way different than having a relationship with a consumer,” Staten said.
What Staten believes is that Google doesn’t sell like an enterprise sales organization. Enterprise customers don’t want to operate within a consumer-style sales model. Business customers value things like a specific, named sales rep that they can easily contact.
Enterprise customer also tend to be more apt to go where they can get customized support. They need customer support that doesn’t involve getting in line behind thousand of consumers with the same questions, and they, rightfully, expect the potential for custom SLAs. But, according to Goldfarb, Google recognizes the difference between enterprise and consumer customers.
“We’ve done a lot of the last 12 months to build out or enterprise sales and services support,” Goldfarb said.
Regarding enterprise customers of the Cloud Platform, Google offers a technical account management team with the potential for business customers to get connected to a specific, named sales representative. Goldfarb also mentioned a 24/7 multi-language support system and a team of more than 1,000 people dedicated to handling enterprise accounts.
According to Staten, Google certainly can compete with AWS and Azure, but they have some catching up to do if they want to be truly competitive.
“I think they are making some progress, but they probably are not making it as fast as they think they need to in this market,” Staten said. “What they have to do is balance catching up with Amazon, with differentiating their offering. That balance is tricky, and it’s not entirely obvious where that balance is.”
What do you think? Do you think the Google Cloud Platform can compete with products like AWS and Azure? Do you think Google is doing enough to accommodate enterprise customers?
There has been a lot of talk about the dirge sounding for the Firefox browser. With a marked nosedive in market share (roughly 15%), the one-time king of the browse war has now fallen into third place (behind Internet Explorer and Chrome). As most pundits are scratching their heads, I’m fairly certain that there’s a clear reason for this change:
The 15% market share applies only to desktop browsers. Once you move to mobile… all bets are off. But why? What has shifted to cause Firefox to drop so sharply? Is it a bad product? Honestly, to the majority of users (I’m talking “average user” here), a browser is a browser is a browser. The biggest difference to the average user is the use of “Favorites” over “Bookmarks.” Since most users wouldn’t even know Firefox from Internet Explorer, how could this change have happened?
Again, I say… Google.
Actually, I should be more specific and say Chrome — or even better, Chrome OS and Android.
From November 2013 to the end of the year, a reported 21% of all laptops sold were Chromebooks. Worldwide, Android takes nearly 81% of the mobile market share. That’s a LOT of Google-based browsers out there. I don’t think it’s a huge leap of logic to assume a vast percentage of those users would have been, otherwise, using Firefox.
Let me present myself a case in point. For the longest time, I was a devout Firefox user. But then I discovered a few of the Chrome apps/extensions (such as Tweetdeck) and added Chrome to my Linux desktop. Then I adopted a Chromebook as a laptop. Since I really only do two things on a laptop (write and browse), it made perfect sense. Add to this the fact that my smartphone platform has been Android for what seems like forever, plus the mobile version of Firefox is dreadful, and you have the makings for a typical migration from Firefox to Chrome.
Let’s be honest — as long as the browser gets the job done, it doesn’t matter which browser you use.
- Unless you’re on a Chromebook
- Or on Android
- Or you depend on Google Apps
You can see the pattern here, right? It’s like third-party politics in the United States. Many people don’t vote for third parties because it takes away votes from the party they once championed. In this case — every person using Chrome is one less person using Firefox. Why?
Caution: generalization coming…
Most people who use Internet Explorer simply don’t know that the product they’re using is inferior to every other product of its kind (either that or they depend on a site that was written ONLY for IE). So, there’s little to no chance they’ll jump ship to either Firefox or Chrome.
So, what is Mozilla to do? Well, they’re busy focusing on the Firefox OS, which is akin to Ubuntu focusing on the Ubuntu Phone — it’s detracting from what they’ve always done really well in exchange for jumping into a ring with two of the heaviest hitters in the history of the game — Android and iOS.
And then there’s that advertising deal with Google that’s about to expire. The majority of Mozilla’s income is from that deal, and Google has less reason to continue on with that search agreement. Google no longer needs the advertising real estate from a browser suffering from a possible slow death. Should Google pull this, Mozilla will have to pull off a miracle to stay in the fight.
However, there’s good news. You can’t forget that Firefox is an open-source browser. That means, even if Firefox were to die, another batch of forks would appear. So, even if Google Chrome were to knock Firefox out of the ring, more contenders will appear to take up the gloves. But even a horde of forks are not likely to pull Firefox from the slow Chrome burn. Google isn’t going anywhere but up. As Chromebooks and Android continue to take over the mobile planet (and users become less tethered to their desks), Firefox will continue to suffer.
Firefox is still a quality product. But like Internet Explorer, it’s facing a foe that’s stronger, faster, and more agile. That new opponent is poised to take over nearly everything it touches. Fortunately (for users, not the competition), that new foe offers a stellar product on every platform (Linux, Windows, Mac, Chrome OS, Android, and iOS). Chrome is the only browser on the planet that can make that claim (as Chrome is the only browser that will run on Chrome OS) – a claim that’s becoming ever more important in a world gone mad for mobile.
I don’t have a prediction for Firefox. Will it die? Will it become an “arm” of Google? Will it get a second wind and, thus, a second life? No one really knows at this point. If I had to make a guess, I’d say both Firefox and IE will fall to Chrome. The difference is that IE is embedded into the psyche of many users, so it won’t suffer as much as Firefox.
The gloves are off and Chrome is set to rumble. How do you think this fight will end? Share your opinion in the discussion thread below.
The IT sector is flourishing. If you’ve used a computer for at least a couple of times in the last few years, you’ve probably noticed this. I’ve noticed it myself even more after a business trip to Stockholm where I was lucky to attend some conferences and learnt more about Swedish IT industry tendencies. These tendencies reflect our life in general. Life changes rapidly with new technologies bursting into it. And when it comes to programming languages, we get a chance to see very different trendy styles. Programming languages which were popular some years ago are not useful today. And no one can exactly predict which programming language will be popular in future. That’s why a programmer who wants to stay in developer fields has to adopt the right programming language from time to time.
As the Swedish software maker Erik Starck pointed out, “programming is about managing complexities”. And it’s really so. An understanding of at least one programming language makes an impressive addition to any CV nowadays.
It is also very difficult to get the exact number of users for any programming language. Many of us use multiple programming languages. The more experience you have, the more programming languages you use. The more programs you write or work with, the chances of using more languages rise. The larger the company, the more languages you’re likely to use.
There are a number of ways to measure the popularity of a programming language, for example, based on the number of: 1) new applications written in the language; 2) existing applications written in the language; 3) developers that use the language primarily; 4) developers that use the language ever; 5) web searches; 6) available jobs that require skills in the language; 7) developers’ favorites, etc.
My survey attempts to rank which programming languages are most popular in Sweden, each using a different measure. So, they are the following:
Python is an object-oriented programming language which allows developers to work quickly while integrating their systems more efficiently and effectively. Designed by Guido van Rossum in 1991, Python is one of the most easy to use programming languages.
Python is characterized by its use of indentation for readability, and its encouragement for elegant code by making developers do similar things in similar ways.
Top Employers: Amazon, Dell, Google, eBay, Instagram, Yahoo
Java is a class-based, object-oriented programming language founded by Sun Microsystems in 1995. Java is one of the most in-demand programming languages today for many reasons. First of all, it is a well-organized language with a strong library of reusable software components. Secondly, programs written in Java can run on many different computer architectures and operating systems because of the use of the JVM (Java virtual machine).
Top Employers: Amazon, Deloitte, Sun, eBay, Symantec Corporation, Cisco Systems, Samsung
C++ is a compiled, multi-paradigm language written as an update to C in 1979 by Bjarne Stroustrup.
Due to its high-level compatibility and object-orientation, C++ is used for developing a wide-range of applications and games which makes it a popular and sought after programming language by the employers.
Top Employers: Intel, the Math Works, Microsoft, Qualcomm, Amazon, Mozilla, Adobe, Volvo
Ruby is an open source, dynamic programming language designed by Yukihiro Matsumoto in 1995 with a key focus on productivity and simplicity .It is one of the most object-oriented languages in the world.
Ruby is a mix of elegant syntax which is easy to read and write and hence it has attracted many organizations and developers.
Top Employers: Spokes, VMware, Accenture, Cap Gemini, Siemens, BBC, NASA
Top Employers: Microsoft, Sales Force, IBM, Yahoo, Dell
C# is a compiled, object-oriented language developed by Microsoft.
It is highly used on Windows platform and labelled as the premium language for Microsoft .NET framework. C# is known for strong typing, procedural and functional programming discipline which is the reason it has acquired so much popularity.
Top Employers: Microsoft, HP, Digi-Key Corporation, Allscripts, Intel
Those are the top 6 programming languages which are in great demand among Swedish developers.
And one more thing: remember that opinions are like noses, everyone has one and they all smell😉 If you disagree, please feel free to email me or write your own opinions in the comments.