NovaED - Building IT Careers
  • Home
  • About Us
    • Facilities
  • Programs
    • Schedule
  • Student Log-In
  • FAQ
  • News
  • Careers
  • Contact Us

Gmail Gets A Restful API

6/30/2014

0 Comments

 
Why exactly does Gmail need an a Restful API? Isn't IMAP or POP3 enough? 

Google has announced another way to get your email from Gmail. The new Gmail API is a Restful API that, obviously, can be used in any language that supports HTTP which is, equally obviously, most of them.

You can already interact with Gmail using IMAP and POP3 so why do you need an additional API? What is more you can even script Gmail using App Script to automate many Gmail tasks.

The new API is in fact a lot like the App Script document model. You can read, send and delete email using it and you can interact with email using the thread structure and labels. You have to make use of OAuth 2 to authenticate and you have to ask for a particular permission level - full access, read, modify and compose. 

Emails are sent in base64 encoded form and this makes things a little more complicated when you are reading or composing a new email. ??However, there are client libraries that cover up the fact that you are using a Restful API for most popular languages - Java, .NET, JavaScript, Objective-C, PHP, and Python. There are also early alpha libraries for Go, Node.js and Ruby. 

So why a new API?

According to the Apps Developer Blog:

"In contrast to IMAP, which requires access to all of a user’s messages for all operations, the new API gives fine-grained control to a user’s mailbox. For example, if your app only needs to send mail on behalf of a user and does not need to read mail, you can limit your permission request to send-only.

To keep in sync, the API allows you to query the inbox change history, thereby avoiding the need to do “archaeology” to figure out what changed."

You can also discover Google's viewpoint in the following video: 

All very reasonable and the RESTful approach is also claimed to be faster than IMAP. 

If you are thinking of writing an app that works with Gmail then there is no question that the new API is the way to go but... 

You need to keep in mind that the Gmail API is just that - a Gmail API. If you create an app that uses IMAP then it should work with any mailbox that is IMAP enabled, i.e. most. If you choose to work with the Gmail API then you are locked into Gmail. What is more, if a user wants your app then they better have a Gmail account. 

Could this have been at least part of the motivation for the new API?  Replacing a standard API by a proprietary one is in Google's best interests, but to be fair IMAP is still supported.


Source: http://www.i-programmer.info/news/81-web-general/7484-gmail-gets-a-restful-api.html
0 Comments

Dart 1.5 Released

6/29/2014

0 Comments

 
Google has released Dart 1.5 with improvements for Android Web developers.

Dart is an open-source project for web programming that compiles to JavaScript, and the new release comes just a month after the release of Dart 1.4.

The new version includes a development version of Dartium for Android devices. Dartium consists of the Chrome browser with the Dart Runtime, and the new version is based on Chrome 36. The Dart Editor has also been updated to support debugging mobile web apps written in Dart. According to a the announcement of the updated version, you can set breakpoints and debug exceptions with Dart web apps running on a device with the same development flow that exists on your development machine.

In the his summary of the updates on Google Groups, Kevin Moore of the Dart team says that the core SDK has been improved with extra properties for the HTTP client, and new MapMixin, SetMixin and SetBase properties for the dart collection.

Pub offers better version resolution, support for lazy transformers, and optimized startup for pub build and serve. The performance of pub serve on Windows has also been improved.

The Editor has seen the majority of the improvements, with the ability to launch and debug on a connected Android device. The editor is also now integrated with Observatory, the formatting has been improved, and memory use has been reduced. If you do get to a stage where memory is running low, you’ll now be warned, and given recommendations on what to do to improve available memory.

The Observatory has also been worked on, and has a better allocation profile page with faster refresh. The code coverage UI and code coverage collection have been improved, as have the VM and Isolate landing pages.

A Debian wheezy binary package has been developed so you can get the Dart SDK on a Debian server. This means you can now use Dart on the server as well as the client.

The announcement also says:

“We have also released an update to the Dart Polymer package and shipped two sets of new Polymer elements. core_elements gives Dart developers access to all Polymers infrastructure components. paper_elements contains Polymer elements that follow the material design pattern that was announced at Google I/O 2014.”  

So there is no excuse for avoiding the material design aesthetic no matter what language you program in.


Source: http://www.i-programmer.info/news/80-java/7490-dart-15-released.html
0 Comments

Pie in the sky: Russian chain delivers pizza by drone

6/25/2014

0 Comments

 
A Russian fast food chain claims to have taken a slice out of the competition by becoming the first to offer pizza delivery by drone.

Dodo Pizza in the northern Russian city of Syktyvkar posted a video online over the weekend showing the first airdrops of pizzas to customers and promised the service was not just a one-time PR stunt.

"We already sold six pizzas in one and a half hours using a drone, it is a real business model," manager Ilya Farafonov told AFP.

"You should see the faces of people when their pizza arrives from the sky, it's like magic," he added.

In the video, a pizza agent in an orange vest dispatched to a local park is shown taking orders from a gaggle of hungry students. Moments later, a tiny copter hones into view and lowers a pizza to the customers on a piece of extending rope.

"People didn't want to order pizza before, but now they do," said Farafonov.

The fast food chain hopes to expand delivery by drone to 18 other Russian cities, flying pizzas to beaches and university campuses.

The only snag in the new delivery method is that the destination and route of each drone flight has to be carefully planned and preapproved by authorities, Farafonov said.

Although other chains, such as Domino's in the UK and a company in India, have previously attempted to deliver pizza by drone, Farafonov said these had never developed into "real delivery."

Retail giant Amazon announced last year it was looking into delivering its packages by drone and several companies already use the unmanned aircraft to distribute their products.


Source: https://ph.news.yahoo.com/pie-sky-russian-chain-delivers-pizza-drone-165332094.html
0 Comments

Eclipse Luna picks up Java 8, PHP, C/C++ support

6/24/2014

0 Comments

 
The latest version of the Eclipse IDE, Luna, has been released today, with support for Java 8 right out of the box -- fitting for an IDE that is itself developed in Java.

New releases of Eclipse are announced annually, with the last version, Kepler, having dropped on June 26 of last year. Each year's product release cycle for the Eclipse Foundation involves upgrades and additions to not just the Eclipse IDE itself, but a whole "train" of projects, tools, and add-ons associated with Eclipse. The current release covers 76 projects and includes 61 million lines of code provided by 340 different committers.

Java 8 support is among the biggest of those projects, and Eclipse's support for Java 8 includes enhancements to the Eclipse compiler specifically designed for what's changed in the language. To wit: One of the big new features of Java 8 is lambda expressions, so the compiler now includes tools for converting anonymous classes to and from lambda expressions, as well as new formatting options for lambdas.

Each revision of Eclipse has typically included other programming tools to address timely concerns. Last year, the big addition was NoSQL, as the Eclipse BIRT (Business Intelligence and Reporting Tools) were bumped up to include support for NoSQL databases like MongoDB and Apache Cassandra. This year, the big new addition is support for the 1.0 version of Eclipse Paho, a suite of messaging protocols and libraries for engineering machine-to-machine and Internet of things solutions.

More conventional programming tasks -- namely, PHP and C/C++ -- also made the cut. Eclipse's PHP Development Tools add support for PHP 5.5, a better-performing PHP editor, and a new package that gives PHP developers a leg up in creating PHP apps in Eclipse. C/C++ mavens, meanwhile, get a new standalone C/C++ debugger as part of the latest revision of Eclipse's CDTproject.

Other Java-related projects within Eclipse also get revisions to keep them in line with Java 8's feature set. Chief among them is support for OSGi R6, the latest version of a standard for Java component model. Worries abound, though, that Oracle may try to strong-arm its own plans for how to modularize Java, although such a plan (code-named "Jigsaw") is not currently scheduled to appear until Java 9.

Last but not least, the UI's been touched up, with new functions like splittable editors and less use of whitespace by default. One of the more prosaic features in that package might turn out to be one of its most beloved by developers in marathon coding sessions: a new dark theme, akin to the one found in JetBrains's IntelliJ IDEA, that's easier on the eyes.

Those looking for Eclipse to tame some of its legendary sprawl can keep looking, as there's every sign it'll continue expanding. Eclipse's size as a project and an ecosystem has come under fire in the past, with plenty of competition evolving to offer slimmer, trimmer options for programmers. The aforementioned IntelliJ, for instance, is itself an open source project -- and has supported Java 8 since December 2012.

This story, "Eclipse Luna picks up Java 8, PHP, C/C++ support," was originally published atInfoWorld.com. Get the first word on what the important tech news really means with the InfoWorld Tech Watch blog. For the latest developments in business technology news, follow InfoWorld.com on Twitter.



Source: http://www.infoworld.com/t/development-environments/eclipse-luna-picks-java-8-php-cc-support-245060
0 Comments

Firefox Evolves Into A Full IDE

6/24/2014

0 Comments

 
Firefox Nightly has introduced WebIDE. You have to switch it on to use it, but you will want to switch it on if you have any interest in creating web apps.

Considering how important web development is, it is surprising how difficult it is to work out what tools to use to develop a web app. Firefox has been improving its debugging tools for some time, but now it has introduced a full IDE that you can use to generate the code you test. This means that you never have to leave the browser to create, test and modify your app. 

At the moment it is targeted at creating Firefox OS, Firefox Desktop and Firefox Android browsers. It is logical for Mozilla to start out targeting Firefox, but the intention is to extend the support to a range of mobile browsers including Chrome for Android and Safari on iOS. If the project gets to its target you will be able to use WebIDE to create a web app for the major mobile platforms as well as the desktop. 

If you try WebIDE you are first presented a set of starter templates - something you are encouraged to contribute to. From the template you can begin to create your own code using the integrated editor. This was developed from the open source CodeMirror editor and makes use of the tern,js code analysis platform. You can edit HTML, JavaScript and CSS. 

When you want to test you code you simply select a runtime. If you select Firefox OS then the IDE will either use a simulator or a connected Firefox OS device. You can then use the standard developer tools to test and debug the app. For example, as you move the cursor around the app's UI, the HTML that generated each element is displayed in exactly the same way as when you inspect a web page. You can also modify the CSS and see the effect at once. The idea is to create a rapid iteration environment and all you have to do is hit Ctrl/R to reload the app after making changes. 

Mozilla has a video to show you it in action: 

WebIDE is based on Mozilla's Firefox Remote Debugging Protocol. This is what is used to make remote connections to browsers running on mobile hardware connected via USB. As the protocol is open source, Mozilla encourages its re-use.

Of course once you get beyond the simple self-contained app, things become slightly more complicated. If you are building an app that needs a backend server, you are going to have to set things outside of WebIDE to make it all work. It seems strange that we are only just tackling the problem of providing adequate tools for the creation of web apps. It is arguable that even WebIDE isn't yet adequate for the job, but it is very much a step in the right direction.

More Information
WebIDE Lands in Nightly


Source: http://www.i-programmer.info/news/86-browsers/7459-firefox-evolves-into-a-full-ide.html
0 Comments

Google's Nest Moves To Become Master Of The Smart Home, By Talking To Other Devices

6/24/2014

0 Comments

 
Nest Labs is taking the next step in its quest to become a hub for the smart home, by letting other gadgets and services access its learning thermostat and smoke detector for the first time.

With the long-awaited developer program Nest is launching today, other apps and devices will be able to access what Nest detects through its sensors, including vague readings on temperature and settings that show if a person is away from their home for long periods. These services will even be able to talk to one another via Nest as the hub.

Nest, founded by former Apple executive Tony Fadell, has long-been seen as one of the leading companies in the smart home revolution. Google bought the company for $3.2 billion in January, and last week Nest bought video monitoring service DropCam for $555 million to (for better or worse) learn how people behave in their homes, for instance by reportedly tracking how doors are open and shut.

Crucially, Nest is not letting third parties get access to the motion sensors on its thermostat and smoke alarm, says co-founder Matt Rogers — though it’s unclear what sort of access Nest might eventually give to DropCam’s video footage. “We’ve been building it for about a year,” he says. “One reason it’s taken us this long to build is we realized we had to be incredibly transparent with our user about data privacy.”

That means plenty of reminders to developers about what data can be used for, and requirements that they get user permission before sharing data with Nest. It will be a private, but very open platform, says Rogers. Apple’s own foray into smart homes with a service called HomeKit will likely have far more restrictions.

“Also,” he points out, “ours is not vaporware.”

Nest is expecting myriad developers to start building integrations into its two main devices, but it’s already done some early integrations with eight other companies, including wearable-fitness tracker firm Jawbone, Mercedes-Benz and Google Now, the digital mobile assistant that learns about a person’s routines and notifies them of important information. The pitch from Nest: “create a more conscious and thoughtful home.”

As of today, the Jawbone UP24 band will have a setting that turns on the Nest thermostat when it senses its wearer has woken up from a night’s sleep. Mercedes-Benz’s cars will be able to tell Nest when a driver is expected home, so it can set the temperature ahead of time. Smart lights made by LIFX can also be programmed to flash red when the Nest Protect detects smoke, or randomly turn off and on to make it look like someone is home when Nest’s thermostat is in “away” mode.

Developers are excited about the program because it means they can learn more about users than they could before. One partner in the program who didn’t want to be named, said that the extra data they could collect from Nest’s devices could help them become more competitive in their own field. “We can’t live with just the information we get naturally,” they said.

Another developer also saw Nest’s program as a “gateway” to learning more about potential customers and interacting with them. “Nest understands where people are in home, who’s in the home, what time they leave the home,” says Grant Wernick, co-founder of local-search and leisure-recommendation service Weotta. “As they open more of this up, companies like us could be able to plug into some of this data that people can opt into. We can make proactive recommendations of things people can do on Friday night.”

Opening up to other services is integral to Nest’s re-invention of the humble thermostat, which some say parallels the way Apple reinvented the mobile phone. “It’s going to be a huge, huge game changer and it’s only the beginning,” Wernick says, adding that the role of the smart thermostat may be gradually morphing “to being a controller for your house and lifestyle.”

Google Now is the key link back to Nest’s parent company Google, but Nest insists Google won’t get greater powers over its platform. Google Now could connect to other appliances through Nest and, for instance, turn off the LIFX lights, a spokesperson said, but that’s up to the individual developers to work out between themselves.

The bigger advantage for Google is what it can learn through Nest and potentially through other devices connected to it. Wernick believes Google Now will eventually be able to use Nest as just another sensor point to learn more about people’s lifestyles, so it can better predict habits. “It’s going to understand your behavior better to help guide you in your life,” he says.

Would Google Now be able to use Nest’s data to serve Google’s all-important advertising ambitions?

“Nope,” says Nest’s Rogers. “We’re clear our data can only be used for what a developer will use it for.” He added that Nest has a small team that will monitor what sort of tie-in services developers build. “We don’t want anyone to make the rob-my-house app,” he says.

Still, there may be reasons to be wary of Nest offering to share its platform with any other service with a web connection.

“Nest is sticking its toe in home automation, which opens them to all the same problems that home automation companies are dealing with,” says Dan Tentler, founder of security company Aten Labs and expert on SHODAN, the search engine for Internet-connected devices.

With the explosion of API connections, could Nest’s platform be hackable? “At this point it’s a wait and see,” says Tentler. “Nest has a lot of user data and that user data could be parenthetically valuable to a variety of different people.”

Tentler points out he has yet to hear of anyone in the InfoSec community trying to openly attack Nest. But, he adds, “when something goes live, the pressure is on.”


Source: http://www.forbes.com/sites/parmyolson/2014/06/24/google-nest-smart-home-internet-of-things/
0 Comments

John Willis on the "State Of The Union" for DevOps

6/21/2014

0 Comments

 
John Willis, one of the leading lights of the DevOps community, addressed the "State Of The 'DevOps' Union" at DevOpsDays Amsterdam. He started by mentioning the findings of the 2014 State of DevOps Report, went on to discuss Software Defined Everything and asserted that the future will be built around "consumable composable infrastructure".

The 2014 State of DevOps Report, which got more than 9000 responses, suggests that IT performance has a direct correlation with business performance. It confirms that DevOps practices increase IT performance and so the future of DevOps is of unusual importance.  It found that job satisfaction is the number one predictor of organizational performance.

John asserts that we are witnessing the decoupling of hardware and software. Everything is becoming  programmable.  This, in turn, gives rise to the concept of Software Defined Everything (or Software Defined Data Center).

John also sees the trend towards a consumable composable infrastructure. That infrastructure is composed of small, independent modules, which do not require extreme expertise to use and so are accessible to a wider community. The state of the art is approaching that ideal.

Software Defined Everything

John Willis thinks that we need to reach a point where an application just needs to declare its infrastructure requirements, such as CPU, memory or network security. With those requirements, future tools and the supporting infrastructure should both create and configure the servers that contain the application as well as the virtual perimeter around them. This virtual perimeter should include all the expected bits, such as firewalls and load balancers.

Software Defined Everything (or Software Defined Data Center) consists mainly of Software Defined Computing, Software Defined Networking and Software Defined Storage.

Software Defined Computing, a.k.a. virtualization, has been the focus of the IT community and tools like Chef or Puppet. John Willis believes it is being disrupted by containers and commented that Docker must be the fastest growing technology he has seen in a long while. As an example of this trend, Google has committed to using Docker, despite having been using containers for a few years now. Computing was also the first instance where hardware and software decoupled.  The advent of x86 servers fostered the birth of a myriad of OSes.

On the networking side, Software Defined Networking (SDN) requires the decoupling of the data plane from the control plane. The data plane manages the packet traffic. The control plane determines how a switch or router interacts with its neighbors. OpenFlow leverages this decoupling and, according to John, is to SDN what HTTP is to the Web. OpenFlow is a communications protocol that allows remote programmability of network switches and routers. The rise of bare metal switches, pared-down switches that are meant to be controlled by software, reinforces that decoupling.

Even on the storage arena, the hardware/software decoupling is taking root. IP-based storageuses IP protocols to simplify the management of storage infrastructure, thereby facilitating Software Defined Storage approaches.

Consumable Composable Infrastructure

A few years ago a physical server might require 8 weeks to provision. That time has steadily decreased with a succession of improvements: from the virtual machines, through IaaS and Paas, to the containers that take 500 ms to launch.

Docker has brought several significant improvements. It commoditized containers and uses software development metaphors for infrastructure management. Git-like workflows drive the container's changes. John considers portable container images, which work bit like binaries, "game changers". A portable image is infrastructure packaged as an application. Docker lowers the barrier and makes infrastructure both more consumable and composable. John also suggested that hypervisors might not be needed sometime in the future, as containers might replace them.

Docker containers need to run on a server, but which one? Applications like Apache Mesos, used by Twitter and AirBnB, or Google's recently open-sourced Kubernetes perform that orchestration or scheduling. John Wilkes has a presentation on how Google manages its container's clusters.

In a containerized, cloud-enabled world, operating systems need also to be adapted to that context. CoreOS and Project Atomic are instances of these new realities.


Source: http://www.infoq.com/news/2014/06/john-willis-state-of-the-union
0 Comments

Google's Go Gets Faster

6/20/2014

0 Comments

 
Go 1.3 has been released after almost 3 months of beta. The new version has no language changes over 1.2, but comes with several performance improvements, support for running command-line programs under Native-Client and several other enhancements.

Some of the most interesting performance and implementation changes -

  • Go routine stacks now use a contiguous model instead of the old "segmented" model
  • GC is faster - uses concurrent sweep algorithm, has better parallelization and larger pages; leading to 50-70% reduction in GC pause times. It is also now precise when examining values on the stack too.
  • Runtime handles defers more efficiently
  • Race detector is around 40% faster
  • Regexp (regular expressions package) now has a second, one-pass execution engine making it faster for certain simple expressions
  • sync.Pool - a new type that provides efficient mechanism for implementing caches whose memory can be reclaimed by the system
  • Iterations over small maps no longer happen in consistent order; this is to avoid developers writing code that depends on map iteration order, since such code would work well only on some systems
There are also several tooling improvements -

  • godoc can now perform static analysis of the code it indexes
  • misc/benchcmp (benchmarking tool) has been rewritten as a Go program
  • Compilers and linkers have been refactored; the instruction selection phase has been moved to the compiler, which can speed up incremental build times for large projects
  • gc toolchain now supports Native Client (NaCl) execution sandbox on 32- and 64-bit Intel architectures. Note that Go 1.3-generated binaries still cannot be run directly by Google Chrome.
There is also a security fix for the crypto/tls library.

You can read more about all the changes in the release notes.


Source: http://www.infoq.com/news/2014/06/go-1-3
0 Comments

Google Web Fundamentals and Web Starter Kit

6/20/2014

0 Comments

 
Google has published a number of guidelines and boilerplate code for cross-platform responsive website design.

Aware of the challenges met by developers due to the existence of a large variety of devices, especially mobile ones, Google has published Web Fundamentals, a set of guidelines and best practices for modern web development. Web Fundamentals includes advice with HTML, CSS or JavaScript code samples for the following areas:

  • Tools. Selecting an editor, setting up developer tools, setting up a build process, debugging with Chrome DevTools, testing on the device, on the emulator and in the cloud, etc.
  • Layout. Google recommends Responsive Website Design using CSS3 Media Queries with multiple breakpoints for various screen sizes, responsive web design patterns – Fluid Layout, Column Drop, Layout Shifter, Off Canvas-, plus a number of navigation and action patterns – App, Tab and Bottom Bars, Navigation Drawer.
  • Forms & User Input. Choosing forms that work on mobile devices, dealing with real-time validation, dealing with touch and implementing custom gestures.
  • Images, Audio, Video. – Advice for using <img>, CSS background, SVG for icons, image performance issues, dealing with videos, legacy platforms, accessibility issues, etc.
  • Performance. Optimizing the Critical Rendering Path, using PageSpeed, tuning content performance by eliminating unnecessary downloads, optimizing encoding and images, using HTTP caching, etc.
  • Device Sensors and Capabilities. Advice on accessing user’s location, device orientation and motion, making calls.
Beside guidelines, Google is providing Web Starter Kit (WSK), a package with boilerplate code and tooling for creating multi-device websites. Inspired by Mobile Boilerplate, Web Starter Kit includes code for mobile HTML pages, responsive layout, a visual components style guide, and the optional gulp.js build tool.

WSK targets the latest two versions of Chrome, Firefox, Safari, Opera, IE 10& 11, but also the mobile browsers for Android, iOS, Windows Phone and Blackberry.

Both the Web Fundamentals related code and Web Started Kit code are open source and available on GitHub.


Source: http://www.infoq.com/news/2014/06/google-web-design
0 Comments

Google Chrome PDF Engine is now Open Source

6/20/2014

0 Comments

 
Google has open sourced Chrome PDF engine, which allows to view and print PDF files, and fill PDF forms. The announcement came earlier this month from Foxit Software, the original maker of Foxit PDF SDK, which Google chose as the base for its Chrome PDF engine. Formerly closed-source, Chrome PDF code is now hosted on Google Source as the PDFium open source project.

According to François Beaufort, open-source Chromium evangelist at Google and previously known as Chrome feature leaker, "by open-sourcing Foxit’s PDF technology, the Chromium team gives developers a robust and reliable PDF library to view, search, print, and form fill PDF files."Chrome UI engineer Peter Kasting describes PDFium as "almost certainly the highest-quality PDF engine available in the open-source world."

PDFium's wiki provides a couple of useful pointers to get started with the library:

  • The official API documentation is available on Foxit Software website.
  • A good example of how PDFium API can be used by a client software is available in Chrome's PDF plugin.
  • Build instructions are also given in the wiki.
PDFium's build system is based on GYP, which generates platform-specific build files from meta build files. Thanks to GYP, PDFium can be easily built through a makefile, a Visual Studio solution, or an Xcode project, according to the platform.

As InfoQ has had the opportunity to verify, the build process is straightforward and build files are only generated for desktop environments. It is not clear whether the library can be adapted to running on a mobile device, since Foxit also makes a specific PDF SDK for embedded systems.

With the open-sourcing of PDFium, the list of Chrome components that are openly available asChromium becomes longer. A notable component that is not yet open source is the built-in Flash player.

The project is released under the "New BSD License".


Source: http://www.infoq.com/news/2014/06/google-chrome-pdf-engine-free
0 Comments
<<Previous

    Author

    NovaED

    Archives

    June 2014
    May 2014
    April 2014
    March 2014
    September 2013
    July 2013
    June 2013
    August 2012
    June 2012
    May 2012
    April 2012
    March 2012
    February 2012
    January 2012
    November 2011
    October 2011

    Categories

    All

    RSS Feed


©2012 NovaED IT Training Services, Inc. 21/F The Pearlbank Centre, 146 Valero Street, Salcedo Village, Makati City, Metro Manila 1227 Philippines. +63 (2) 478-7345