Daily Tech Digest - March 19, 2022

How Radical API Design Changed the Way We Access Databases

One of the early design decisions we made at MongoDB was to focus on interaction with the database using a pure object-based API. There would be no query language. Instead, every request to the database would be described as a set of objects that were intended to be constructed by a computer as much as by a human (in many cases, more often by a computer). This approach allowed programmers to treat a complex query the same as creating a piece of imperative code. Want to retrieve all the animals in your database that have exactly two legs? Then create an object, set a member, “legs,” to two and query the database for matching objects. What you get back is an array of objects. This model extends to even the most complex operations. This approach enabled developers to build database queries as code — it was a leap from a query language mindset to a programmer’s mindset. This would significantly speed up development time and improve query performance. This API approach to database operations helped kickstart MongoDB’s rapid adoption and growth in our early years.

Software Techniques for Lemmings

The performance of a system with thousands of threads will be far from satisfying. Threads take time to create and schedule, and their stacks consume a lot of memory unless their sizes are engineered, which won't be the case in a system that spawns them mindlessly. We have a little job to do? Let's fork a thread, call join, and let it do the work. This was popular enough before the advent of <thread> in C++11, but <thread> did nothing to temper it. I don't see <thread> as being useful for anything other than toy systems, though it could be used as a base class to which many other capabilities would then be added. Even apart from these Thread Per Whatever designs, some systems overuse threads because it's their only encapsulation mechanism. They're not very object-oriented and lack anything that resembles an application framework. So each developer creates their own little world by writing a new thread to perform a new function. The main reason for writing a new thread should be to avoid complicating the thread loop of an existing thread. 

Software development is changing again. These are the skills companies are looking for

The new normal means developers will work in a variety of ways with a broad church of partners. As well as internal developers, Verastar uses outsourced capability and works closely with some key digital transformation partners, including Salesforce. "We have a very hybrid team. People need to learn to work together and across different teams. We bring everything together with Agile and sprints. Working in a virtual world means it's very rare you're all sat together in the same office now," says Clarkson, "And that's certainly the case with us. Although we've got a centre in Sale, Manchester, we've got developers that work remote, our partner works remotely, and there'll be based either nearshore or offshore as well, so you can end up with quite a wide team." Dal Virdi, IT director at legal firm Shakespeare Martineau, is another tech chief who recognises that a successful modern IT team relies on a hybrid blend of internal developers and external specialists. Virdi recognised about 18 months ago that his firm's ongoing digital transformation strategy, and the way in which the business was introducing a broad range of technologies, meant they didn't need to have internal specialists focused on one language or platform.

Concept drift vs data drift in machine learning

Concept and data drift are a response to statistical changes in the data. Hence, approaches monitoring the model’s statistical properties, predictions, and their correlation with other factors help identify the drift. But several steps need to be taken post identification to ensure the model is accurate. Two popular approaches are online machine learning and periodic retraininG. Online learning involves updating the model to learn in real-time. This allows the data to be sequential. This allows the models to take batches of samples simultaneously and optimise the batch of data in one go. Online machine learning allows us to update learners in real-time. In online learning the models are learned in a setting where it takes the batches of samples with the time and the learner optimises the batch of data in one go. Since these models work on the fixed parameters of a data stream, they must retain the new patterns of the data. Periodic retraining of the model is also critical. Since an ML model degrades every three months on average, retraining them on regular intervals can stop drift in its tracks.

The rise of zero-touch IT

First, zero-touch IT is a way to free your people from maintenance tasks, and up-level your ops team to be more strategic. You’ve noticed the Great Resignation — IT talent never grew on trees, and now there’s an epic drought. Your team’s time and abilities shouldn’t be wasted on what can be automated. Second, IT serves demanding customers. Corporate users have grown less tolerant about waiting for IT to ride to their rescue, and they have sharper expectations. After all, if they can find and load a CRM app on their phone in one minute, why can’t your technology experts provide them with a new company CRM in, say, 10 minutes? Users onboard, request privileges and carry out operations in different time zones. Automation doesn’t sleep, making it a good fit with asynchronous workforces. Third, zero-touch IT, when properly implemented, reduces mistakes caused by fatigue and overload. One distracted IT staffer can easily grant unauthorized data privileges to an outside contractor, with dire consequences. There are options for zero-touch IT; independently constructed workflows can be automated, but this can produce a spaghetti of disparate procedures that behave differently and produce confusion.

Seeing the Unseen: A New Lens on Visibility at Work

In some sense, “seeing what you want to see” means seeing what you already believe. That’s fine if you seek consensus, but it’s not a good formula for innovative thinking. Pressure is necessary to effect real change. This often involves challenging the status quo and stepping out of what has not been recognized as a fixed perspective. Surrounding yourself with people with similar experiences, beliefs, and perceptions about the world can foreclose on the possibility of thinking differently. On teams, shared assumptions can result in people coming up with the same or similar solutions to a set of challenges. While these solutions may help people like you, they may fail to address the needs of others who are not. Take, for example, the failure to optimize early smartphone cameras for darker skin tones, or how facial recognition technologies identify White faces with a higher degree of accuracy compared with those of people of color. Technological biases of this kind ensure that some people are seen, while others remain unseen or perhaps seen in a very unfavorable light.

Moore’s Law: Scientists Just Made a Graphene Transistor Gate the Width of an Atom

To be clear, the work is a proof of concept: The researchers haven’t meaningfully scaled the approach. Fabricating a handful of transistors isn’t the same as manufacturing billions on a chip and flawlessly making billions of those chips for use in laptops and smartphones. Ren also points out that 2D materials, like molybdenum disulfide, are still pricey and manufacturing high-quality stuff at scale is a challenge. New technologies like gate-all-around silicon transistors are more likely to make their way into your laptop or phone in the next few years. Also, it’s worth noting that the upshot of Moore’s Law—that computers will continue to get more powerful and cheaper at an exponential rate—can also be driven by software tweaks or architecture changes, like using the third dimension to stack components on top of one another. Still, the research does explore and better define the outer reaches of miniaturization, perhaps setting a lower bound that may not be broken for years. It also demonstrates a clever way to exploit the most desirable properties of 2D materials in chips.

New explanation emerges for robust superconductivity in three-layer graphene

Graphene is an atomically-thin sheet of carbon atoms arranged in a 2D hexagonal lattice. When two sheets of graphene are placed on top of each other and slightly misaligned, the positions of the atoms form a moirĂ© pattern or “stretched” superlattice that dramatically changes the interactions between their electrons. The degree of misalignment is very important: in 2018, researchers at the Massachusetts Institute of Technology (MIT) discovered that at a “magic” angle of 1.1°, the material switches from being an insulator to a superconductor. The explanation for this is behaviour is that, as is the case for conventional superconductors, electrons with opposite spins pair up to form “Cooper pairs” that then move though the material without any resistance below a certain critical transition temperature Tc (in this case, 1.7 K). Three years later, the Harvard experimentalists observed something similar happening in (rhombohedral) trilayer graphene, which they made by stacking three sheets of the material at small twist angles with opposite signs. In their work, the twist angle between the top and middle layer was 1.5° while that between the middle and bottom layer was -1.5°. 

Intelligent Diagramming Makes Sense of Cloud Complexities

One major issue IT leaders face is simply knowing what components their cloud environments contain. At any point, a company can have SaaS apps, databases, containers and workloads that sometimes spread across multiple cloud providers, as well as on-premises systems. The first step in mitigating these cloud complexities is to know what you have — in other words, to take inventory. Depending on which cloud providers you use — Amazon Web Services (AWS), Microsoft Azure or Google Cloud Platform (GCP) — you may need a variety of inventory tools. Learn what your provider’s default management console offers. In some cases, you may need to write scripts in order to pull data on every resource type from every corner of your cloud environment (different regions, for instance, might require separate queries). If your environment is complex enough, management consoles and scripts won’t cut it. Automated inventory tools can make it much easier to identify every component of your cloud environment. But there are still opportunities to simplify how that inventory is pulled, viewed and understood.

MLOps for Enterprise AI

There was a time when building machine learning (ML) models and taking them to production was a challenge. There were challenges with sourcing and storing quality data, unstable models, dependency on IT systems, finding the right talent with a mix of Artificial Intelligence Markup Language (AIML) and IT skills, and much more. However, times have changed. Though some of these issues still exist, there has been an increase in the use of ML models amongst enterprises. Organizations have started to see the benefits of ML models, and they continue their investments to bridge the gap and grow the use of AIML. Nevertheless, the growth of ML models in production leads to new challenges like how to manage and maintain the ML assets and monitor the models. Since 2019, there has been a surge in incorporating machine learning models into organizations, and MLOps has started to emerge as a new trending keyword. Although, it’s not just a trend; it’s a necessary element in the complete AIML ecosystem.

Quote for the day:

"It's not about how smart you are--it's about capturing minds." -- Richie Norton

No comments:

Post a Comment