After two release Candidates, CakePHP 3.5.0 final is now available and brings a number of improvements for the framework. In addition, some features were marked as deprecated, which are to be removed in the upcoming major version – CakePHP 4.0.0. All deprecations are summarized in the migration guide .
In terms of new features and improvements, CakePHP 3.5.0 brings some changes to middleware. Thus, under certain conditions, middleware can be applied to routes in certain URL scopes. In addition, new middleware has been added to CSRF tokens and encrypted cookies.
In addition, there is a new console dispatcher as well as new Cookie & CookieCollection classes. All changes are summarized in the blog post on the CakePHP blog; CakePHP 3.5.0 is available as packaged release on GitHub .
Automated speech recognition: Microsoft achieves new milestone
Microsoft has reached a new milestone in machine language recognition through neural networks. With an error rate of only 5.1 percent in the recognition of words in conversations, the company has increased the performance of its system by 12 percent compared to the previous year and reached a level that corresponds to that of transcriptions made by humans. The switchboard body was used in the test, which contains 2400 telephone conversations between strangers who speak on different topics.
To improve the performance of its machine language recognition, Microsoft used an extended CNN-BLSTM model (Convolutional Neural Network with bidirectional long and short-term memory) and works with the Microsoft Cognitive Toolkit 2.1 for deep learning processes. In addition, the use of the history data of the respective dialogue sequence has been strengthened so that the system can now form better predictions about the next elements of the conversation. In this way, Microsoft approaches human speech processing – the human brain also forms the most probable further course of an input, both on the word and the sentence level, during the speech processing models.
However, the low error rate of the speech recognition system of 5.1 percent can not be applied to any type of speech input. Dialects and recordings from troubled environments are just two examples of applications where Microsoft’s speech recognition system is still under man’s control.
Chrome DevTools team released Puppeteer
Recently, the Chrome DevTools team has released Puppeteer – a Node API to control Headless Chrome. Headless Chrome has been available in Google Browser since version 59, enabling Chrome to run in an automated environment without user interface or peripherals. The Node-Library Puppeteer now provides a high-level API for controlling headless chrome via the DevTools protocol. For this, a number of functionalities are available, which were presented on GitHub .
Try Apps with Android Instant Apps
Android Instant Apps helps developers keep their new app to the limit as many users as possible. Whenever a URL can be used, instant apps can also be used – for example in e-mails, Google search results or social media. Instant Apps allows you to isolate all features of the app into a stand-alone module. Users can then try these modules via URL, without installing anything and viewing content such as videos. This is to persuade users to actually install a new app.
Jessica Thornsby shows the necessary first steps to implement instant apps. An app must be free of charge in Google Play, support app links, and request specific permissions at runtime. Thornsby uses Android Studio 3.0 Preview and the Android SDK tools, including the Instant Apps Development SDK. It shows how a new project is started and presents the five modules, app, base, feature, and instantapp, in which instant apps are structured.
Do not Repeat Yourself in Python
DRY-Programming is soon an old shoe, but nevertheless not less important. Perhaps it is more important now than ever before, if the principle is already regarded as given by all. A good way to not be repeating, are always decorators. With Decorators, a second function is performed directly with the function call, the result of the first function being passed to the second function. For mathematical calculations this is a good thing. A simple
@<Funktionsname> is already enough to link the functions. However, the idea becomes clearer with some code examples – which are available in the tutorial by George Bogdan Ivanov .