Technology News from Around the World, Instantly on Oracnoos!

Understanding MS Rules Engine In-Built Post Rule Actions — Part 4 - Related to restaurantes, rule, understanding, jour, :

🍽️ Obsidian: Restaurantes

🍽️ Obsidian: Restaurantes

Yo soy una persona con muy mala memoria, es por eso que estoy tan obsesionado con tener sistemas que me faciliten el buscar información, porque muchas veces, si no estructuro muy bien esta, no recuerdo cómo la guardé y de igual forma la termino perdiendo. Esto mismo es gran parte del porqué me gusta tanto Obsidian como herramienta, me permite estructurar las cosas de forma muy similar a cómo lo hago mentalmente, es decir, en relaciones.

Por esta misma falta de memoria, he tenido situaciones en las que, por ejemplo, yo soy una persona que no tolera mucho el picante, entonces me ha tocado que voy a un restaurante, quiero pedir chilaquiles, pero no recuerdo si la vez pasada pedí los verdes y estos eran muy picantes, o si estaban bien, o si estaban mejor los rojos, etc. Para solucionar esto, como en muchas de las otras áreas de mi vida, tengo un sistema que me ayuda a organizar esta información de forma que pueda visitarla con facilidad la siguiente vez que vaya al restaurante, ver si algo me gustó, los detalles que tenía, cuánto me gustó, etc.

Restaurante: Como establecimiento o cadena. Platillo: El platillo como tal que voy a calificar. Journal: Normalmente esto se enlaza gracias a que en mi Journal escribo mis comidas.

Creo una nota del restaurante, porque esta va a ser la nota que voy a visitar cuando vuelva a ir al lugar. Además, voy a utilizar esa nota para que, al crear un nuevo platillo, este se pueda enlazar con el restaurante al que pertenece.

La estructura es muy simple. Para el ejemplo, voy a utilizar mi nota sobre McDonald's.

--- tags: - lugar - restaurante --- # 📌 McDonald's ## ⭐ Recomendaciones Enter fullscreen mode Exit fullscreen mode.

```dataview TABLE calificacion as "Calificación" FROM [[]] WHERE calificacion ``` Enter fullscreen mode Exit fullscreen mode.

## 🎫 Última visita Enter fullscreen mode Exit fullscreen mode.

```dataview LIST WITHOUT ID link(dateformat([website], "dd-MM-yyyy")) FROM [[]] SORT [website] DESC LIMIT 1 ``` Enter fullscreen mode Exit fullscreen mode.

Ahora vamos a desglosar cada una de las partes de la nota.

Las notas de restaurante tienen los tags:

Porque en mi sistema existen varios tipos de lugar, por ejemplo, empresas, por eso es necesario hacer la distinción de que es un restaurante.

Las recomendaciones no son nada más que una vista de Dataview que recopila todas las notas de Platillos que vamos a ver más adelante y me las muestra junto con la calificación que les puse. Como se puede apreciar en la imagen, yo soy muy fan de McDonald's.

Por último, esta sección solo busca cuándo fue la entrada más reciente en la que se hizo referencia al establecimiento y me muestra la nota correspondiente a esa fecha.

Esta es una de las partes que menos me gusta, porque requiere que yo llame explícitamente al establecimiento en mi nota de Journal. Quiero mejorar la query de forma que se detecte cuando yo hago una referencia a un platillo que esté enlazado al establecimiento, pero no he tenido el tiempo para hacerlo.

Esta nota hace referencia al platillo en sí. Esta nota la utilizo desde el restaurante, enlazando la nota al restaurante en el título para después obtener la calificación, pero también para la información nutricional del platillo. Esto es más relacionado con la parte de nutrición, entonces no lo voy a abordar.

--- calificacion: 5 tags: - platillo --- # 🥘 McMuffin normal de [[McDonald's]] Mi opinión con respecto a la comida. Algún *detalle* que deba recordar. ## 📊 Información nutrimental [Calorías:: 310 kcal] [Proteínas:: 12 g] [Grasas:: 13 g] [Carbohidratos:: 20 g] [Fibra:: 2 g] [Azúcares:: 2 g] Enter fullscreen mode Exit fullscreen mode.

El platillo tiene el tag platillo para poder filtrarlo rápidamente en las queries, pero además incluyo en la metadata la calificación que le doy en una escala del 1 al 5.

Y en el cuerpo de la nota puedo incluir cualquier información relevante, si la comida estuvo muy picante, si debía pedirlo sin jitomate, cualquier cosa que quiera recordar la siguiente vez que vaya al lugar.

El journal no lo voy a enseñar, porque sería mostrar información privada, además de que no tiene mucha ciencia, simplemente es incluir en mi nota journal alguna mención que enlace a la nota del restaurante.

De nuevo, esta es la parte que menos me gusta del sistema, porque eso lo hago para tener la referencia de cuándo fue la última vez que fui, pero eso solo funciona si es la primera vez que voy y creo las notas de los platillos o si hago la mención explícita.

Si tú tienes una mejor idea de cómo hacer que cada vez que mencione la nota de platillos en mi sección de comidas, eso se "registre" como una visita, te estaría muy agradecido de que me lo dejaras en un comentario.

Este sistema en Obsidian me ha permitido mejorar mi organización y memoria con respecto a los restaurantes y platillos que he probado. Aunque tiene algunos puntos de mejora, como la automatización de la última visita, su estructura modular me ha sido bastante útil. Al final, lo importante es tener un sistema que se adapte a mis necesidades y que pueda evolucionar con el tiempo. Si tienes sugerencias sobre cómo mejorar esta metodología, me encantaría leerlas. ¡Gracias por tu tiempo! 😊.

GitHub not long ago presented the public preview of Linux arm64 hosted runners for GitHub Actions. Free for public repositories, this revision provides deve......

Perplexity has introduced Deep Research, an AI-powered tool designed for conducting in-depth analysis across various fields, including finance, market......

It’s no wonder developers are increasingly overwhelmed. The number of new CVEs % in the last decade. An......

Visual Studio Code : mise à jour de CMake Tools

Visual Studio Code : mise à jour de CMake Tools

La version de février de CMake Tools est arrivée sur Visual Studio Code. CMake Tools supporte Cmake Language Services. Il s'agit d'une intégration plus profonde CMake Tools dans VS Code, par exemple avec l'intégration dabs IntelliSense, la colorisation du code. Le but est une intégration native évitant d'installer des extensions supplémentaires. La version de février 2025 supporte aussi Presets v9.

Les principales nouveautés de la communauté sont :

- ajout de la configuration par dossier par défaut dans les paramètres workspace.

- correction de plusieurs bugs sur CTest, le linker GCC.

Changelog de la version [website] : [website].

As the size and responsibilities of device fleets explode, the development of scalable processes to manage them is more crucial than ever. With our ti......

Withmonthly unique visitors and overauthors we are placed among the top Java related sites around. Constantly being on the lookout for......

Monzo Bank not long ago revealed Monzo Stand-in, an independent backup system on GCP that ensures essential banking services remain operational during app......

Understanding MS Rules Engine In-Built Post Rule Actions — Part 4

Understanding MS Rules Engine In-Built Post Rule Actions — Part 4

Hi Buddy! Welcome back to the part 4 of the MS Rules Engine series. In this article we will be concentrating on how to use different in-built post rule action to create a chain of rule executions.

Configuring EvaluateRule built-in action.

In this section, let’s explore how to configure EvaluateRule built-in action to create a chain of rule executions where you want to execute set of rules one after the other during OnSuccess or OnFailure of the parent rule.

To demonstrate this functionality, let’s take a use case we used in the previous article. which is in arcade business where we have to check the inventory of certain genre games belonging to a platform.

When the inventory falls below a threshold, we want to calculate the quantity of games that we need to reorder for the genre and platform in question.

In this article we will try to create two level nested rule for quantity falling below 10 and 5.

Download the base code from Github Repo.

Add a class named [website] into your project root folder.

into your project root folder. Add a new JSON rule named [website] to your RulesFiles folder.

to your folder. Add below content to the above created Json file.

[ { "WorkflowName" : "RestockingChainRules" , "Rules" : [ { "RuleName" : "ActionPlaystationGameRestock1" , "ErrorMessage" : "The action game stocks for the playstation are low. Restock by 5 units" , "ErrorType" : "Error" , "SuccessEvent" : "5" , "RuleExpressionType" : "LambdaExpression" , "Expression" : "[website] => [website] == \"Action\" AND x.Platform == \"PlayStation\").Sum(x => x.Quantity) < 5" , "Actions" : { "OnSuccess" : { "Name" : "OutputExpression" , "Context" : { "Expression" : "[website] => [website] == \"Action\" AND x.Platform == \"PlayStation\").Sum(x => x.Quantity) * 5" } }, "OnFailure" : { "Name" : "EvaluateRule" , "Context" : { "workflowName" : "RestockingChainRules" , "ruleName" : "ActionPlaystationGameRestock2" } } } }, { "RuleName" : "ActionPlaystationGameRestock2" , "ErrorMessage" : "The action game stocks for the playstation are low. Restock by 10 units" , "ErrorType" : "Error" , "SuccessEvent" : "10" , "RuleExpressionType" : "LambdaExpression" , "Expression" : "[website] => [website] == \"Action\" AND x.Platform == \"PlayStation\").Sum(x => x.Quantity) < 10" , "Actions" : { "OnSuccess" : { "Name" : "OutputExpression" , "Context" : { "Expression" : "[website] => [website] == \"Action\" AND x.Platform == \"PlayStation\").Sum(x => x.Quantity) * 10" } } } } ] } ] Enter fullscreen mode Exit fullscreen mode.

Modify the [website] model class under model's folder to include a new property called Quantity of type integer as show below.

namespace [website] ; public class Game { public string Title { get ; set ; } = string . Empty ; public string Genre { get ; set ; } = string . Empty ; public long Id { get ; set ; } public string Platform { get ; set ; } = string . Empty ; public string GamingStudio { get ; set ; } = string . Empty ; public decimal Price { get ; set ; } public int Quantity { get ; set ; } } Enter fullscreen mode Exit fullscreen mode.

Lets now add some code to our new [website] class file as shown below.

using RE = RulesEngine ; namespace MsRulesEngine ; public class RestockingChainRulesExample { public static async Task Run () { string filePath = Path . Combine ( Environment . CurrentDirectory , "RulesFiles" , "[website]" ); Console . WriteLine ( filePath ); string jsonString = File . ReadAllText ( filePath ); var workflows = JsonSerializer . Deserialize < Workflow [ ]> ( jsonString ); var gamesInventory = new List < Game > { new () { Title = "Halo" , Genre = "Action" , Id = 1 , Platform = "PlayStation" , GamingStudio = "Sony" , Price = [website] , Quantity = 5 }, new () { Title = "Yakuza" , Genre = "Action" , Id = 2 , Platform = "PlayStation" , GamingStudio = "EA" , Price = [website] , Quantity = 2 }, }; var ruleParameters = new RuleParameter [] { new ( "input1" , gamesInventory ), }; RE . RulesEngine rulesEngine = new ( workflows ); var result = await rulesEngine . ExecuteActionWorkflowAsync ( "RestockingChainRules" , "ActionPlaystationGameRestock1" , ruleParameters ); Console . WriteLine ( $"Rule: { result . Output } " ); } } Enter fullscreen mode Exit fullscreen mode.

Modify the [website] as shown below and execute the application.

// See [website] for more information using MsRulesEngine ; await RestockingChainRulesExample . Run (); Enter fullscreen mode Exit fullscreen mode.

You will observe the below output. It calculates 10 as restock quantity for PlayStation Action games and 50 for Xbox RPG games.

You execute chain of rules to find the matching one.

Easy to change the rule chaining process.

Can be mixed with OutputExpression action to stop the chain execution and terminal condition.

In our day-to-day business, we come across many scenarios where we want to perform various calculations or return different outputs out of a rule execution based on its OnSuccess and OnFailure we want to usually check if there are any sub rules it satisfies as shown in the current article.

This dynamic behavior helps us perform appropriate chaining process. Also, because of its dynamic nature we can easily change the chaining process as the business changes.

Hope this article will help you understand the use of built-in EvaluateRule Action and provide you guidance to use it for your needs.

To access my source code. Please go to my Github Link. In my next article I will explain about Nested Rules. Please don’t forget to check it out.

To get more articles like this, please follow me to get notification when it is available.

In a recent announcement on the React blog, the React team shared a significant improvement: Create React App (CRA) is being deprecated. This......

In this article, we will be implementing the MediatR and CQRS (Command Query Responsibility Segregation) pattern in our [website] Web API ......

The Perceptron Algorithm is one of the earliest and most influential machine learning models, forming the foundation for modern neural networks and su......

Market Impact Analysis

Market Growth Trend

2018201920202021202220232024
7.5%9.0%9.4%10.5%11.0%11.4%11.5%
7.5%9.0%9.4%10.5%11.0%11.4%11.5% 2018201920202021202220232024

Quarterly Growth Rate

Q1 2024 Q2 2024 Q3 2024 Q4 2024
10.8% 11.1% 11.3% 11.5%
10.8% Q1 11.1% Q2 11.3% Q3 11.5% Q4

Market Segments and Growth Drivers

Segment Market Share Growth Rate
Enterprise Software38%10.8%
Cloud Services31%17.5%
Developer Tools14%9.3%
Security Software12%13.2%
Other Software5%7.5%
Enterprise Software38.0%Cloud Services31.0%Developer Tools14.0%Security Software12.0%Other Software5.0%

Technology Maturity Curve

Different technologies within the ecosystem are at varying stages of maturity:

Innovation Trigger Peak of Inflated Expectations Trough of Disillusionment Slope of Enlightenment Plateau of Productivity AI/ML Blockchain VR/AR Cloud Mobile

Competitive Landscape Analysis

Company Market Share
Microsoft22.6%
Oracle14.8%
SAP12.5%
Salesforce9.7%
Adobe8.3%

Future Outlook and Predictions

The Obsidian Restaurantes Visual landscape is evolving rapidly, driven by technological advancements, changing threat vectors, and shifting business requirements. Based on current trends and expert analyses, we can anticipate several significant developments across different time horizons:

Year-by-Year Technology Evolution

Based on current trajectory and expert analyses, we can project the following development timeline:

2024Early adopters begin implementing specialized solutions with measurable results
2025Industry standards emerging to facilitate broader adoption and integration
2026Mainstream adoption begins as technical barriers are addressed
2027Integration with adjacent technologies creates new capabilities
2028Business models transform as capabilities mature
2029Technology becomes embedded in core infrastructure and processes
2030New paradigms emerge as the technology reaches full maturity

Technology Maturity Curve

Different technologies within the ecosystem are at varying stages of maturity, influencing adoption timelines and investment priorities:

Time / Development Stage Adoption / Maturity Innovation Early Adoption Growth Maturity Decline/Legacy Emerging Tech Current Focus Established Tech Mature Solutions (Interactive diagram available in full report)

Innovation Trigger

  • Generative AI for specialized domains
  • Blockchain for supply chain verification

Peak of Inflated Expectations

  • Digital twins for business processes
  • Quantum-resistant cryptography

Trough of Disillusionment

  • Consumer AR/VR applications
  • General-purpose blockchain

Slope of Enlightenment

  • AI-driven analytics
  • Edge computing

Plateau of Productivity

  • Cloud infrastructure
  • Mobile applications

Technology Evolution Timeline

1-2 Years
  • Technology adoption accelerating across industries
  • digital transformation initiatives becoming mainstream
3-5 Years
  • Significant transformation of business processes through advanced technologies
  • new digital business models emerging
5+ Years
  • Fundamental shifts in how technology integrates with business and society
  • emergence of new technology paradigms

Expert Perspectives

Leading experts in the software dev sector provide diverse perspectives on how the landscape will evolve over the coming years:

"Technology transformation will continue to accelerate, creating both challenges and opportunities."

— Industry Expert

"Organizations must balance innovation with practical implementation to achieve meaningful results."

— Technology Analyst

"The most successful adopters will focus on business outcomes rather than technology for its own sake."

— Research Director

Areas of Expert Consensus

  • Acceleration of Innovation: The pace of technological evolution will continue to increase
  • Practical Integration: Focus will shift from proof-of-concept to operational deployment
  • Human-Technology Partnership: Most effective implementations will optimize human-machine collaboration
  • Regulatory Influence: Regulatory frameworks will increasingly shape technology development

Short-Term Outlook (1-2 Years)

In the immediate future, organizations will focus on implementing and optimizing currently available technologies to address pressing software dev challenges:

  • Technology adoption accelerating across industries
  • digital transformation initiatives becoming mainstream

These developments will be characterized by incremental improvements to existing frameworks rather than revolutionary changes, with emphasis on practical deployment and measurable outcomes.

Mid-Term Outlook (3-5 Years)

As technologies mature and organizations adapt, more substantial transformations will emerge in how security is approached and implemented:

  • Significant transformation of business processes through advanced technologies
  • new digital business models emerging

This period will see significant changes in security architecture and operational models, with increasing automation and integration between previously siloed security functions. Organizations will shift from reactive to proactive security postures.

Long-Term Outlook (5+ Years)

Looking further ahead, more fundamental shifts will reshape how cybersecurity is conceptualized and implemented across digital ecosystems:

  • Fundamental shifts in how technology integrates with business and society
  • emergence of new technology paradigms

These long-term developments will likely require significant technical breakthroughs, new regulatory frameworks, and evolution in how organizations approach security as a fundamental business function rather than a technical discipline.

Key Risk Factors and Uncertainties

Several critical factors could significantly impact the trajectory of software dev evolution:

Technical debt accumulation
Security integration challenges
Maintaining code quality

Organizations should monitor these factors closely and develop contingency strategies to mitigate potential negative impacts on technology implementation timelines.

Alternative Future Scenarios

The evolution of technology can follow different paths depending on various factors including regulatory developments, investment trends, technological breakthroughs, and market adoption. We analyze three potential scenarios:

Optimistic Scenario

Rapid adoption of advanced technologies with significant business impact

Key Drivers: Supportive regulatory environment, significant research breakthroughs, strong market incentives, and rapid user adoption.

Probability: 25-30%

Base Case Scenario

Measured implementation with incremental improvements

Key Drivers: Balanced regulatory approach, steady technological progress, and selective implementation based on clear ROI.

Probability: 50-60%

Conservative Scenario

Technical and organizational barriers limiting effective adoption

Key Drivers: Restrictive regulations, technical limitations, implementation challenges, and risk-averse organizational cultures.

Probability: 15-20%

Scenario Comparison Matrix

FactorOptimisticBase CaseConservative
Implementation TimelineAcceleratedSteadyDelayed
Market AdoptionWidespreadSelectiveLimited
Technology EvolutionRapidProgressiveIncremental
Regulatory EnvironmentSupportiveBalancedRestrictive
Business ImpactTransformativeSignificantModest

Transformational Impact

Technology becoming increasingly embedded in all aspects of business operations. This evolution will necessitate significant changes in organizational structures, talent development, and strategic planning processes.

The convergence of multiple technological trends—including artificial intelligence, quantum computing, and ubiquitous connectivity—will create both unprecedented security challenges and innovative defensive capabilities.

Implementation Challenges

Technical complexity and organizational readiness remain key challenges. Organizations will need to develop comprehensive change management strategies to successfully navigate these transitions.

Regulatory uncertainty, particularly around emerging technologies like AI in security applications, will require flexible security architectures that can adapt to evolving compliance requirements.

Key Innovations to Watch

Artificial intelligence, distributed systems, and automation technologies leading innovation. Organizations should monitor these developments closely to maintain competitive advantages and effective security postures.

Strategic investments in research partnerships, technology pilots, and talent development will position forward-thinking organizations to leverage these innovations early in their development cycle.

Technical Glossary

Key technical terms and definitions to help understand the technologies discussed in this article.

Understanding the following technical concepts is essential for grasping the full implications of the security threats and defensive measures discussed in this article. These definitions provide context for both technical and non-technical readers.

Filter by difficulty:

algorithm intermediate

algorithm

API beginner

interface APIs serve as the connective tissue in modern software architectures, enabling different applications and services to communicate and share data according to defined protocols and data formats.
API concept visualizationHow APIs enable communication between different software systems
Example: Cloud service providers like AWS, Google Cloud, and Azure offer extensive APIs that allow organizations to programmatically provision and manage infrastructure and services.

platform intermediate

platform Platforms provide standardized environments that reduce development complexity and enable ecosystem growth through shared functionality and integration capabilities.