Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Events
Videos
Audiobooks
Packt Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds

Tech News

3711 Articles
article-image-openai-five-bots-beat-a-team-of-former-pros-at-dota-2
Natasha Mathur
06 Aug 2018
3 min read
Save for later

OpenAI Five bots beat a team of former pros at Dota 2

Natasha Mathur
06 Aug 2018
3 min read
Back in June, OpenAI Five, the artificial intelligence bot team, had smashed amateur humans in the video game Dota 2.  But, this time it set a completely different standard by beating semi-professional players at the Dota 2 game, yesterday. This was part of an effort to benchmark the progress of the bots so far as the openAI team plans to beat a team of top professionals at The International Dota 2 championship, taking place from August 20 to 25. As mentioned in the OpenAI blog, “Dota 2 is one of the most popular and complex esports games in the world, with creative and motivated professionals who train year-round to earn part of Dota’s annual $40M prize pool (the largest of any esports game)”. It requires its players to have fast-twitch reflexes, strong knowledge of game strategies, along with solid teamwork. OpenAI Five fight as a group and consists of five neural networks. The game started off with OpenAI Five playing warm-up games with the audience. Later, the OpenAI Five team played a three-game series, against a group of humans, that included former Dota 2 professionals and casters, Merlini, Fogged, Cap, and Blitz. The OpenAI Five performed really well in the first two games. For the final game, the OpenAI team let the audience select their team of five heroes, which handicapped the bots’ chances of winning. Humans won the last round, finishing the series with a score of 2-1. According to the OpenAI blog, “OpenAI Five plays 180 years worth of games against itself every day, learning via self-play. It trains using a scaled-up version of Proximal Policy Optimization running on 256 GPUs and 128,000 CPU cores”. Proximal Policy Optimization ( PPO ) refers to a new class of reinforcement learning algorithms. It has become the default algorithm of choice for OpenAI as it is easy to implement and performs well. It involves “computing an update at each step that minimizes the cost function”. The OpenAI team had made small changes to their neural network bot last month. This included increasing its reaction time and using new strategies. This is not the first time when a computer has beaten human beings in games. From computers beating humans at chess to computers winning debates against humans, the chances of OpenAI Five beating professionals at The International does not seem that low. But what has set apart OpenAI Five’s achievement from the rest is its ability to optimize strategies well in a team as opposed to simply learn to master strategies as individual players. If you enjoyed reading this, be sure to check out the entire account on twitch, Dota 2 game: OpenAI Five vs Humans. Alibaba introduces AI copywriter AI beats Chinese doctors in a tumor diagnosis competition Meet CIMON, the first AI robot to join the astronauts aboard ISS
Read more
  • 0
  • 0
  • 11718

article-image-warp-rusts-new-web-framework
Melisha Dsouza
06 Aug 2018
3 min read
Save for later

Warp: Rust's new web framework

Melisha Dsouza
06 Aug 2018
3 min read
Warp is a new Rust web framework. Built by Sean McArthur and Carl Lerche, it's a tool for building and managing web servers. More specifically, it was designed to give developers more control over how they to configure routes within their services. It's worth pointing out that Rust's Warp shouldn't be confused with Haskell's Warp - in the Haskell world, Warp is a lightweight web server for WAI applications. This article was amended 7.25.2019 to clarify that Rust's Warp framework and Haskell's Warp frameworks are different. What's the thinking behind Rust's Warp framework? In a blog post announcing the framework, McArthur explains that the inspiration for Warp came out of his experience working with many different frameworks and tools - most recently Node.js. He writes: "I found that I often times need to configure predicates, like certain headers required, query parameters needed, etc, and sometimes, I need to configure that a set of routes should be 'mounted' at a different path, and possibly want certain predicates there too. I noticed the concept of mounting or sub-routes or sub-resources or whatever the framework calls them didn’t feel… natural, at least to me." With this challenge setting the context for Warp, McArthur's love of Rust and the highly functional aspect of Scala tools like Finch and Akka helped to lay the technical foundations for the web framework. Central to the framework are filters. Read next: Will Rust replace C++? What are filters in the Warp web framework? Filters are a feature that makes configuring endpoints easier. McArthur explains by saying they are "a function that can operate on some input... and returns some output, which could be some app-specific type you wish to pass around, or can be some reply to send back as an HTTP response." The advantage of this is that if you are trying to "piece together data from several different places of a request before you have your domain object" you can treat each source as a 'filter' and combine them in a relatively straightforward manner. McArthur repeatedly uses the word 'natural' - to put it another way, it makes things easier and cleaner for the developer. Read next: Rust 1.28 is here with global allocators, nonZero types and more The Rust ecosystem is growing It's not news that Rust is a hugely popular programming language. In this year's Stack Overflow survey, Rust was listed as the most loved language by respondents (3 years running!). However, it hasn't seen extensive and rapid growth despite its advantages - with a growing ecosystem of tools like Warp that could well change over the next couple of years.
Read more
  • 0
  • 0
  • 23898

article-image-google-open-sources-filament-rendering-engine-for-android
Sugandha Lahoti
06 Aug 2018
2 min read
Save for later

Google open sources Filament - a physically based rendering engine for Android, Windows, Linux and macOS

Sugandha Lahoti
06 Aug 2018
2 min read
Google has just open-sourced Filament, their physically based rendering (PBR) engine for Android. It can also be used in Windows, Linux, and macOS. Filament provides a set of tools and APIs for Android developers to help them easily create high-quality 2D and 3D rendering. Filament is currently being used in the Sceneform library both at runtime on Android devices and as the renderer inside the Android Studio plugin. Apart from Filament, Google has also open sourced Materials, the full reference documentation for their material system. They have also made available Material Properties which is a reference sheet for the standard material model. Google’s Filament comes packed with the following features: The rendering system is able to perform efficiently on mobile platforms. The primary target is OpenGL ES 3.x class GPUs. The rendering system emphasizes overall picture quality. Artists are able to iterate often and quickly on their assets and the rendering system allows them to do so instinctively. The physically based approach of the system also allows developers to create visually believable materials even if they don’t understand the theory behind the implementation. The system relies on as few parameters as possible to reduce trial and error and allows users to quickly master the material model. The system uses physical units everywhere possible: distances in meters or centimeters, color temperatures in Kelvin, light units in lumens or candelas, etc. The rendering library is as small as possible so any application can bundle it without increasing the binary to unwanted sizes. Filament APIs There are two major APIs used. Native C++ API for Android, Linux, macOS, and Windows Java/JNI API for Android, Linux, macOS, and Windows Backends OpenGL 4.1+ for Linux, macOS, and Windows OpenGL ES 3.0+ for Android Vulkan 1.0 for Android, Linux, macOS (with MoltenVk) and Windows A sample material rendered with Filament. Source: Github You can check out the Filament Documentation, for an in-depth explanation of real-time PBR, the graphics capabilities and implementation of Filament. Google open sources Seurat to bring high precision graphics to Mobile VR Google releases Android Things library for Google Cloud IoT Core Google updates biometric authentication for Android P, introduces BiometricPrompt API
Read more
  • 0
  • 0
  • 21086

article-image-tensorflow-1-9-now-officially-supports-raspberry-pi-bringing-machine-learning-to-diy-enthusiasts
Savia Lobo
06 Aug 2018
2 min read
Save for later

Tensorflow 1.9 now officially supports Raspberry Pi bringing machine learning to DIY enthusiasts

Savia Lobo
06 Aug 2018
2 min read
The Raspberry Pi board developers can now make use of the latest TensorFlow 1.9 features to build their board projects. Most developers use Raspberry Pi for shaping their innovative DIY projects. The Pi also acts as a pathway to introduce people to programming with an added benefit of coding in Python. The main objective of blending TensorFlow with the Raspberry Pi board is to let people explore the capabilities of machine learning on cost-effective and flexible devices. Eben Upton, the founder of the Raspberry Pi project, says, “It is vital that a modern computing education covers both fundamentals and forward-looking topics. With this in mind, we’re very excited to be working with Google to bring TensorFlow machine learning to the Raspberry Pi platform. We’re looking forward to seeing what fun applications kids (of all ages) create with it.” By being able to use TensorFlow features, existing users, as well as new users, can try their hand on live machine learning projects. Here are few real-life examples of Tensorflow on Raspberry Pi: DonkeyCar platform DonkeyCar, a platform to build DIY Robocars, uses TensorFlow and the Raspberry Pi to create self-driving toy cars. Object Recognition Robot The Tensorflow framework is useful for recognizing objects. This robot uses a library, a camera, and a Raspberry Pi, using which one can detect up to 20,000 different objects. Waste sorting robot This robot is capable of sorting every piece of garbage with the same precision as a human. This robot is able to recognize at least four types of waste. To identify the category to which it belongs, the system uses TensorFlow and OpenCV. One can easily install Tensorflow from the pre-built binaries using Python pip package system from the pre-built binaries. One can also install it by simply running these commands on the Raspbian 9 (stretch) terminal: sudo apt install libatlas-base-dev pip3 install tensorflow Read more about this project on GitHub page 5 DIY IoT projects you can build under $50 Build your first Raspberry Pi project How to mine bitcoin with your Raspberry Pi
Read more
  • 0
  • 0
  • 16586

article-image-angular-7-beta-0-is-here
Natasha Mathur
06 Aug 2018
3 min read
Save for later

Angular 7 beta.0 is here!

Natasha Mathur
06 Aug 2018
3 min read
After the release of Angular 6.1.0 last month, Angular 7 beta.0 is here. The new version, released last week, explores new features, bug fixes and other updates among others. Angular 7 beta.0 includes a new feature, namely, Angular Compatibility Compiler (ngcc).This new compiler helps convert the node_modules, which have been compiled with ngc, into node_modules that appear to have been compiled with ngtsc. This conversion, further, allows these “legacy” packages to be used by the Ivy rendering engine. Also, XMB placeholders ( <ph>) have been updated to include the original value on top of an example. Now placeholders can have one example(<ex>) tag and a text node. The compiler has been updated to flatten nested template fns. Apart from the newly added compiler features, there are certain bug fixes included as well. In Bazel, compile_strategy() is now used to decide whether to build Angular code using ngc (legacy) or ngtsc (local). compile_strategy() is importable in Angular 7 beta.0 to enable g3 BUILD rules to switch properly. It also allows ivy testing in g3. In Ivy, Template functions are no longer nested inside each other. The parent contexts are re-defined explicitly through an instruction, instead of nesting the functions and using closures to get parent contexts. This gets rid of the need to create multiple function instances for loops that are nested inside other loops. TView.components are no longer used for directive indices (just host element indices). The components array can be cut in half as the context for components is now being stored in the component’s LViewData instance. There’s also a new instruction, reference() (r()) in Angular 7 beta.0. Earlier, closures were used to get access to local refs in parent views. With nested template functions being flat now; we need another way to walk the view tree. reference takes a nesting level, and the local ref’s index then walks the view tree to find the correct view and loads the local ref.w. from there. Angular 7 beta.0 is now enabled with better error handling for @output in cases where the property is not initialized. Angular 7 will be released sometime in September/October 2018. For more information on the latest Angular 7 beta.0 release, check out the official release notes. Angular 6.1.0 is here! Build user directory app with Angular [Tutorial] Why switch to Angular for web development – Interview with Minko Gechev ng-conf 2018 highlights, the popular angular conference  
Read more
  • 0
  • 0
  • 17811

article-image-django-2-1-released-with-new-model-view-permission-and-more
Sugandha Lahoti
06 Aug 2018
3 min read
Save for later

Django 2.1 released with new model view permission and more

Sugandha Lahoti
06 Aug 2018
3 min read
Django 2.1 has been released with changes to Model view permissions, Database backend API, and additional new features. Django 2.1 supports Python 3.5, 3.6, and 3.7. Django 2.1 is a time-based release. The schedule followed was: May 14, 2018 Django 2.1 alpha; feature freeze. June 18 Django 2.1 beta; non-release blocking bug fix freeze. July 16 Django 2.1 RC 1; translation string freeze. ~August 1 Django 2.1 final Here is the list of all new features: Model view permission Django 2.1 adds a view permission to the model Meta.default_permissions. This new permission will allow users read-only access to models in the admin. The permission will be created automatically when running migrate. Considerations for the new model view permission With the new “view” permission, existing custom admin forms may raise errors when a user doesn’t have the change permission because the form might access nonexistent fields. If users have a custom permission with a codename of the form can_view_<modelname>, the new view permission handling in the admin will allow view access to the changelist and detail pages for those models. Changes to Database backend API To adhere to PEP 249, exceptions where a database doesn’t support a feature are changed from NotImplementedError to django.db.NotSupportedError. The allow_sliced_subqueries database feature flag is renamed to allow_sliced_subqueries_with_in. The DatabaseOperations.distinct_sql() now requires an additional params argument and returns a tuple of SQL and parameters instead of a SQL string. The DatabaseFeatures.introspected_boolean_field_type is changed from a method to a property. Dropped support for MySQL 5.5 and PostgreSQL 9.3 Django 2.1 marks the end of upstream support for MySQL 5.5. It now supports MySQL 5.6 and higher. Similarly, it ends the support for PostgreSQL 9.3. Django 2.1 supports PostgreSQL 9.4 and higher. SameSite cookies The cookies used for django.contrib.sessions, django.contrib.messages, and Django’s CSRF protection now set the SameSite flag to Lax by default. Browsers that respect this flag won’t send these cookies on cross-origin requests. Other Features It removes BCryptPasswordHasher from the default PASSWORD_HASHERS setting. The minimum supported version of mysqlclient is increased from 1.3.3 to 1.3.7. Support for SQLite < 3.7.15 is removed. The multiple attribute rendered by the SelectMultiple widget now uses HTML5 boolean syntax rather than XHTML’s multiple="multiple". The local-memory cache backend now uses a least-recently-used (LRU) culling strategy rather than a pseudo-random one. The new json_script filter safely outputs a Python object as JSON, wrapped in a <script> tag, ready for use with JavaScript. These are just a select few updates in available in Django 2.1. The release notes cover all the new features in detail. Getting started with Django RESTful Web Services Getting started with Django and Django REST frameworks to build a RESTful app Python web development: Django vs Flask in 2018
Read more
  • 0
  • 0
  • 15604
Unlock access to the largest independent learning library in Tech for FREE!
Get unlimited access to 7500+ expert-authored eBooks and video courses covering every tech area you can think of.
Renews at $19.99/month. Cancel anytime
article-image-all-new-android-apps-on-google-play-must-target-api-level-26-android-oreo-or-higher-to-publish
Savia Lobo
03 Aug 2018
3 min read
Save for later

All new Android apps on Google Play must target API Level 26 (Android Oreo) or higher, to publish

Savia Lobo
03 Aug 2018
3 min read
At the Google I/O Event held in May 2018, Google advised all developers to update to the latest Android APIs by August 1, 2018. Google has instructed that all the new Android apps on Google Play should target API Level 26 (Android Oreo) in order to be published. The main reason for this strict decision is Google’s focus on security updates. Google plans to introduce Project Treble in Android 7, making it easier for mobile phone manufacturers to release Android OS updates to the devices. Google is working hard on backward compatibility and support APIs; however it is very important to target latest APIs to fully utilize the new features and backward compatibility support. Google’s roadmap for the new Android updates All Google wants the users to do is update all new and existing Android apps immediately. Here’s Google’s plan for users to ensure which apps to update and when. Things to do in August 2018 All the new apps are required to target API level 26 (Android Oreo 8.0) or higher. This means all the new apps that are not yet uploaded on Google Play (including the alpha and beta apps as well.) In November 2018 The updates to the existing apps--available on Google--are required to target API level 26 (Android Oreo 8.0) or higher. Please note here that existing apps which are not providing any updates are unaffected and will continue to work in a normal manner. Only the updates to those apps are required to target the latest APIs. 2019 Onwards Google mentions that each year the targetSdkVersion requirement will advance to the new level. And all the new apps and existing apps will need to target the corresponding API level or higher within one year of time. Developers can freely use a minSdkVersion of their choice. This means, there is no change to one’s ability to build apps for older Android versions. Google encourages developers to provide backward compatibility as far as reasonably possible. The updating process It is a very easy procedure per Google. There are some APIs which have been updated or removed in the latest API level. If any app is using those, then one will have to update the code accordingly. Following are some changes specified from recent platform versions: Implicit intents for bindService() no longer supported (Android 5.0) Runtime permissions (Android 6.0) User-added CAs not trusted by default for secure connections (Android 7.0) Apps can’t access user accounts without explicit user approval (Android 8.0) Know more about this update process by watching a Google IO 2018 session on ‘Migrate your existing app to target Android Oreo and above’ given below https://www.youtube.com/watch?v=YyDnYaFtRS0&feature=youtu.be Unity partners with Google, launches Ml-Agents ToolKit 0.4, Project MARS and more Working with shaders in C++ to create 3D games GitHub for Unity 1.0 is here with Git LFS and file locking support  
Read more
  • 0
  • 0
  • 16471

article-image-googles-smart-display-push-towards-os-fuchsia
Amarabha Banerjee
03 Aug 2018
5 min read
Save for later

Google's Smart Display - A push towards the new OS, Fuchsia

Amarabha Banerjee
03 Aug 2018
5 min read
There is no denying that Amazon Echo, HomePod and Alexa have brought about a revolution in the digital assistant space. A careful study will however point to few common observations about these products. They are merely a representation of what the assistant is thinking. They can only perform scheduled tasks like playing a song, answering predefined questions, making a todo list. This is where the latest innovation by Lenovo on the Google powered Smart Assistant stands out. It’s not just an assistant that can perform pre-planned tasks, it’s a Smart Display. How does Google’s Lenovo Smart Display look? Source: Techhive The Google Smart Display UI comes in two versions: an 8-inch model with a 1280 x 800 resolution touchscreen for $US200, and a larger 10-inch version with a 1920 x 1200 display. Although Lenovo is the first company in the Smart Display UI domain, others like JBL, LG are also planning to come up with their own versions of this. The screen is not merely an add-on to the speaker based systems like Alexa, but it is a display based on the Google smart assistant, which really increases its functionality. The rear design is sleek and it’s easy to be used on Desktop. What does it do? The Smart Display runs on Qualcomm's 624 Home Hub platform, which is the faster of its two architectures for Android Things devices. While the Qualcomm 212 platform works well for things like smart speakers and low-power smart home accessories, the 624 Home Hub platform is better suited for the Smart Display UI. It helps to process Google Assistant requests both audio visually. How is the Smart Display different THe main question here is how is it different or better than the existing solutions like Amazon Alexa, or Echo? SImple tests of performance have yielded different results in favor of the SMart Display UI. A search on Alexa makes it search the internet and read out the first few answers. This can be interpreted as a question answer based smart system. Whereas the Smart Display UI doesn’t just bring up a relevant graphical display, it displays some relevant links and the most important aspect of your search on the screen. This is significantly faster than others. The reason being the powerful Google AI behind the system. From Android to Fuchsia The smart display UI and the already successful launch of chrome OS has triggered discussions around the possible replacement of Android with the Futuristic Fuchsia. The discussion is centered around Google’s intentions of creating a mobile OS that will have a formalized update cycle. An OS which won’t have different versions running across different devices. Chrome OS seems to be the first step, which runs on the same Linux kernel as Android. While the recent developments related to Fuchsia are still under the wraps, Google might want to finally use Android as a runtime on Fuchsia. This can be a difficult task to perform, but it is a better option than running two kernels in the overhead, one for Android and the other for Fuchsia. The signs that show that this smart display UI is a way to test waters for Fuchsia are plenty. The smart display UI is completely based on the Google Smart Assistant, which will be the core of Fuchsia. It doesn’t have a home button or an app menu button. You can navigate and search using voice command. Voice command is also at the heart of Fuchsia. Rather than swiping on screen, you will be able to navigate and search with voice command. Android P, next in line for release, is also moving towards a similar UI. Android P will display your apps as cards and will promote them to the system level and avoid a complete launch. This will help in reducing system overhead and stop apps from running perpetually. From all these indicators, it seems to be a natural progression for this smart display UI system to become the face of the Fuchsia operating system. The challenge will be in migrating the present Android phones to Fuchsia. Since Android is currently written in Java and bundled in a JVM bubble to cater to the android system, developers believe that it wouldn’t be a difficult task to create such an intermediate layer for Fuchsia which is written in Dart. The shift however seems a bit far fetched for now. Some discussions on reddit suggest it might be as as late as 2022.  But the drive for this change is pretty clear, The need to have a uniform OS across all devices The independence of the OS performance on system resources Taking backend operations to the cloud Making the UI voice controlled and reducing the touchscreen for a mere visual tool. We can only hope that Fuchsia can solve the problems for the users that Android couldn’t. Uniform mobile computing platform can be a good start, and Fuchsia seems to be the perfect successor to carry forward the legacy of Android and its huge fan base. Android P Beta 4 is here, stable Android P expected in the coming weeks! Is Google planning to replace Android with Project Fuchsia? Boston Dynamics’ ‘Android of robots’ vision starts with launching 1000 robot dogs in 2019
Read more
  • 0
  • 0
  • 17637

article-image-microsoft-surface-go-is-now-shipping
Sugandha Lahoti
03 Aug 2018
2 min read
Save for later

Microsoft Surface Go is now shipping at $399

Sugandha Lahoti
03 Aug 2018
2 min read
Microsoft’s tiny two-in-one tablet Surface Go is now shipping! Microsoft launched Surface Go last month, as the smaller, and cheaper version of its expensive counterpart, the Surface Pro device. Surface Pro is Microsoft’s response to the popular 2018 iPad and Chromebooks with features such as a 10-inch screen, front-facing camera with facial recognition, USB-C 3.1 port, and an integrated kickstand among others. Surface Go comes with Intel’s Pentium Gold 4415Y processor. Its processor is a dual-core seventh-generation model. According to Microsoft, this was chosen as it is able to provide the right balance between performance, battery life, and thermal properties which allows for a thin, fanless design. The device comes with a 10-inch display and weighs nearly 500g. The base model of the Surface Go is $399, the upgraded version, however, costs around $549 per model. Those prices don’t include the cost of the Surface keyboard, which comes for $100 extra for a basic model. You can also get the keyboard in $125 Alcantara Signature version. It also supports inking with the Surface Pen costing $99. There’s also a new $34.99 Surface Mobile Mouse. It is a two-button, ambidextrous, Bluetooth mouse which comes with a scroll wheel. It is available in colors like silver, red, and blue. For now Surface Pro is available to purchase online from the Microsoft Store in 25 countries only. Depending on the region the prices may vary. For the US, the price ranges between $399 and $599 depending on the RAM (4 or 8GB), storage (64 or 128GB), as well as the operating system (Windows 10 Home S-mode, or Windows 10 Pro). Microsoft launches Surface Go tablet at just $399 Microsoft launches a free version of its Teams app to take Slack head on Microsoft Edge introduces Web Authentication for passwordless web security
Read more
  • 0
  • 0
  • 7893

article-image-think-silicon-open-sources-glove-an-opengl-es-over-vulkan-middleware
Savia Lobo
03 Aug 2018
2 min read
Save for later

Think Silicon open sources GLOVE: An OpenGL ES over Vulkan middleware

Savia Lobo
03 Aug 2018
2 min read
Think Silicon, a firm that delivers ultra-low power graphics IP technology recently open sourced  GLOVE (GL Over Vulkan). GLOVE, a middleware allows Android, Linux, and Windows OS developers to seamlessly run OpenGL ES on supported hardware by translating OpenGL ES API calls to Vulkan API commands at runtime. Why GLOVE (GL Over Vulkan)? OpenGL and OpenGL ES are the most widely used standards for the development of graphics-based applications. Increased complexity of driver's implementation based on OpenGL and OpenGL ES led to the introduction of Vulkan (a lower-level API that transfers much of the driver's functionality to the application-side). However, in most situations, a direct transition to Vulkan requires additional efforts by the developers and vendors. This means they are forced to maintain driver support for both Vulkan and OpenGL. With the introduction of GLOVE, developers can seamlessly transition their software between both Vulkan and OpenGL APIs. Following this, vendors are able to discard duplicate OpenGL ES drivers and rely solely on a lighter implementation of the Vulkan API. Additional features of GLOVE GLOVE allows running OpenGL ES calls not only on Android and Linux systems but also on Windows operating systems, which was not possible before. It also offers the possibility to run legacy applications and games on top of Vulkan at a glance. This saves a lot of effort and provides backward compatibility. It allows you to quickly explore Vulkan driver capabilities and performance by using existing OpenGL ES code. Its modular design can be easily extended to encompass implementations of other client APIs as well. Dimitris Georgakakis, Team Lead, Graphics Software Stack, Think Silico said, "We are excited to release GLOVE™ as Open Source Project to the graphics developer community and we will continue our efforts to support more platforms and features to ensure GLOVE™ can be useful in a lot of use cases.” Read more about GLOVE (GL Over Vulkan) on ThinkSilicon release notes. Implementing Unity 2017 Game Audio [Tutorial] Unity assets to create interactive 2D games [Tutorial]
Read more
  • 0
  • 0
  • 15245
article-image-google-to-launch-a-censored-search-engine-in-china-codenamed-dragonfly
Sugandha Lahoti
03 Aug 2018
3 min read
Save for later

Google to launch a censored search engine in China, codenamed Dragonfly

Sugandha Lahoti
03 Aug 2018
3 min read
According to a leaked report found by the folks at Intercept, Google is secretly planning to bring back its search engine to China. The project, codenamed Dragonfly, will meet China's censorship rule and filter out certain topics including search terms about human rights, democracy, religion, and peaceful protests. According to internal Google documents and people familiar with the plans, the project was initiated in the spring of last year. However, it picked up speed following a December 2017 meeting between Google’s CEO Sundar Pichai and the Chinese government. Google has created a custom Android app through which users can access Google’s search service. Per Intercept, the app has already been demonstrated to the Chinese government and the finalized version may be launched anytime in the next 6 to 9 months. This custom app will comply with China’s strict censorship laws, restricting access to content that is banned. The Chinese government has censored popular social media sites like Instagram, Facebook, and Twitter, as well as news companies: the New York Times and the Wall Street Journal. It has also banned information on the internet about political opponents, free speech, and academic studies. Intercept says that the leaked document states that, “the search app will also blacklist sensitive queries so that no results will be shown at all when people enter certain words or phrases.” Back in 2010, Google made the decision to exit China by publicly declaring it would withdraw its search engine services from China. The primary reason can be attributed to the fact that the Chinese government was forcing Google to censor search results. However, the Chinese government had hacked Google’s servers, which also played a major role in Google absconding China. Patrick Poon, a Hong Kong-based researcher with human rights group Amnesty International, told The Intercept that “Google’s decision to comply with the censorship would be a big disaster for the information age.” The general public has also expressed their disdain over Google’s decision calling it a money-minting business. Twitter Twitter Google is yet to share their views on the Chinese search engine. A spokesperson from Google was heard saying that they have" no comment on speculation about future plans." You can read the original story on The Intercept. Google employees quit over company’s continued Artificial Intelligence ties with the Pentagon Decoding the reasons behind Alphabet’s record high earnings in Q2 2018 Time for Facebook, Twitter, and other social media to take responsibility or face regulation. Furthering the Net Neutrality debate, GOP proposes the 21st Century Internet Act. The New AI Cold War Between China and the USA
Read more
  • 0
  • 0
  • 13386

article-image-state-of-openjdk-past-present-and-future-with-oracle
Kunal Chaudhari
03 Aug 2018
5 min read
Save for later

State of OpenJDK: Past, Present and Future with Oracle

Kunal Chaudhari
03 Aug 2018
5 min read
The Free and Open source Software Developers' European Meeting (FOSDEM) is no longer the home of OpenJDK committers and other regular contributors. Traditionally the OpenJDK community used to meet at FOSDEM every February in Brussels, but since the OpenJDK team is now shipping a release every six months they agreed that it was time to meet more frequently. To fill this need the team decided to hold a Committer's workshop on the first two days of August at Oracle’s campus in Santa Clara, California, USA. Mark Reinhold, the Chief Architect of the Java Platform Group at Oracle was the conductor of the orchestra here. He shed some light on the recent developments to the OpenJDK ecosystem and shared some future plans in yesterday’s sessions. OpenJDK’s new release model is a blessing in disguise It’s probably old news for developers who have been tracking the Java release cycle for some time now, but nonetheless, it’s very important for how things are going to change for OpenJDK. 2018 marked a new dawn for the Java platform. After endless discussions in the community about the new release being a repeat telecast of the same old Java 9 movie—a historic feature driven update to the platform with no head or tail on the release date—Mark put all the rumors to bed. He suggested to replace this feature driven update to a strict, time-based model with a new feature release every six months, update releases every quarter, and a long-term support release every three years. Image Source: OpenJDK Community Update For example, JDK 10 which was a new feature release was made available in March this year. The next release in six months would be JDK 11, which automatically becomes a candidate for a Long term support which would last till 2021, i.e three years as mentioned above. The biggest advantage of this release schedule is the simplified release process; takes off the pressure of adhering to strict deadlines from the developers. It also means that every feature would have to be completed before it makes the final cut, this way there are no multiple minor versions of the same release which confuses the users and developers alike. To what extent will Oracle contribute to the OpenJDK community? In the Committer's workshop Mark Reinhold cleared some questions about Oracle’s contribution to the OpenJDK ecosystem. He mentioned that Oracle engineers would be leading and be contributing only to the current feature releases and first two updates on the quarterly release. The non-Oracle folks can have the opportunity of taking the ownership of long-term release projects. This decision is taken mainly due to the fact that Oracle developers and engineers can focus on the future releases and their functionalities rather than working on support for long-term releases. An important clause which was discussed during this session was Oracle’s smooth transition of leadership whenever the engineers feel that they need to dial down their contribution to a particular release line they would hand over the leadership of that project with relative ease. Oracle finally embraces the Open Source Culture Now the biggest announcement that came in this workshop was Oracle open sourcing the elements of it proprietary JDK. Now before discussing this, it is important for us to understand what exactly is the difference between OpenJDK and Oracle’s proprietary JDK. Sun Microsystems, who originally created Java, announced in the JavaOne conference of 2006, that Java is going to be open sourced. OpenJDK was a result of a free implementation of the Standard Edition (SE) of the Java Platform. When Oracle bought Sun in 2009, they created their own proprietary version of the JDK which catered to the enterprise users who valued stability; and unlike OpenJDK, it has releases planned every three years. Now coming back to the point of open sourcing Oracle’s proprietary JDK, for a long time developers questioned Oracle’s intentions on how they plan to shape the future of Java, especially after their feud with Google over Android that began back in 2010. The open source community felt largely alienated from Oracle as they believed that Oracle was wrong in going after an open source friendly company like Google. Fast forward to 2018 and in this day and age, companies are embracing more and more open source technologies. Oracle has finally decided to open source their JDK which includes elements like Java flight recorder, Java Mission Control, and ZGC which is Oracle’s very own garbage collector. There will still be an Oracle JDK for the purposes of offering commercial support, but it will have the same functionalities as OpenJDK. Finally, Oracle is going to release all the builds for the current releases under the GPL license for developers who prefer non-commercial licensing. To know more about the different sessions that took place at the Committer's Workshop you can visit their Official webpage. Mark Reinhold on the evolution of Java platform and OpenJDK Oracle announces a new pricing structure for Java The top 5 reasons why Node.js could topple Java
Read more
  • 0
  • 0
  • 18647

article-image-rust-1-28-is-here-with-global-allocators-nonzero-types-and-more
Sugandha Lahoti
03 Aug 2018
2 min read
Save for later

Rust 1.28 is here with global allocators, nonZero types and more

Sugandha Lahoti
03 Aug 2018
2 min read
The Rust team has announced a new version of their popular programming language. Mozilla's Rust system programming language has always been focused on safety, speed, and concurrency. This release adds more power to these features. Rust 1.28 provides more flexibility and ease to memory allocation with global allocators and NonZero types. Global allocators Global allocators allow a developer to define the memory allocation system used by a Rust program.  Previously, Rust did not allow changing the way memory is obtained, which prevented some use cases. With Rust 1.28, the #[global_allocator] attribute is stable. This attribute will allow Rust programs to set their allocator to the system allocator, as well as define new allocators by implementing the GlobalAlloc trait. Better error message formatting Rust’s compiler has traditionally provided verbose and explicit error messages, along with suggestions for how to fix the problem.  Rust 1.28 introduces more detailed notes about why some error conditions arise. The entire list of formatting changes is available on Github. Library stabilizations NonZero types are now a stable addition to the language. NonZero number types are wrappers around the standard unsigned integer types: NonZeroU8, NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU128, and NonZeroUsize. This provides easier to anticipate memory allocations and optimize program data placement. A number of other libraries have also been stabilized; you can see the more detailed release notes for full details. Cargo features Rust’s cargo utility no longer lets users publish crates with build scripts that modify the src directory for an application. This eliminates bugs during the compilation process. For more detailed release notes along with code snippets, you can read the Rust Language blog. Will Rust Replace C++? Say hello to Sequoia: a new Rust based OpenPGP library to secure your apps Eclipse IDE’s Photon release will support Rust
Read more
  • 0
  • 0
  • 14594
article-image-grain-functional-programming-language
Richa Tripathi
03 Aug 2018
2 min read
Save for later

Grain: A new functional programming language that compiles to Webassembly

Richa Tripathi
03 Aug 2018
2 min read
Grain is a strongly-typed functional programming language built for the modern web by leveraging the brilliant work done by the WebAssembly project. Unlike other languages used on the web today (like TypeScript or Elm), that compile into JavaScript, Grain doesn’t compile into JavaScript but compiles all the way down to WebAssembly, supported by a tiny JavaScript runtime to give it access to web features that WebAssembly doesn’t support yet. It was designed with the purpose to specifically serve web developers. Following are the language features: No runtime type errors Grain does not need any kind of type annotations. All the pieces of Grain code that developers write is thoroughly sifted for type errors. Developers do not have to deal with runtime exceptions and thus achieving full type safety with none of the fuss. Being functional, but flexible Grain is geared towards functional programming, but understands the web isn't as pure as we would like it to be. It enables one to easily write what's appropriate for the scenario. Embracing new web standards Grain is built on top of WebAssembly, a brand-new technology that represents a paradigm shift in web development. WebAssembly is nothing but a bytecode format which is executed in a web browser. This allows an application to be deployed to a device with a compliant web browser having to go through any explicit installation steps. TypeScript 3.0 is finally released with ‘improved errors’, editor productivity and more Elm and TypeScript – Static typing on the Frontend Tools in TypeScript
Read more
  • 0
  • 0
  • 31528

article-image-think-different-apple-crosses-1-trilion-market-cap
Aarthi Kumaraswamy
02 Aug 2018
6 min read
Save for later

‘Think different’ makes Apple the world’s most valuable company, crossing $1 Trillion market cap

Aarthi Kumaraswamy
02 Aug 2018
6 min read
After a record high June quarter performance results in this year, it came as no surprise that today Apple greeted analysts’ expectations by crossing $1 Trillion in market capitalization to shareholders’ delights. What is surprising many is the resilience Apple’s showcasing amidst escalating US-China trade dispute and a highly volatile tech stock market. Apple has managed to achieve this remarkable feat by staying true to its brand values of thinking differently, questioning the norms and making great products that are useful and intuitive. It has made a sustained investment in not just product strategy and innovation, but also by optimizing its operations and supply chain, adapted to emerging trends while staying consistent and predictable to users and shareholders. What is even more interesting are the paths Apple has chosen to do differently from its other tech peers. no free products/services, Quality and security first, premium hardware balanced out by affordable software and services, no new product announcements on earnings call, providing a more pessimistic outlook to shareholders, and valuing user privacy at the cost of slower growth in areas like AI/machine learning where products like Siri could have benefited from a more permissive data guidelines. CNBC Analyst, Cramer of Mad Money fame believes Apple is still selling quite cheap at $207 (with a PE of around 17%) when it has the potential to go north of $280 (with a PE near 30%). He thinks Apple should no longer be treated like a tech stock but like a consumer products company such as PepsiCo or a Colgate, that follow the razor-razor blade model.   I am going to go out on a limb and say, Apple behaves neither like a pure tech nor like a fast moving consumer products company. Here is why.   Why Apple is unlike other tech companies Tech stocks are typically growth stocks with a high level of volatility built into them. You either win big or go home, middle grounds are boring. Given the nature of tech, hype cycles are extremely short and so product releases are more frequent and new announcements made every quarter. This means tech companies must make a lot of investment in software research and development in a range of technologies, iterative tests, learning from user feedback, launches and further iterations to improve winners and decisions to kill off underperformers. In order to scale, they tend to offer free products and open source their popular tools. On the tools’ adoption by a critical mass of users, they then build an ecosystem where monetization opportunities like advertising, subscriptions etc can be leveraged. Apple, on the other hand, invests in hardware R&D, to build strong products and prices them high. And once users become captive to its ecosystems, it further extracts value from them through a plethora of services that are exclusively available only on its App Store. If we look at the FANGAM tech stocks, apart from Apple, everyone has placed their major bets on one of the other emerging technologies and almost everyone brings AI into their shareholder discussions. Microsoft and Amazon are going big on cloud, with Google playing catch up. Google, Facebook and Netflix are all about AI and machine learning, with Microsoft bringing up AI only in the context of the cloud and edge. Facebook is vocal about investing heavily in AR/VR while others like Microsoft, Google and Apple are doing so quietly and cautiously. There was a time when Apple and Microsoft competed closely in the same spaces vying for the same markets, but off late they seem to have come to some kind of a mutual understanding. Microsoft has chosen to focus its efforts on the Enterprise customer while Apple has been ruling the consumer market. The above In its Q3 earnings call, Apple talks a lot about services, iPhone and wearables (clubbing in Siri here). And there is only a passing reference of AR and AI. Instead of talking about the tech, Apple chose to talk about ‘double digit growth’ repeatedly throughout the call and about how they honor their users’ privacy, how their business model is aligned with their customer’s long term benefits, and how they are investing in China’s clean energy Fund to reduce their supply chain footprint.   To me that looks like a company, that know where it’s heading, how it is going to reach its goals and more important why shareholders should care. Apple is nothing like selling apples or cola for that matter Now coming to the consumer products analogy. Apple share a lot in come with consumer products companies in terms of how it manages its operations, logistics, supply chains and even its marketing and advertising spends and branding strategies. But the resemblance ends there. Consumer products are a high volume, high variety game. While wearables may behave this way to some extent, Apple does not produce 7 different colored AirPods for example. If we had to make a consumer product analogy, I would go for a car maker like Telsa that wows consumers with its right blend of technology, software, hardware, manufacturing finesse and design excellence. (without the falling stocks and controversies). Apple builds cutting edge ecosystems that have great functionality, aesthetics and make a statement; with hardware often as the gateway into that world. Recently though, services are proving to provide a sneak peek into Apple’s world for first time users. And that is a good thing for its hardware business too. Looking ahead To me the key challenges for Apple now in this next phase of growth are Should it decouple services from it’s hardware offerings to allow for higher services growth or should it keep it tightly knit to improve the plateauing hardware side? Protecting iPhone’s market share from the likes of Huawei, Samsung and Android Gearing up for a tough competition for AppleTV and also its streaming services Penetrating the self-driving car market Deciding whether to take others headon in the digital assistant market. If so, then making AI and cloud a larger priority for the business Mainstream adoption of wearOS and other wearables Disclaimer: The author does not own any Apple stocks or have investments in any allied tech and neither a longtime Apple user or advocate.   
Read more
  • 0
  • 0
  • 12230
Modal Close icon
Modal Close icon