Article: Using Trauma-Informed Approaches in Agile Environments

MMS Founder
MMS Anton Skornyakov

Article originally posted on InfoQ. Visit InfoQ

Key Takeaways

  • We all carry some developmental trauma that makes it difficult for us to collaborate with others – a crucial part of work in agile software development.
  • Leading in a trauma-informed way is not practicing unsolicited psychotherapy, and it is not justifying destructive behaviors without addressing them.
  • Being more trauma-informed in your leadership can help everyone act more maturely and cognitively available, especially in emotionally challenging situations.
  • In trauma-informed working environments, people pay more attention to their physical and emotional state.
  • They also rely more on the power of intention, set goals in a less manipulative manner, and are able to be empathetic without taking ownership of others’ problems.

In recent decades, scientific and clinical understanding of how the human nervous system develops and works has increased tremendously. Its implications are so profound they radiate far beyond the field of psychology. Topics such as trauma-informed law, volleyball coaching, legal counseling, education, and social activism have arisen.

It is time to consider how it affects working in an agile tech environment.

Defining “trauma-informed” work

Working in a trauma-informed manner means professionally conducting whatever you set out to do while taking into account different forms of trauma that humans you work with are affected by.

It is not practicing unsolicited psychotherapy, and it is not justifying destructive behaviors without addressing them.

This means different things when you do trauma-informed legal counseling, volleyball coaching, or agile coaching.

An everyday example for an agile coach would be to notice the shallow rapid breathing of participants at the start of a meeting and to invite them to briefly take three long breaths and for 20 seconds to reflect on what they each want to accomplish in this meeting and summarize that in one sentence.

Traumatic patterns make collaboration difficult

Let’s look at a typical example of a team member moving from individual responsibility for tasks to sharing in team responsibility for done increments. The reactions triggered by such a change vary strongly depending on the person affected. They could just be happy and enthusiastic about new opportunities. However, they could also experience spiraling self-doubt, become subliminally aggressive, perfectionistic and distrustful, withdraw themselves from most interactions, or become avoidant.

Any of the above reactions may be adequate for a short period in a particular situation. However, if they become a pattern that doesn’t resolve itself, it harms everyone involved. Such patterns typically originate from traumatic experiences we’ve had.

When such a pattern is triggered, our attention gets stuck within. We may think and overthink whether we are allowed to speak up and, if so, what words we can use. We may search for tricky ways to stop the change or to completely disconnect ourselves from what is changing around us.

Whatever the pattern is, once it is triggered, we pay less attention to what is actually happening – the reality, but are more preoccupied with ourselves. Dealing with these internal patterns can take up a large portion of our cognitive and emotional resources. We act less like mature adults. This makes finding a common way forward for us, our co-workers, and our leaders much harder.

Traumatic patterns used to serve us as kids but are harming us in adult life

There are different forms of trauma. Here I am not focusing on shock trauma, which typically arises from one or few particularly terrible situations. The patterns I describe usually originate from different forms of developmental trauma. These emerge when our environment systematically does not meet our basic needs as a child.

When this happens, we can’t do anything about it as children and adapt by changing what we think is normal in the world and us. We end up denying ourselves some part of being human. Paradoxically, this helps us a lot, as it dissolves a consistently hurtful dissonance.

Later, when we are confronted with this need in our adult life, we react from the altered idea of ourselves and the world. However, since what we are denying ourselves is an inevitable part of being human, we end up in an unending struggle. When we are in such an inner struggle, our capacity for using our conscious thinking and being empathic is strongly impaired.

Typical Examples from Tech Organizations

Since we are all, to some extent, affected by developmental trauma, you can find countless examples of its effects, small or large, in any organization. And as developmental trauma originates from relationships with other humans, its triggers are always somehow linked to individuals and interactions with them. Just think of colleagues with typical emotional patterns in interactions with you or notice your patterns in interactions with particular colleagues.

One pattern I’ve often observed with some software developers I worked with, and I am also familiar with myself, is perfectionism. The idea of delivering a result that is not perfect and imagining being made aware of a mistake I made is sometimes unbearable. And most of the time, it’s unconscious. I just always try to make something as perfect as I can imagine. This can make collaborating with other people very hard, they may not meet my standards for perfection, or I may fear being at the mercy of their high standards that I can’t fulfill.
 
Another such pattern is self-doubt, which manifests in the inability to express one’s wishes or opinions. In this pattern, the pain of others potentially seeing our statement as inappropriate or useless is so strong that we don’t even invest time into thinking about our own position. Again, this typically is unconscious, and it’s just how we are used to behaving. Overlooking a critical position can cause significant long-term damage to organizations. And almost always, another person in our place and with our knowledge would express similar concerns and wishes.

A trauma-informed approach to leading people in agile organizations

First of all, I would like to emphasize that we are still at the very beginning of professionalizing our work with respect to developmental trauma, and I would love to see many more discussions and contributions on these subjects.  
 
I want to share how I changed my practice as an agile coach and trainer after completing basic training to become a trauma-informed (NARM®-informed professional). These insights come from understanding how professionals deal with trauma and how to deal with it without justifying destructive behavior or beating people over the head with their patterns.

Higher attention to physical and emotional states

Software is, by definition, very abstract. For this reason, we naturally tend to be in our heads and thoughts most of the time while at work. However, a more trauma-informed approach requires us to pay more attention to our physical state and not just to our brain and cognition. Our body and its sensations are giving us many signs, vital not just to our well-being but also to our productivity and ability to cognitively understand each other and adapt to changes. Paradoxically, in the end, paying more attention to our physical and emotional state gives us more cognitive resources to do our work.

Noticing our bodily sensations at the moment, like breath or muscle tension in a particular area, can be a first step to getting out of a traumatic pattern. And a generally higher level of body awareness can help us fall less into such patterns in the first place. Simplified – our body awareness anchors us in the here and now, making it easier for us to recognize past patterns as inadequate for the current situation.

One format that helps with this and is known to many agile practitioners is the Check-In in the style of the Core Protocols. I use it consequently when training and or conducting workshops and combine it with a preceding silent twenty seconds for checking in with ourselves on how we are physically feeling. It allows everyone to become aware of potentially problematic or otherwise relevant issues before we start. After such a Check-In, most groups can easily deal with any problems that might have seriously impeded the meeting if left unsaid. People are naturally quite good at dealing with emotional or otherwise complicated human things, provided they are allowed to show themselves.

The power and importance of intention

My second significant learning is that we need a deep respect for the person’s intention and an understanding of the power that can be liberated by following one’s intention.

For me, as a coach, this means when interacting with an organization, clarifying my client’s intention is a major and continuous part of my work. And it means supporting them in following their intention is more important than following my expert opinion. I should be honest and share my thoughts; however, it’s my clients journey which I am curiously supporting. I know this way, change will happen faster. It will be more durable and sustainable than if the client blindly followed my advice to adopt this or that practice.

In fact, clients who choose to blindly follow a potentially very respected consultant often reenact traumatic experiences from their child’s past. It is a different thing when organizational leaders are driven by their own intentions and are uncovering their paths faster and with more security due to an expert supporting them on their journey.

For the leadership in organizations that rightfully have their own goals and strategies, understanding the power of intention means leading with more invitations and relying more on volunteering. Instead of assigning work, they try to clarify what work and what projects need to be accomplished and allow people to choose for themselves. Even if something is not a person’s core discipline, they may decide to learn something new and be more productive in their assignment than a bored expert. This way of leading people requires more clarity on boundaries and responsibility than assigning work packages to individuals.

For all of us, respecting our own intentions and being aware of their power means looking for the parts of work that spark our curiosity or feel like fun to do and following them as often as we can.

I use this insight every time I deliver training. At the end of a typical two-day workshop, my participants will have an exhaustive list of things they want to try, look into, change, or think about. From my experience with thousands of participants, having such a long list of twenty items or more isn’t going to lead to any meaningful result. Most of the time, it’s just overwhelming, and people end up not doing any of the items on their lists. So at the end of each training, I invite my participant to take 5 minutes and scan through all their takeaways and learnings to identify 2 or 3 that spark joy when they think of applying them. Not only has this produced a tremendous amount of positive feedback, participants regularly report how relieving and empowering these 5 minutes are to them.

Set goals as changes of state, not changes in behavior

My third trauma-informed insight is that I became aware of an essential nuance when it comes to setting goals, a key discipline when it comes to leading agile organizations.

Often when we set a goal, we define it as a behavior change. Instead, a trauma-therapeutic practitioner will explore the state change the client believes this would bring.

For example, if someone says, “I want my developers to hit the deadline on our team.”

I might ask: “If your developers do start hitting the deadlines, how do you hope this will impact your leadership?”

The outcome of such a goal-setting conversation, the state someone wants their leadership or themselves to be in, is often a much more durable goal, and it’s typically more connected to the actual need of the person setting the goal. On the other hand, focusing on behavioral changes often leads to manipulation that doesn’t achieve what we really want.

The above example applies to an internal situation. However, looking for a change in the state of our customers is also a different conversation than looking into the behavioral change we want them to exhibit. Here the change in state is also a more stable, long-term goal.

Leadership topics benefiting from trauma-informed approaches

I believe that in organizational leadership, there is a lot more to learn from trauma-informed approaches, to count a few:

  • Get a deeper understanding of the stance of responsibility in oneself and your co-workers and how to get there. In NARM®, this is called agency.
  • Understand the difference between authentic empathy that supports someone in need and unmanaged empathy that overwhelms and disrupts relationships.  
  • Get a new relieving perspective on our own and others’ difficult behaviors.

Becoming trauma-informed in your daily work

I believe that you can only guide people to where you’ve been yourself. Familiarize yourself with the topic and start reflecting on your own patterns. You’ll automatically become aware of many moments that trauma plays a role in your work and will be able to find new ways to deal with it.

My journey started with listening to the “Transforming Trauma” podcast. If you like to read books, I’d recommend “The Body Keeps the Score” by Bessel van der Kolk or “When the Body Says No: The Cost of Hidden Stress” by Gabor Mate. However, the moment I truly started to reflect and apply trauma-informed practices was during the NARM®-basic training I completed last year. There is something very unique about it since it’s the first module of education for psychotherapists. Still, it is on purpose open to all other helping professionals, anyone working with humans. I’d recommend completing such a course to anyone serious about becoming trauma-informed. 

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.


Investors Buy Large Volume of Call Options on MongoDB (NASDAQ:MDB) – Defense World

MMS Founder
MMS RSS

Posted on mongodb google news. Visit mongodb google news

MongoDB, Inc. (NASDAQ:MDBGet Rating) was the recipient of unusually large options trading on Wednesday. Traders acquired 36,130 call options on the stock. This represents an increase of 2,077% compared to the typical daily volume of 1,660 call options.

MongoDB Stock Down 2.5 %

Shares of NASDAQ MDB opened at $374.59 on Thursday. The company has a debt-to-equity ratio of 1.44, a current ratio of 4.19 and a quick ratio of 4.19. The stock has a market capitalization of $26.24 billion, a PE ratio of -82.25 and a beta of 1.04. MongoDB has a one year low of $135.15 and a one year high of $398.89. The business’s fifty day moving average price is $269.51 and its 200-day moving average price is $226.42.

MongoDB (NASDAQ:MDBGet Rating) last posted its quarterly earnings results on Thursday, June 1st. The company reported $0.56 earnings per share (EPS) for the quarter, beating the consensus estimate of $0.18 by $0.38. MongoDB had a negative net margin of 23.58% and a negative return on equity of 43.25%. The company had revenue of $368.28 million for the quarter, compared to analyst estimates of $347.77 million. During the same quarter in the previous year, the firm posted ($1.15) earnings per share. The company’s quarterly revenue was up 29.0% compared to the same quarter last year. On average, equities research analysts anticipate that MongoDB will post -2.85 EPS for the current year.

Insiders Place Their Bets

In related news, CTO Mark Porter sold 2,669 shares of the stock in a transaction dated Friday, June 2nd. The stock was sold at an average price of $381.12, for a total transaction of $1,017,209.28. Following the completion of the transaction, the chief technology officer now directly owns 37,667 shares in the company, valued at $14,355,647.04. The transaction was disclosed in a filing with the SEC, which can be accessed through this link. In other news, CTO Mark Porter sold 2,669 shares of the stock in a transaction that occurred on Friday, June 2nd. The stock was sold at an average price of $381.12, for a total value of $1,017,209.28. Following the completion of the sale, the chief technology officer now owns 37,667 shares of the company’s stock, valued at approximately $14,355,647.04. The transaction was disclosed in a legal filing with the SEC, which is available at this link. Also, CAO Thomas Bull sold 605 shares of the business’s stock in a transaction on Monday, April 3rd. The stock was sold at an average price of $228.34, for a total transaction of $138,145.70. Following the transaction, the chief accounting officer now owns 17,706 shares in the company, valued at $4,042,988.04. The disclosure for this sale can be found here. Over the last ninety days, insiders have sold 106,682 shares of company stock worth $26,516,196. Corporate insiders own 4.80% of the company’s stock.

Institutional Trading of MongoDB

Hedge funds and other institutional investors have recently bought and sold shares of the company. Empower Advisory Group LLC bought a new position in MongoDB in the 1st quarter worth about $7,302,000. Toroso Investments LLC raised its stake in MongoDB by 5.4% in the first quarter. Toroso Investments LLC now owns 2,827 shares of the company’s stock valued at $659,000 after purchasing an additional 144 shares in the last quarter. B. Riley Wealth Advisors Inc. lifted its position in MongoDB by 16.0% during the first quarter. B. Riley Wealth Advisors Inc. now owns 1,457 shares of the company’s stock valued at $340,000 after purchasing an additional 201 shares during the last quarter. AM Squared Ltd grew its stake in MongoDB by 33.3% in the 1st quarter. AM Squared Ltd now owns 1,200 shares of the company’s stock worth $280,000 after buying an additional 300 shares in the last quarter. Finally, Kayne Anderson Rudnick Investment Management LLC increased its holdings in shares of MongoDB by 31.5% in the 1st quarter. Kayne Anderson Rudnick Investment Management LLC now owns 208,455 shares of the company’s stock worth $48,595,000 after buying an additional 49,900 shares during the last quarter. Institutional investors own 84.86% of the company’s stock.

Analysts Set New Price Targets

MDB has been the topic of a number of research analyst reports. Wedbush cut their target price on shares of MongoDB from $240.00 to $230.00 in a research report on Thursday, March 9th. Guggenheim cut MongoDB from a “neutral” rating to a “sell” rating and upped their target price for the stock from $205.00 to $210.00 in a report on Thursday, May 25th. They noted that the move was a valuation call. Mizuho lifted their price target on MongoDB from $180.00 to $220.00 in a research note on Friday, June 2nd. Citigroup raised their price objective on shares of MongoDB from $363.00 to $430.00 in a report on Friday, June 2nd. Finally, Morgan Stanley raised shares of MongoDB from an “equal weight” rating to an “overweight” rating and boosted their target price for the stock from $230.00 to $270.00 in a report on Wednesday, April 12th. One equities research analyst has rated the stock with a sell rating, two have assigned a hold rating and twenty-one have assigned a buy rating to the stock. According to data from MarketBeat.com, the company has an average rating of “Moderate Buy” and an average target price of $328.35.

MongoDB Company Profile

(Get Rating)

MongoDB, Inc provides general purpose database platform worldwide. The company offers MongoDB Atlas, a hosted multi-cloud database-as-a-service solution; MongoDB Enterprise Advanced, a commercial database server for enterprise customers to run in the cloud, on-premise, or in a hybrid environment; and Community Server, a free-to-download version of its database, which includes the functionality that developers need to get started with MongoDB.

Recommended Stories



Receive News & Ratings for MongoDB Daily – Enter your email address below to receive a concise daily summary of the latest news and analysts’ ratings for MongoDB and related companies with MarketBeat.com’s FREE daily email newsletter.

Article originally posted on mongodb google news. Visit mongodb google news

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.


Paypal Open-Sources JunoDB: Its Distributed Key-Value Store – MarkTechPost

MMS Founder
MMS RSS

Posted on nosqlgooglealerts. Visit nosqlgooglealerts

Paypal recently open-sourced JunoDB, a distributed key-value store built on RocksDB. Daily, JunoDB, PayPal’s highly available and security-focused database, processes 350 billion requests.

PayPal’s wide variety of applications relies heavily on JunoDB, a distributed key-value store. JunoDB is used for virtually every critical backend service at PayPal, including authentication, risk assessment, and transaction settlement. Data may be cached and accessed quickly from apps using JunoDB, reducing the strain on backend services and relational databases. JunoDB, however, is not an ordinary NoSQL database. It was developed to meet PayPal’s specific requirements. Thus, it can simultaneously manage many concurrent users and connections without slowing down. Originally built in single-threaded C++, it has been rewritten in Golang to take advantage of parallel processing and many cores. 

The JunoDB architecture is a dependable and extensible system that prioritizes ease of use, scalability, security, and flexibility. Proxy-based design simplifies development by abstracting away complex logic and setup from applications and allowing for linear horizontal connection scaling. When expanding or contracting clusters, JunoDB uses consistent hashing to split data and reduce the amount of data that must be moved. JunoDB uses a quorum-based protocol and a two-phase commit to guarantee data consistency and ensure there is never any downtime for the database.

Protecting information both in transit and at rest is a high priority. Hence TLS support and payload encryption are implemented. Finally, JunoDB’s flexibility and ability to adapt over time are guaranteed by its pluggable storage engine design, which makes it simple to switch to new storage technologies as they become available.

The core of JunoDB is made up of three interdependent parts:

  1. The JunoDB proxy allows application data to be easily stored, retrieved, and updated, thanks to the JunoDB client library’s provided API. With support for languages including Java, Golang, C++, Node, and Python, the JunoDB thin client library can be easily integrated with programs built in various languages.
  2. Client queries and replication traffic from remote sites are processed by proxy instances of JunoDB that are controlled by a load balancer. Each proxy establishes a connection to all JunoDB storage server instances, and routes request to a set of storage server instances according to the shard mapping stored in ETCD.
  3. JunoDB uses RocksDB to store data in memory or persistent storage upon receiving an operation request from a proxy.

JunoDB maintains high levels of accessibility and system responsiveness while supporting many client connections. It also manages data expansion and maintains high read/write throughput even as data volume and access rates rise. To achieve six 9s of system availability, JunoDB uses a mix of solutions, including data replication inside and outside data centers and failover mechanisms.

JunoDB provides exceptional performance at scale, managing even the most intensive workloads with response times in the millisecond range and without disrupting the user experience. In addition, JunoDB offers a high throughput and low latencies, enabling applications to scale linearly without compromising performance.

Users can get the source code for JunoDB, released under the Apache 2 license, on GitHub. PayPal produced server configuration and client development tutorial videos to aid developers’ database use. The team plans to include a Golang client and a JunoDB operator for Kubernetes in the future. 


Check Out The Reference Article. Don’t forget to join our 23k+ ML SubRedditDiscord Channel, and Email Newsletter, where we share the latest AI research news, cool AI projects, and more. If you have any questions regarding the above article or if we missed anything, feel free to email us at Asif@marktechpost.com

🚀 Check Out 100’s AI Tools in AI Tools Club


Tanushree Shenwai is a consulting intern at MarktechPost. She is currently pursuing her B.Tech from the Indian Institute of Technology(IIT), Bhubaneswar. She is a Data Science enthusiast and has a keen interest in the scope of application of artificial intelligence in various fields. She is passionate about exploring the new advancements in technologies and their real-life application.


Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.


Nvidia’s NeMo Guardrails Enhances Safety in Generative AI Applications

MMS Founder
MMS Andrew Hoblitzell

Article originally posted on InfoQ. Visit InfoQ

Nvidia’s new NeMo Guardrails package for large language models (LLMs) helps developers prevent LLM risks like harmful or offensive content and access to sensitive data. This innovation is crucial for developers as it offers multiple features to control the behavior of these models, thereby ensuring their safer deployment. Specifically, NeMo Guardrails helps mitigate the risks of LLMs generating harmful or offensive content thereby providing an essential layer of protection in an increasingly AI-driven landscape.

NeMo Guardrails helps developers to mitigate the risks associated with LLMs by providing a number of features to control the behavior of these models. The package is built on Colang, a modeling language and runtime developed by Nvidia for conversational AI. “If you have a customer service chatbot, designed to talk about your products, you probably don’t want it to answer questions about our competitors,” said Jonathan Cohen, Nvidia vice president of applied research. “You want to monitor the conversation. And if that happens, you steer the conversation back to the topics you prefer”.

NeMo Guardrails currently supports three broad categories: Topical, Safety, and Security. Topical guardrails ensure that conversations stay focused on a particular topic. Safety guardrails ensure that interactions with an LLM do not result in misinformation, toxic responses, or inappropriate content. They also enforce policies to deliver appropriate responses and prevent hacking of the AI systems. Security guardrails prevent an LLM from executing malicious code or calls to an external application in a way that poses security.

Guardrails features a sandbox environment, allowing developers the freedom to experiment with AI models without jeopardizing production systems, thus reducing the risk of generating harmful or offensive content. Additionally, a risk dashboard is provided, which consistently tracks and scrutinizes the use of AI models, assisting developers in identifying and mitigating potential risks before they lead to major issues. Moreover, it supplies a clear set of policies and guidelines designed to direct the usage of AI within organizations.

Reception has generally been positive about NeMo-Guardrails, but some have expressed caution around the limitations. There are certain limitations and constraints developers need to be aware of when using this LLM package. Karl Freund of Cambrian-AI Research writes “guardrails could be circumvented or otherwise compromised by malicious actors, who could exploit weaknesses in the system to generate harmful or misleading information”. Jailbreaks, hallucinations, and other issues also remain active research areas which no current system has implemented fullproof protection against.

Other tools also exist for safety when working with large language models. For example, Language Model Query Language (LMQL) is designed to make natural language prompting and is built on top of Python. Microsoft’s Guidance framework can also be used for addressing issues with LLMs not guaranteeing that output follows a specific data format​.

Nvidia advises that Guardrails works best as a second line of defense, suggesting that companies developing and deploying chatbots should still train the model on a set of safeguards with multiple layers.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.


Article: Using Project Orleans to Build Actor-Based Solutions on the .NET platform

MMS Founder
MMS Chris Klug

Article originally posted on InfoQ. Visit InfoQ

Key Takeaways

  • Project Orleans has been completely overhauled in the latest version, making it easy to work with. It has also been re-written to fit in with the new IHost abstraction that was introduced in .NET Core.
  • The actor model is wonderful for the scenarios where it makes sense. It makes development a lot easier for scenarios where you can break down your solution into small stateful entities.
  • The code that developers need to write can be kept highly focused on solving the business needs, instead of on the clustering, networking and scaling, as this is all managed by Project Orleans under the hood, abstracted away.
  • Project Orleans makes heavy use of code generators. By simply implementing marker interfaces, the source generators will automatically add code to your classes during the build. This keeps your code simple and clean.
  • Getting started with Project Orleans is just a matter of adding references to a couple of NuGet packages, and adding a few lines of code to the startup of your application. After that, you can start creating Grains, by simply adding a new interface and implementation.

In this article, we will take a look at Project Orleans, which is an actor model framework from Microsoft. It has been around for a long time, but the new version, version 7, makes it a lot easier to get started with, as it builds on top of the .NET IHost abstraction. This allows us to add it to pretty much any .NET application in a simple way. On top of that it abstracts away most of the complicated parts, allowing us to focus on the important stuff, the problems we need to solve.

Project Orleans

Project Orleans is a framework designed and built by Microsoft to enable developers to build solutions using the actor-model, which is a way of building applications that enables developers to architect and build certain types of solutions in a much easier way than it would be to do it using for example an n-tier architecture.

Instead of building a monolith, or a services-based architecture where the services are statically provisioned, it allows you to decompose your application into lots of small, stateful services that can be provisioned dynamically when you need them. On top of that, they are spread out across a cluster more or less automatically.

This type of architecture lends itself extremely well to certain types of solutions, for example IoT devices, online gaming or auctions. Basically, any solution that would benefit from an interactive, stateful “thing” that manages the current state and functionality, like a digital representation of an IoT device, a player in an online game, or an auction. Each of these scenarios become a lot easier to build when they are backed by an in-memory representation that can be called, compared to trying to manage it using an n-tier application and some state store.

Initially, Orleans was created to run Halo. And using the actor-model to back a game like that makes it possible to do things like modelling each player as its own tiny service, or actor, that handles that specific gamer’s inputs. Or model each game session as its own actor. And to do it in a distributed way that has few limitations when it needs to scale.

However, since the initial creation, and use in Halo, it has been used to run a lot of different services, both at Microsoft and in the public, enabling many large, highly scalable solutions to be built by decomposing them into thousands of small, stateful services. Unfortunately, it is hard to know what systems are using Orleans, as not all companies are open about their tech stack for different reasons. But looking around on the internet, you can find some examples. For example, Microsoft uses it to run several Xbox services (Halo, Gears of War for example), Skype, Azure IoT Hub and Digital Twins. And Honeywell uses it to build an IoT solution. But it is definitely used in a lot more places, to run some really cool services, even if it might not be as easy as you would have hoped to see where it is used.

As you can see, it has been around for a long time, but has recently been revamped to fit better into the new .NET core world.

The actor pattern

The actor pattern is basically a way to model your application as a bunch of small services, called actors, where each actor represents a “thing”. So, for example, you could have an actor per player in an online game. Or maybe an actor for each of your IoT devices. But the general idea is that an actor is a named, singleton service with state. With that as a baseline, you can then build pretty much whatever you want.

It might be worth noting that using an actor-model approach is definitely not the right thing for all solutions. I would even say that most solutions do not benefit very much from it, or might even become more complex if it is used. But when it fits, it allows the solution to be built in a much less complex way, as it allows for stateful actors to be created.

Having to manage state in stateless services, like we normally do, can become a bit complicated. You constantly need to retrieve the state that you want to work with for each request, then manipulate it in whatever way you want, and finally persist it again. This can be both slow and tedious, and potentially put a lot of strain on the data store. So, we often try to speed this up, and take some of the load of the backing store using a cache. Which in turn adds even more complexity. With Project Orleans, your state, and functionality, is already instantiated and ready in memory in a lot of cases. And when it isn’t, it handles the instantiation for you. This removes a lot of the tedious, repetitive work that is needed for the data store communication, as well as removes the need for a cache, as it is already in memory.

So, if you have any form of entity that works as a form of state machine for example, it becomes a lot easier to work with, as the entity is already set up in the correct state when you need it. On top of that, the single threaded nature of actors allows you to ignore the problems of multi-threading. Instead, you can focus on solving your business problems.

Imagine an online auction system that allows users to place bids and read existing bids. Without Orleans, you would probably handle this by having an Auction service that allows customers to perform these tasks by reading and writing data to several tables in a datastore, potentially supported by some form of cache to speed things up as well. However, in a high-load scenario, managing multiple bids coming in at once can get very complicated. More precisely, it requires you to figure out how to handle the locks in the database correctly to make sure that only the right bids are accepted based on several business rules. But you also need to make sure that the locks don’t cause performance issues for the reads. And so on …

By creating an Auction-actor for each auction item instead, all of this can be kept in memory. This makes it possible to easily query and update the bids without having to query a data store for each call. And because the data is in-memory, verifying whether a bid is valid or not is simply a matter of comparing it to the existing list of bids, and making a decision based on that. And since it is single-threaded by default, you don’t have to handle any complex threading. All bids will be handled sequentially. The performance will also be very good, as everything is in-memory, and there is no need to wait for data to be retrieved.

Sure, bids that are made probably need to be persisted in a database as well. But maybe you can get away with persisting them using an asynchronous approach to improve throughput. Or maybe you would still have to slow down the bidding process by writing it to the database straight away. Either way, it is up to you to make that decision, instead of being forced in either direction because of the architecture that was chosen.

Challenges we might face when using the actor pattern

First of all, you have to have a scenario that works well with the pattern. And that is definitely not all scenarios. But other than that, some of the challenges include things like figuring out what actors make the most sense, and how they can work together to create the solution.

Once that is in place, things like versioning of them can definitely cause some problems if you haven’t read up properly on how you should be doing that. Because Orleans is a distributed system, when you start rolling out updates, you need to make sure that the new versions of actors are backwards compatible, as there might be communication going on in the cluster using both the old and the new version at the same time. On top of that, depending on the chosen persistence, you might also have to make sure that the state is backwards compatible as well.

In general, it is not a huge problem. But it is something that you need to consider. Having that said, you often need to consider these things anyway, if you are building any form of service based solution.

Actor-based development with Project Orleans

It is actually quite simple to build actor based systems with Project Orleans. The first step is to define the actors, or Grains as they are called in Orleans. This is a two-part process. The first part is to define the API we need to interact with the actor, which is done using a plain old .NET interface.

There are a couple of requirements for the interface though. First of all, it needs to extend one of a handful of interfaces that comes with Orleans. Which one depends on what type of key you want to use. The choices you have are IGrainWithStringKey, IGrainWithGuidKey, IGrainWithIntegerKey, or a compound version of them.

All the methods on the interface also need to be async, as the calls might be going across the network. It could look something like this:

    public interface IHelloGrain : IGrainWithStringKey
{
    Task SayHello(User user);
}

Any parameters being sent to, or from the interface, also need to be marked with a custom serialisation attribute called GenerateSerializer, and a serialisation helper attribute called Id. Orleans uses a separate serialisation solution, so the Serializable attribute doesn’t work unfortunately. So, it could end up looking something like this:

    [GenerateSerializer]
public class User
{
    [Id(0)] public int Id { get; set; }
    [Id(1)] public string FirstName { get; set; }
    [Id(2)] public string LastName { get; set; }
}

The second part is to create the grain implementation. This is done by creating a C# class, that inherits from Grain, and implements the defined interface.

Because of Orleans being a little bit magi –  more on that later on – we only need to implement our own custom parts. So, implementing the IHelloGrain could look something like this:

public class HelloGrain : Grain, IHelloGrain
{
    public async Task SayHello(User user)
    {
        return Task.FromResult($“Hello {user.FirstName} {user.LastName}!”);
    }
}

It is a good idea to put the grains in a separate class library if you are going to have a separate client, as both the server and client part of the system need to be able to access them. However, if you are only using it behind something else, for example a web API, and there is no external client talking to the Orleans cluster, it isn’t strictly necessary.

A thing to note here is that you should not expose your cluster to the rest of the world. There is no security built into the cluster communication, so the recommended approach is to keep the Orleans cluster “hidden” behind something like a web API.

Once the grains are defined and implemented, it is time to create the server part of the solution, the Silos.

Luckily, we don’t have to do very much at all to set these up. They are built on top of the IHost interface that has been introduced in .NET. And because of that, we just need to call a simple extension method to get our silo registered. That will also take care of registering all the grain types by using reflection. In its simplest form, it ends up looking like this:

    var host = Host.CreateDefaultBuilder()
    .UseOrleans((ctx, silo) => {
        silo.UseLocalhostClustering();
    })
    .Build();

This call will also register a service called IGrainFactory, that allows us to access the grains inside the cluster. So, when we want to talk to a grain, we just write something like this:

    var grain = grainFactory.GetGrain(id);
            var response = await grain.SayHello(myUser);

And the really cool thing is that we don’t need to manually create the grain. If a grain of the requested type with the requested ID doesn’t exist, it will automatically be created for us. And if it isn’t used in a while, the garbage collector will remove it for us to free up memory. However, if you request the same grain again, after it has been garbage collected, or potentially because a silo has been killed, a new instance is created and returned to us automatically. And if we have enabled persistence, it will also have its state restored by the time it is returned.

How Project Orleans makes it easier for us to use the actor pattern

Project Orleans removes a lot of the ceremony when it comes to actor-based development. For example, setting up the cluster has been made extremely easy by using something called a clustering provider. On top of that, it uses code generation, and other .NET features, to make the network aspect of the whole thing a lot simpler. It also hides the messaging part that is normally a part of doing actor development, and simply provides us with asynchronous interfaces instead. That way, we don’t have to create and use messages to communicate with the actors.

For example, setting up the server part, the silo, is actually as simple as running something like this:

var host = Host.CreateDefaultBuilder(args)
    .UseOrleans(builder =>
    {
        builder.UseAzureStorageClustering(options => options.ConfigureTableServiceClient(connectionString));
    })
    .Build();

As you can see, there is not a lot that we need to configure. It is all handled by conventions and smart design. This is something that can be seen with the code-generation as well.

When you want to interact with a grain, you just ask for an instance of the interface that defines the grain, and supply the ID of the grain you want to work with. Orleans will then return a proxy class for you that allows you to talk to it without having to manage any of the network stuff for example, like this:

    var grain = grainFactory.GetGrain(id);
            var response = await grain.SayHello(myUser);

A lot of these simplifications are made possible using some really nice code generation that kicks into action as soon as you reference the Orleans NuGet packages.

Where can readers go when they want to learn more about project Orleans and the actor model?

The easiest way to get more information about building solutions with Project Orleans is to simply go to the official docs of Project Orleans and have a look. Just remember that when you are looking for information about Orleans, you need to make sure that you are looking at documentation that is for version 7+. The older version looked a bit different, so any documentation for that would be kind of useless unfortunately.

Where to go from here?

With Project Orleans being as easy as it is to get started with, it makes for a good candidate to play around with if you have some time left over and want to try something new, or if you think it might fit your problem. There are also a lot of samples on GitHub from the people behind the project if you feel like you need some inspiration. Sometimes it can be a bit hard to figure out what you can do with a new technology, and how to do it. And looking through some of the samples gives you a nice view into what the authors of the project think it should be used for. I must admit, some of the samples are a bit, well, let’s call it contrived, and made up mostly to show off some parts of the functionality. But they might still provide you with some inspiration of how you can use it to solve your problem.

For me, I ended up rebuilding an auction system in a few hours just to prove to my client how much easier their system would be to manage using an actor based model. They are still to implement it in production, but due to the simplicity of working with Project Orleans, it was easy to create a proof of concept in just a few hours. And I really recommend doing that if you have a scenario where you think it might work. Just remember to set a timer, because it is very easy to get carried away and just add one more feature.

In tech, it is rare to find something as complicated as clustering being packaged into something that is as simple to work with as Project Orleans. Often the goal is to make it simple and easy to use, but as developers we tend to expose every single config knob we can find to the developer. Project Orleans has stayed away from this, and provides a nice experience that actually felt fun to work with.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.


C# Dev Kit for Visual Studio Code

MMS Founder
MMS Robert Krzaczynski

Article originally posted on InfoQ. Visit InfoQ

Microsoft has introduced the C# Dev Kit, a new extension to Visual Studio Code, offering an enhanced C# development environment for Linux, macOS and Windows. This kit, combined with the C# extension, uses an open-source Language Server Protocol (LSP) host to provide an efficient and configurable environment. The source repository for the extension is currently being migrated and will be available later this week.

The C# Dev Kit brings familiar concepts from Visual Studio to make VS Code programming in C# more productive and reliable. It includes a collection of VS Code extensions that work together to provide a comprehensive C# editing environment that includes artificial intelligence-based programming, solution management and integrated testing. The C# extension provides language services, while the C# Dev Kit extension builds on the Visual Studio foundation for solution management, templates and debugging testing. Moreover, the optional IntelliCode for C# Dev Kit extension provides the editor with programming capabilities based on artificial intelligence.


Source: https://devblogs.microsoft.com/visualstudio/announcing-csharp-dev-kit-for-visual-studio-code/

This tool streamlines project management in C# programming by adding a Solution Explorer view that integrates with the VS Code workspace. It allows developers to effortlessly add projects and files to their solutions using templates. The extension simplifies the organisation of tests for XUnit, NUnit, MSTest and bUnit, displaying them in the Test Explorer panel. The C# Dev Kit, based on the open source C# extension with LSP (Language Server Protocol) host, provides exceptional performance and integrates with Roslyn and Razor for advanced features such as IntelliSense, navigation and code formatting.

In addition, the IntelliCode for C# Dev Kit extension, which is installed automatically, provides AI-assisted support beyond the basic IntelliSense technology. It offers advanced IntelliCode features such as whole-line completion and starred suggestions, prioritising frequently used options in the IntelliSense completion list based on the personal codebase. With the C# Dev Kit, users can experience increased performance and reliability not only when programming, but also when managing solutions, debugging and testing.
By installing the C# Dev Kit extension, users of the VS Code C# extension (supported by OmniSharp) can upgrade to the latest pre-release version compatible with the C# Dev Kit, as explained in the documentation.

The following question was raised under this post on Microsoft’s website: 

Does this enable creating solutions from scratch as well, or does it still require an initial dotnet new console and open folder? It is been a while since I last checked VS Code out, but that has been bugging me every time to create a new solution. 

Tim Hueuer, a principal product manager at Microsoft, answered: 

If you have no folder open (blank workspace) you’ll see the ability to create a project from there. I can’t paste a picture here in the comments but there is a button on a workspace with no folder open that says “Create .NET Project” that will launch the template picker with additional questions of where to create it.

Additionally, Leslie Richardson, a product manager at Microsoft, added that further information about the solution explorer experience in VS Code can be found here

Overall, the tool gets positive feedback from the community. Users see a significant improvement in using Visual Studio Code to code in C#.
 

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.


MongoDB, Inc. (NASDAQ:MDB) Shares Sold by Price T Rowe Associates Inc. MD

MMS Founder
MMS RSS

Posted on mongodb google news. Visit mongodb google news

Price T Rowe Associates Inc. MD lowered its stake in shares of MongoDB, Inc. (NASDAQ:MDBGet Rating) by 2.1% in the fourth quarter, according to its most recent Form 13F filing with the Securities and Exchange Commission. The institutional investor owned 6,696,085 shares of the company’s stock after selling 143,201 shares during the quarter. Price T Rowe Associates Inc. MD owned approximately 9.66% of MongoDB worth $1,318,058,000 as of its most recent filing with the Securities and Exchange Commission.

Other hedge funds have also made changes to their positions in the company. Cetera Advisor Networks LLC bought a new position in MongoDB during the fourth quarter worth $278,000. Cetera Investment Advisers bought a new position in MongoDB during the fourth quarter worth $296,000. Nelson Van Denburg & Campbell Wealth Management Group LLC lifted its stake in MongoDB by 33.2% during the fourth quarter. Nelson Van Denburg & Campbell Wealth Management Group LLC now owns 2,084 shares of the company’s stock worth $410,000 after purchasing an additional 520 shares during the last quarter. Two Sigma Advisers LP bought a new position in MongoDB during the fourth quarter worth $24,448,000. Finally, Two Sigma Investments LP bought a new position in MongoDB during the fourth quarter worth $15,567,000. Institutional investors and hedge funds own 84.86% of the company’s stock.

Insider Buying and Selling

In related news, Director Hope F. Cochran sold 1,175 shares of MongoDB stock in a transaction dated Monday, April 3rd. The stock was sold at an average price of $228.33, for a total value of $268,287.75. Following the transaction, the director now owns 9,437 shares of the company’s stock, valued at approximately $2,154,750.21. The sale was disclosed in a document filed with the Securities & Exchange Commission, which is available at the SEC website. In other MongoDB news, Director Hope F. Cochran sold 1,175 shares of the firm’s stock in a transaction dated Monday, April 3rd. The stock was sold at an average price of $228.33, for a total transaction of $268,287.75. Following the completion of the sale, the director now directly owns 9,437 shares in the company, valued at approximately $2,154,750.21. The sale was disclosed in a filing with the Securities & Exchange Commission, which is available at this hyperlink. Also, Director Dwight A. Merriman sold 2,000 shares of the firm’s stock in a transaction dated Wednesday, April 26th. The stock was sold at an average price of $240.00, for a total value of $480,000.00. Following the sale, the director now owns 1,225,954 shares of the company’s stock, valued at $294,228,960. The disclosure for this sale can be found here. In the last quarter, insiders have sold 106,682 shares of company stock valued at $26,516,196. 4.80% of the stock is owned by corporate insiders.

Analyst Ratings Changes

Several brokerages recently issued reports on MDB. JMP Securities raised their price objective on MongoDB from $245.00 to $370.00 in a research note on Friday, June 2nd. The Goldman Sachs Group raised their target price on MongoDB from $280.00 to $420.00 in a research note on Friday, June 2nd. Wedbush cut their target price on MongoDB from $240.00 to $230.00 in a research note on Thursday, March 9th. Truist Financial raised their target price on MongoDB from $235.00 to $365.00 in a research note on Friday, June 2nd. Finally, Piper Sandler raised their target price on MongoDB from $270.00 to $400.00 in a research note on Friday, June 2nd. One investment analyst has rated the stock with a sell rating, two have given a hold rating and twenty-one have assigned a buy rating to the company. According to data from MarketBeat.com, MongoDB has a consensus rating of “Moderate Buy” and a consensus target price of $328.35.

MongoDB Price Performance

NASDAQ:MDB opened at $381.79 on Tuesday. The business’s 50-day moving average price is $263.28 and its 200 day moving average price is $223.13. MongoDB, Inc. has a 52-week low of $135.15 and a 52-week high of $398.89. The company has a quick ratio of 4.19, a current ratio of 4.19 and a debt-to-equity ratio of 1.44.

MongoDB (NASDAQ:MDBGet Rating) last issued its quarterly earnings results on Thursday, June 1st. The company reported $0.56 earnings per share for the quarter, topping analysts’ consensus estimates of $0.18 by $0.38. The firm had revenue of $368.28 million for the quarter, compared to analysts’ expectations of $347.77 million. MongoDB had a negative return on equity of 43.25% and a negative net margin of 23.58%. MongoDB’s revenue was up 29.0% on a year-over-year basis. During the same quarter last year, the business posted ($1.15) EPS. As a group, sell-side analysts predict that MongoDB, Inc. will post -2.85 EPS for the current fiscal year.

MongoDB Profile

(Get Rating)

MongoDB, Inc provides general purpose database platform worldwide. The company offers MongoDB Atlas, a hosted multi-cloud database-as-a-service solution; MongoDB Enterprise Advanced, a commercial database server for enterprise customers to run in the cloud, on-premise, or in a hybrid environment; and Community Server, a free-to-download version of its database, which includes the functionality that developers need to get started with MongoDB.

See Also

Want to see what other hedge funds are holding MDB? Visit HoldingsChannel.com to get the latest 13F filings and insider trades for MongoDB, Inc. (NASDAQ:MDBGet Rating).

Institutional Ownership by Quarter for MongoDB (NASDAQ:MDB)

This instant news alert was generated by narrative science technology and financial data from MarketBeat in order to provide readers with the fastest and most accurate reporting. This story was reviewed by MarketBeat’s editorial team prior to publication. Please send any questions or comments about this story to contact@marketbeat.com.

Before you consider MongoDB, you’ll want to hear this.

MarketBeat keeps track of Wall Street’s top-rated and best performing research analysts and the stocks they recommend to their clients on a daily basis. MarketBeat has identified the five stocks that top analysts are quietly whispering to their clients to buy now before the broader market catches on… and MongoDB wasn’t on the list.

While MongoDB currently has a “Moderate Buy” rating among analysts, top-rated analysts believe these five stocks are better buys.

View The Five Stocks Here

Article originally posted on mongodb google news. Visit mongodb google news

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.


Price T Rowe Associates Inc. Decreases Ownership Stake in MongoDB, Inc. Amidst Bullish Forecasts

MMS Founder
MMS RSS

Posted on mongodb google news. Visit mongodb google news

On Monday, it was reported that Price T Rowe Associates Inc. MD decreased its ownership stake in MongoDB, Inc. (NASDAQ:MDB) by 2.1% in the fourth quarter, according to a recent Form 13F filing with the Securities and Exchange Commission. Specifically, the institutional investor sold 143,201 shares of the company’s stock, which brings their total share count to 6,696,085, representing a market value of approximately $1.3 billion.

MongoDB provides a general-purpose database platform worldwide that enables users to manage data across various applications efficiently. Their offerings include MongoDB Atlas, which is a multi-cloud database-as-a-service solution that is hosted and tailored for enterprise customers to run in public clouds or private data centers; Enterprise Advanced brings commercial servers specifically for large-scale enterprises operating both cloud-based and on-premise operations while Community Server is an easy-to-operate free version of its database functionalities designed primarily for developers who require only limited access to systems.

Recently several brokerages have released reports surrounding MDB’s status and future targets. For example, JMP Securities recently issued a report raising their price objective from $245.00 to $370.00 on June 2nd while The Goldman Sachs Group also boosted their target price from $280.00 to $420.00 on June 2nd as well in a review conducted around MongoDB’s growth prospects.

Despite Truist Financial cutting MDB’s target price down from $235.00 to $365.00 during March this year and Piper Sandler subsequently raising it again from $270 to $400 earlier this month; investment analysts still promoted a Moderate Buy consensus rating toward the stock with twenty-one buy ratings assigned pre-market opening today.

Overall investors must understand that despite being largely bullish on this company’s potential portfolio worth at present-day levels feel immediate returns may be constrained by alternate contextual undercurrents such as political unrest or fluctuating macro-economics growth trends beyond the control of fund managers.

MongoDB, Inc.

MDB

Buy

Updated on: 13/06/2023

Price Target

Current $384.10

Concensus $386.18


Low $180.00

Median $393.00

High $630.00

Show more

Social Sentiments

We did not find social sentiment data for this stock

Analyst Ratings

Analyst / firm Rating
Mike Cikos
Needham
Buy
Ittai Kidron
Oppenheimer
Sell
Matthew Broome
Mizuho Securities
Sell
Rishi Jaluria
RBC Capital
Sell
Mike Cikos
Needham
Sell

Show more

MongoDB: Driving Impressive Business Growth with a General Purpose Database Platform


MongoDB: A General Purpose Database Platform with Impressive Business Growth

The global database marketplace continues to experience significant growth, driven by data-driven digital transformations and the increasing importance of big data analytics. No doubt, companies that operate in this space are fighting for market share, and MongoDB seems to be gaining traction.

Recently, institutional investors and hedge funds made significant changes to their positions in MongoDB, with Two Sigma Advisers LP and Two Sigma Investments LP making new positions worth $24,448,000 and $15,567,000 respectively in Q4 2020. Additionally, Cetera Advisor Networks LLC bought a new position in MongoDB during the same quarter, valued at $278,000. Furthermore, Director Hope F. Cochran sold 1,175 shares of MongoDB stock on April 3rd at an average price of $228.33 and was able to generate a total value of $268,287.75. As it stands currently insiders having sold about 106,682 shares of company stock valued at $26,516,196 representing 4.80% of the total stock owned by corporate insiders.

With regards to business performance statistics NASDAQ:MDB opened on June 8th at $381.79 after fluctuating between its volatile low (52-week low) of $135.15 and high (52-week high) of $398.89 with a quick ratio of 4.19 which is considered good for any company within the same industry as it improves efficiency by measuring how fast one’s current assets can pay off its immediate obligations.

MongoDB’s impressive fiscal year ending March 2021 results speak for themselves as confirmed by the business’s last quarterly earnings reported on June 1st this year; stating that they earned a total revenue summing up to $368.28 million which is not only exceptional but also surpasses analysts’ expectations who estimated revenue around $347.77 million for the period.

Despite the current technology-driven economy, and with more small, medium and large-size businesses leveraging technology to accelerate their growth, it is no longer enough to merely capture data; organizations need reliable database platforms to manage and store this information in meaningful ways. MongoDB’s general-purpose database platform is well-suited to power several use cases across many different industries. Business analysts predict that the innovative platform provider will likely post -2.85 EPS over the current fiscal year given its solid performance marked by revenue growth facilitated by more institutions taking up new positions and enabling insiders to trade considerably high shares of company stock.

In conclusion, there are significantly interesting things happening within MongoDB as a company making it an intriguing option for any interested investor to consider capitalizing on this ever-growing global market demand for data management. With predictions also rife that they shall be posting gains in EPS showcasing sustainable growth over time as more companies pivot towards utilizing their solutions in nurturing digital innovations such as Big Data analytics whose advantage cannot be underestimated in modern day commerce practices.

Article originally posted on mongodb google news. Visit mongodb google news

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.


Building the Next Big Thing with MongoDB – ET CIO

MMS Founder
MMS RSS

Posted on mongodb google news. Visit mongodb google news

At the ETCIO Annual Conclave, Chawla shared insights into the power and capabilities of MongoDB, a leading NoSQL database platform. He discussed how MongoDB’s flexible and scalable architecture allows developers and organizations to build the next generation of applications that can handle large volumes of data and deliver high performance. He also discussed the key advantages of MongoDB in the context of building innovative solutions.

Chawla highlighted its ability to handle unstructured and semi-structured data, its flexible data model, and its support for horizontal scalability. These features make MongoDB well-suited for use cases such as content management systems, real-time analytics, and IoT applications.

Advertisement

Note: This video is an extract from the ETCIO Annual Conclave 2023 and part of the Brand Connect Initiative

Article originally posted on mongodb google news. Visit mongodb google news

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.


Why Investors Need to Take Advantage of These 2 Computer and Technology Stocks Now

MMS Founder
MMS RSS

Posted on mongodb google news. Visit mongodb google news

Quarterly financial reports play a vital role on Wall Street, as they help investors see how a company has performed and what might be coming down the road in the near-term. And out of all of the metrics and results to consider, earnings is one of the most important.

We know earnings results are vital, but how a company performs compared to bottom line expectations can be even more important when it comes to stock prices, especially in the near-term. This means that investors might want to take advantage of these earnings surprises.

2 Stocks to Add to Your Watchlist

The Zacks Earnings ESP, or Expected Surprise Prediction, aims to find earnings surprises by focusing on the most recent analyst revisions. The basic premise is that if an analyst reevaluates their earnings estimate ahead of an earnings release, it means they likely have new information that could possibly be more accurate. The core of the ESP model is comparing the Most Accurate Estimate to the Zacks Consensus Estimate, where the resulting percentage difference between the two equals the Expected Surprise Prediction.

Now that we understand what the ESP is and how beneficial it can be, let’s dive into a stock that currently fits the bill. Adobe Systems (ADBE) earns a Zacks Rank #2 right now and its Most Accurate Estimate sits at $3.80 a share, just two days from its upcoming earnings release on June 15, 2023.

By taking the percentage difference between the $3.80 Most Accurate Estimate and the $3.78 Zacks Consensus Estimate, Adobe Systems has an Earnings ESP of 0.6%.

ADBE is part of a big group of Computer and Technology stocks that boast a positive ESP, and investors may want to take a look at MongoDB (MDB) as well.

MongoDB is a Zacks Rank #2 (Buy) stock, and is getting ready to report earnings on August 30, 2023. MDB’s Most Accurate Estimate sits at $0.45 a share 78 days from its next earnings release.

For MongoDB, the percentage difference between its Most Accurate Estimate and its Zacks Consensus Estimate of $0.41 is 9.42%.

ADBE and MDB’s positive ESP figures tell us that both stocks have a good chance at beating analyst expectations in their next earnings report.

Find Stocks to Buy or Sell Before They’re Reported

Use the Zacks Earnings ESP Filter to turn up stocks with the highest probability of positively, or negatively, surprising to buy or sell before they’re reported for profitable earnings season trading. Check it out here >>

Want the latest recommendations from Zacks Investment Research? Today, you can download 7 Best Stocks for the Next 30 Days. Click to get this free report

Adobe Inc. (ADBE) : Free Stock Analysis Report

MongoDB, Inc. (MDB) : Free Stock Analysis Report

To read this article on Zacks.com click here.

Zacks Investment Research

Article originally posted on mongodb google news. Visit mongodb google news

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.