Daily Tech Digest - November 04, 2017

Into the Core of REST


To uncover the hidden nature of Representational state transfer style, let’s dissect its name backwards. The word transfer implies that there are at least two processes communicating through some medium which implies a distributed system. The word state means that one process of a distributed system transfers its internal "view of the (surrounding) world" to another process. This ‘internal view of the world" is all the relevant information required by the process to do its duty (see Figure 1). It contains both information gathered from the environment and the one generated internally and is expressed by nouns. The word representational means that processes do not literally send their "internal views of the world" but encode them into descriptions (representations) understandable by recipients. Representation hides the internal nature (implementation) of the processes internal state.




There are no written test cases for the above test types since they are techniques that are based on the experience of each tester to test the system. However, one certainty is that we often write test cases for test types called functional testing and smoke testing in which we apply the test case design techniques, such as equivalent partitioning, boundary analysis, constraint analysis, state transition and condition combination, to design test cases. ... We combined all type tests, such as exploratory testing/ad-hoc testing, error guessing, stochastic testing, functional testing and smoke testing, during the testing phase to make sure we had maximum test coverage. ... We cannot apply automation testing for AI since it is just useful for stable systems with written test cases. Whereas AI behaviors are very complicated and random, so AI testing is more suited for manual execution.


C# BAD PRACTICES: Learn How to Make a Good Code by Bad Example – Part 5

This article is about Open Closed Principle (OCP) in SOLID principles and you don't have to read my previous articles to understand it, but I encourage you to do so. :) My motivation of writing this article is the fact that there is a huge confusion around this principle and many different interpretations of it. This principle was confusing to myself as well and that's why I went deep inside this topic and will present my finding and thoughts about it here. In my opinion, it is besides the Liskov Substitution Principle, the most difficult one (to fully understand) from SOLID. From my experience, I can say that it is confusing, even senior engineers and most developers know only a definition of it without a deep understanding of why and when it is useful. This may lead to blindly applying this rule which can make the code base bizarre.


AI: How big a deal is Google's latest AlphaGo breakthrough?


"AlphaGo is an interesting computer science accomplishment, this is algorithm development. [But] I don't think it is necessarily a big meaningful step," he said. "It does allow you to explore a whole bunch of things, related AI algorithms, what are called reinforcement AI algorithms and so on, in that sense it does contribute to the whole thing. "But when it comes to real-world applications in enterprises, I'm not sure AlphaGo makes by itself a significant difference." From Microsoft's perspective, he says that pursuing research that will make it easier for people to chat to computers using text or speech will really transform what's possible with AI. "Really solving every language in every kind of context, being able to create conversational applications and doing so really well, I think that's an incredibly important part of AI innovation, because no matter what, the vast majority of high-value interactions in this world happen using language."


Microsoft quietly announces end of last free Windows 10 upgrade offer

windows-10-assistive-tech-offer.jpg
Part of the stated justification for the original exception was the fact that Microsoft was still working on accessibility options for Windows 10, with a specific call-out to changes scheduled to arrive as part of the July 2016 Anniversary Update. There have been two feature updates since then, and the Anniversary Update is now the oldest supported Windows 10 version on the market. ... Corporations that have planned their upgrades to Windows 10 aren't making budgets based on this loophole. Individuals and small businesses that have said no to the upgrade for more than two years are hanging on to the original operating system on older hardware by choice. One practical question is whether Microsoft plans to tighten its activation code and start rejecting the automatic issuance of a digital license for Windows 10 when upgrading from Windows 7 or Windows 8.1 on older hardware.


11 Simple Java Performance Tuning Tips

Most developers expect that performance optimization is a complicated topic that requires a lot of experience and knowledge. Okay, that’s not entirely wrong. Optimizing an application to get the best performance possible isn’t an easy task. But that doesn’t mean that you can’t do anything if you haven’t acquired that knowledge. There are several easy to follow recommendations and best practices which help you to create a well-performing application. Most of these recommendations are Java-specific. But there are also several language-independent ones, which you can apply to all applications and programming languages. Let’s talk about some of these generic ones before we get to the Java-specific performance tuning tips.


Car Autonomy Levels Explained


The levels of autonomy are a progression of self-driving features that engineering experts SAE International have outlined. These levels range from no self-driving features at all through fully-autonomous driving. ... It's important to note that today, right now, the highest level of autonomy available to us is Level 3—not full autonomy, or even high autonomy, no matter what marketing materials or other automotive publications say. No autonomous car currently exists that can be trusted with the full autonomy of dynamic driving tasks. Audi AI can take over sometimes, under certain conditions, but even Audi AI requires the driver to take over once the system's limitations are exceeded. Audi has correctly dialed back its earlier claims that "The driver no longer needs to monitor the car permanently." Even the press release we criticized last July no longer contains this misleading statement.


The biggest headache in machine learning? Cleaning dirty data off the spreadsheets

“There's the joke that 80 percent of data science is cleaning the data and 20 percent is complaining about cleaning the data,” Kaggle founder and CEO Anthony Goldbloom told The Verge over email. “In reality, it really varies. But data cleaning is a much higher proportion of data science than an outsider would expect. Actually training models is typically a relatively small proportion (less than 10 percent) of what a machine learner or data scientist does.” Kaggle itself is intended to help. The site is best known for its competitions, where companies posts a specific data-related challenge and then pay the person who comes up with the best solution. And this means Kaggle has also become a repository of interesting datasets that users can play around with. These range from a collection of 22,000 graded high school essays to CT scans for lung cancer to a whole lot of pictures of fish.


Why security in microservices continues to fall short

The microservices world has made things very complex for security individuals in organizations. But it's also made it very difficult for QA testing and DevOps [teams] because it has taken some of the complexity and pushed it down to a DevOps space that didn't exist before. So to me, when people talked about security from an API or a microservices perspective, very often, what they're focusing on is the security of the container or the configuration management tool. So the guys are talking about something about Chef's container configuration management tool or Tenable's patch management tool for those containers as well. All of that is great. But what they're not focusing on is the fact that the way the software is being developed itself is completely different. So, let me give you a few examples of how software development and QA processes haven't caught up to deal with the microservices world.


Asset & Wealth Management Revolution: Embracing Exponential Change 

The AWM industry is a digital technology laggard. Technology advances will drive quantum change across the value chain – including new client acquisition, customisation of investment advice, research and portfolio management, middle and back office processes, distribution and client engagement. How well firms embrace technology will help to determine which prosper in the years ahead. Technology giants will enter the sector, flexing their data analytics and distribution muscle. The race is on ... Things will look very different in five to ten years’ time. Fewer firms will manage far more assets significantly more cheaply. Technology will be vital across the business. And, some firms will have discovered new opportunities to create alpha, and restore margins. With change accelerating, all firms must decide how they will compete in tomorrow’s world.



Quote for the day:



"Most successful entrepreneurs are trying to solve real-world problems that they encountered over years of working for someone else." -- Dan Simon