This presentation is about multitasking with std::future.
Presentation by Dmytro Gurin (Lead Software Engineer, GlobalLogic, Kyiv), delivered at GlobalLogic C++ TechTalk in Lviv, September 18, 2014.
More details -
http://www.globallogic.com.ua/press-releases/lviv-cpp-techtalk-coverage
This document summarizes several proposed changes for Java 7 including better integer literals with underscores for clarity, improved type inference for constructors and argument positions, new features like string switches and automatic resource management, and new libraries such as NIO2 and the fork/join framework for parallel programming.
The document provides examples of code snippets in C# to demonstrate various OOP concepts like inheritance, polymorphism, delegates, constructors, exception handling, file I/O, and adding a flash item to a website. It also explains XML and DTDs. The code snippets show how to implement inheritance by defining a base Shape class and derived Rectangle class, implement polymorphism by overloading a print method, use delegates to call methods, define default and parameterized constructors, handle exceptions, perform file read/write operations, and add a flash file to an HTML document. The explanation of XML covers internal and external DTD declarations to define document structure.
The document discusses C++ interview questions and answers related to classes, inheritance, pointers, references, and operator overloading. It provides code examples to demonstrate concepts like passing objects by value vs reference, virtual functions, and inheritance. The examples are tested on Turbo C++, Microsoft VC++ compilers under Windows environment on x86 systems.
The document discusses various topics related to classes and objects in C++ including defining a class, accessing class members, defining member functions, static data members and functions, arrays of objects, passing objects as function arguments, returning objects from functions, friend functions, and more. It provides code examples for many of these concepts. The document is a chapter from a book or set of lecture notes on C++ classes and objects.
The document discusses pointers and dynamic memory allocation in C++. It explains that pointers store memory addresses and can be used to indirectly access variables. The new operator allocates dynamic memory from the heap at runtime and returns the memory address, which must be assigned to a pointer. The delete operator deallocates memory previously allocated with new. Dynamic arrays can be created at runtime using new[] and require delete[] to avoid memory leaks. Classes with dynamic memory need constructors to allocate memory and destructors to deallocate it.
Finagle is an asynchronous RPC framework from Twitter that provides client/server abstractions over various protocols like HTTP and Thrift. It uses Futures to handle asynchronous operations and provides methods like map, flatmap, and handle to transform Futures. The Java Service Framework builds on Finagle to add features like metrics, logging, and rate limiting for Java services. It allows configuring options like enabling specific logs and metrics through a Proxy builder.
If you thought Monads are a mystery, then this demonstration would show you how to evolve your code towards a Monad without knowing about it. This demo will neither go into any Category Theory nor begin with monadic laws. Instead, we will start with typical code that you see in your daily life as a developer, attempt to DRY (Don't Repeat Yourself) it up and eventually use Monad to remove duplication and verbosity. You'll also see how Monads make your code more declarative and succinct by sequencing the steps in your domain logic.
Also, we know in Java8 Checked Exceptions + λ == Pain! To be more precise, we will evolve a Try<t> (exception handling monad) which is missing in Java8, similar to one found in Scala.
The document discusses class and object-oriented programming concepts such as classes, objects, member functions, and constructors. It provides examples of class declarations and definitions, and how to create objects and call member functions. The document also covers constructors, initializer lists, destructors, function templates, and class templates.
Node.js behind: V8 and its optimizationsDawid Rusnak
Do you know how really your code is working behind? It’s very useful to be aware of mechanisms and optimizations which your engine will perform. I will tell you how your code is processed and run, and how it could affect you in day-by-day development.
Performed at Code Europe 2017: https://www.codeeurope.pl
The document discusses different ways to implement threading in Java programs. It provides code examples to demonstrate creating threads by extending the Thread class and implementing the Runnable interface. The code examples show printing output from both the main thread and child threads to illustrate threading concepts. Socket programming and RMI examples are also provided with code to implement client-server applications using threads.
This presentation is an introduction to Dotty / Scala 3.
It covers the features which I deem most important for Scala developers.
For detailed information see the [Dotty documentation](https://dotty.epfl.ch/docs/index.html).
Александр Гранин, Функциональная 'Жизнь': параллельные клеточные автоматы и к...Sergey Platonov
This document discusses using functional programming concepts like comonads to design and implement cellular automata in C++. It describes a 1D, 3-state cellular automaton as a proof of concept. It then discusses extending the approach to 2D cellular automata by using higher-order functions. Benchmark results show the parallel implementation of Conway's Game of Life outperforms the sequential version.
This document discusses concurrent programming and multithreaded programming in Java. It covers key topics such as creating and controlling threads, thread safety and synchronization, and using bounded queues to allow cooperation between producer and consumer threads.
The document provides an overview of various Objective-C concepts including classes, objects, methods, properties, protocols, categories, dictionaries, property lists, user defaults, errors, delegates, callbacks, and table views. It discusses core classes like NSString, NSArray, NSDictionary, and NSMutableDictionary. It covers concepts like inheritance, polymorphism, and memory management using retain, release, and autorelease. The document also provides examples of declaring and defining classes, creating class instances, and implementing table views with custom cells.
Declarative Internal DSLs in Lua: A Game Changing ExperienceAlexander Gladysh
The document discusses using internal domain-specific languages (DSLs) in Lua and provides examples of how to implement them. It describes loading DSL data into a tree structure, validating the data through tree traversal, and generating outputs by traversing the tree a second time. The document argues that this approach provides reusability across different DSLs and output targets with good error reporting. It also gives examples of where internal DSLs are used, such as for HTTP APIs, configuration files, databases, and visual editors.
The document introduces several uncommon design patterns:
1) Null Object pattern avoids using null values by implementing a "null" object that respects the expected interface.
2) Encapsulated Context pattern encapsulates common services/data needed by different components in a single context object rather than using global objects.
3) Role Object pattern handles modeling problems where an element can have different roles by using role objects that are added to and removed from a core object.
4) ISP & Object Adaptation pattern allows objects to adapt to different protocols by checking for direct implementation, using registered adapters, or throwing exceptions.
5) Essence pattern uses an "essence" class to encapsulate an object's configuration and
The document contains examples of C++ code demonstrating the use of vectors, lists, and deques. It includes code inserting, erasing, and iterating over elements. Functions like push_back(), pop_front(), begin(), end() etc. are used. Structures are defined containing lists and vectors. Elements are added and removed from the lists and vectors and their sizes printed.
This document contains code examples demonstrating basic Java concepts like classes, objects, methods, constructors, static variables, and more. The examples show how to define Box classes with width, length and height attributes to calculate and print the volume. Later examples demonstrate method overloading, the use of this keyword, call by value vs reference, and default values of attributes. Constructors are used to initialize object attribute values.
The document discusses the introduction and advantages of lambda expressions and functional programming in Java 8. Some key points include:
- Lambda expressions allow passing behaviors as arguments to methods, simplifying code by removing bulky anonymous class syntax. This enables more powerful and expressive APIs.
- Streams provide a way to process collections of data in a declarative way, leveraging laziness to improve efficiency. Operations can be pipelined for fluent processing.
- Functional programming with immutable data and avoidance of side effects makes code more modular and easier to reason about, enabling optimizations like parallelism. While not natively supported, Java 8 features like lambda expressions facilitate a more functional approach.
This document provides an overview of Grand Central Dispatch (GCD) in iOS. It describes key GCD concepts like blocks, dispatch queues, operation queues, dispatch groups, and dispatch semaphores. It explains how to define and execute tasks using these constructs. Examples are given showing how to download images asynchronously and use callback blocks. References for further reading on GCD are also provided.
Gr8conf EU 2018 - Bring you infrastructure under control with InfrastructorStanislav Tiurikov
Infrastructor is an open source server provisioning tool that provides a DSL on top of Groovy to describe, manage, and provision servers. It allows defining inventories of nodes and provisioning plans consisting of tasks and actions to run on nodes. Inventories can be defined inline, from files, or by reading AWS EC2 instances. Actions include running shell commands, uploading files, and decrypting sensitive data at runtime. Provisioning plans are executed sequentially on filtered nodes in parallel. External configs, user input, and encryption of secrets are also supported.
This document discusses using Celery and RabbitMQ to implement asynchronous task queues. It provides an overview of Celery and RabbitMQ, how to set them up, configure tasks, schedule and retry tasks, and examples of using task queues for importing large files and sending complex emails. The key benefits highlighted are decoupling tasks from the main system, scalability, and ability to distribute tasks across multiple workers.
This document discusses using Celery and RabbitMQ to handle asynchronous and distributed tasks in Python. It provides an overview of Celery and RabbitMQ and how they can be used together. Examples are given of defining and running tasks, including periodic tasks, task sets, routing, retries, and interacting with results. The benefits of using Celery for slow, memory-intensive, or externally-dependent tasks are highlighted.
This document discusses concurrency and concurrent programming in Java. It introduces the built-in concurrency primitives like wait(), notify(), synchronized, and volatile. It then discusses higher-level concurrency utilities and data structures introduced in JDK 5.0 like Executors, ExecutorService, ThreadPools, Future, Callable, ConcurrentHashMap, CopyOnWriteArrayList that provide safer and more usable concurrency constructs. It also briefly covers topics like Java Memory Model, memory barriers, and happens-before ordering.
This document provides an overview of C++ programming concepts including control statements, decision making constructs, loops, arrays, functions, user-defined data types like structures and unions, and enumerations. It discusses various control structures like if/else, for/while loops, and break/continue statements. It also covers functions, including inline functions and function overloading. Finally, it summarizes structures, unions, and enumerations - specifically how structures group related variables, unions share memory, and enumerations assign limited values to variables.
Seastar is an open source framework that provides highly scalable and asynchronous distributed applications. It uses a shared-nothing architecture with no locks or threads to achieve linear scaling across cores. Applications built on Seastar can handle millions of connections and I/O operations in parallel. It uses an asynchronous programming model based on promises and futures with zero-copy networking and disk I/O for high performance.
Avoiding callback hell in Node js using promisesAnkit Agarwal
This document discusses using promises in Node.js to avoid callback hell. It explains that Node.js is event-based and non-blocking, allowing it to handle multiple requests simultaneously. However, nested callbacks can result in unwieldy callback pyramids or "callback hell". Promises provide a way to write asynchronous code in a more linear way using method chaining. Key benefits include separation of concerns between wrapping asynchronous functions and controlling flow, as well as more readable code. The document provides examples of chaining, nesting, combining, and creating promises using deferred objects in the Q promise library.
Using c++Im also using a the ide editor called CodeLiteThe hea.pdffashiongallery1
Typed out please In a short and simple response comment on this persons answer for masonry
work Additives combined with concrete to achieve certain properties are called what? Name a
few that would benefit the Engineer and Customer.
Response - Additives to concrete are utilized to provide certain benefits when placing concrete.
These additives called \"Admixtures\" can be used to speed up the curing process, slow down the
curing process, or help in working with concrete during cold temperatures. Retarders can be
added to concrete to slow down curing. Accelerators can be used to speed up the curing. The
most advanced additive is the Air-entrainment agent which gives mason the ability to work with
concrete in colder months.
Typed out please In a short and simple response comment on this persons answer for masonry
work Additives combined with concrete to achieve certain properties are called what? Name a
few that would benefit the Engineer and Customer.
Response - Additives to concrete are utilized to provide certain benefits when placing concrete.
These additives called \"Admixtures\" can be used to speed up the curing process, slow down the
curing process, or help in working with concrete during cold temperatures. Retarders can be
added to concrete to slow down curing. Accelerators can be used to speed up the curing. The
most advanced additive is the Air-entrainment agent which gives mason the ability to work with
concrete in colder months.
Response - Additives to concrete are utilized to provide certain benefits when placing concrete.
These additives called \"Admixtures\" can be used to speed up the curing process, slow down the
curing process, or help in working with concrete during cold temperatures. Retarders can be
added to concrete to slow down curing. Accelerators can be used to speed up the curing. The
most advanced additive is the Air-entrainment agent which gives mason the ability to work with
concrete in colder months.
Solution
The response of the person is good. He/she explained the admixtures and their applications pretty
well and also explained accelators, retarders and air entertainment in a simple straight forward
fashion.Overall i would say that the answer is satisfactory.
I will like to add \"PLASTICIZERS\" in the list of admixtures that would benefit the engineer
and customer. Plasticizers are water reducing admixtures and are added to the concrete mix for
making it more plastic without any further addition of water. In other words, they reduce the
quantity of water required to make concrete mixture of better plasticity.
PLEASE HIT LIKE BUTTON IF YOU FIND MY ANSWER SATISFACTORY.
THANK YOU..
This document discusses ColdBox scheduled tasks. It provides an overview of scheduling tasks in ColdBox, including defining robust schedules using a fluent DSL in Scheduler.cfc. It describes using the Java concurrency utilities, life cycle methods, configuration options, module-specific schedulers, task constraints, and retrieving task stats. Examples are given of configuring different task schedules and call methods, as well as using task life cycle methods and constraints.
This document provides an overview of the key differences between Play Framework versions 1.0 and 2.1. It notes that Play 2.1 introduces support for Scala and Java, uses dynamic compilation via SBT, includes error reporting for JavaScript, and is designed for long browser connections. It also summarizes how to work with templates, HTML forms, databases, and JSON in Play 2.1 applications.
This document discusses using a dependency injection container to configure NHibernate with a SOLID design approach. It introduces patterns like plug-in and optionality to split configuration tasks across assemblies and optionally enable/disable them. Configuration tasks implement interfaces to define their execution order and configuration logic. The container resolves and executes the tasks to configure NHibernate.
MongoDB is the trusted document store we turn to when we have tough data store problems to solve. For this talk we are going to go a little bit off the path and explore what other roles we can fit MongoDB into. Others have discussed how to turn MongoDB’s capped collections into a publish/subscribe server. We stretch that a little further and turn MongoDB into a full fledged broker with both publish/subscribe and queue semantics, and a the ability to mix them. We will provide code and a running demo of the queue producers and consumers. Next we will turn to coordination services: We will explore the fundamental features and show how to implement them using MongoDB as the storage engine. Again we will show the code and demo the coordination of multiple applications.
Ansible is an open source automation platform, written in Python, that can be used for configuration-management, application deployment, cloud provisioning, ad-hoc task-execution, multinode orchestration and so on. This talk is an introduction to Ansible for beginners, including tips like how to use containers to mimic multiple machines while iteratively automating some tasks or testing.
This talk represents the combined experience from several web development teams who have been using Symfony2 since months already to create high profile production applications. The aim is to give the audience real world advice on how to best leverage Symfony2, the current rough spots and how to work around them. Aside from covering how to implement functionality in Symfony2, this talk will also cover topics such as how to best integrate 3rd party bundles and where to find them as well as how to deploy the code and integrate into the entire server setup.
case3h231/diamond.gif
case3h231/energy.jpg
case3h231/modernizr-2.js
/*!
* Modernizr v2.0.6
* http://www.modernizr.com
*
* Copyright (c) 2009-2011 Faruk Ates, Paul Irish, Alex Sexton
* Dual-licensed under the BSD or MIT licenses: www.modernizr.com/license/
*/
/*
* Modernizr tests which native CSS3 and HTML5 features are available in
* the current UA and makes the results available to you in two ways:
* as properties on a global Modernizr object, and as classes on the
* <html> element. This information allows you to progressively enhance
* your pages with a granular level of control over the experience.
*
* Modernizr has an optional (not included) conditional resource loader
* called Modernizr.load(), based on Yepnope.js (yepnopejs.com).
* To get a build that includes Modernizr.load(), as well as choosing
* which tests to include, go to www.modernizr.com/download/
*
* Authors Faruk Ates, Paul Irish, Alex Sexton,
* Contributors Ryan Seddon, Ben Alman
*/
window.Modernizr = (function( window, document, undefined ) {
var version = '2.0.6',
Modernizr = {},
// option for enabling the HTML classes to be added
enableClasses = true,
docElement = document.documentElement,
docHead = document.head || document.getElementsByTagName('head')[0],
/**
* Create our "modernizr" element that we do most feature tests on.
*/
mod = 'modernizr',
modElem = document.createElement(mod),
mStyle = modElem.style,
/**
* Create the input element for various Web Forms feature tests.
*/
inputElem = document.createElement('input'),
smile = ':)',
toString = Object.prototype.toString,
// List of property values to set for css tests. See ticket #21
prefixes = ' -webkit- -moz- -o- -ms- -khtml- '.split(' '),
// Following spec is to expose vendor-specific style properties as:
// elem.style.WebkitBorderRadius
// and the following would be incorrect:
// elem.style.webkitBorderRadius
// Webkit ghosts their properties in lowercase but Opera & Moz do not.
// Microsoft foregoes prefixes entirely <= IE8, but appears to
// use a lowercase `ms` instead of the correct `Ms` in IE9
// More here: http://github.com/Modernizr/Modernizr/issues/issue/21
domPrefixes = 'Webkit Moz O ms Khtml'.split(' '),
ns = {'svg': 'http://www.w3.org/2000/svg'},
tests = {},
inputs = {},
attrs = {},
classes = [],
featureName, // used in testing loop
// Inject element with style element and some CSS rules
injectElementWithStyles = function( rule, callback, nodes, testnames ) {
var style, ret, node,
div = document.createElement('div');
if ( parseInt(nodes, 10) ) {
// In order not to give false positives we create a node for each test
// This also allows the method to scale for unspecified uses
while ( nodes-- ) {
node = document.createElement(' ...
The document discusses parallel programming in .NET. It covers two main strategies for parallelism - data parallelism and task parallelism. For data parallelism, it describes using Parallel.For to partition work over collections. For task parallelism, it discusses using the Task Parallel Library to create and run independent tasks concurrently, allowing work to be distributed across multiple processors. It provides examples of creating tasks implicitly with Parallel.Invoke and explicitly by instantiating Task objects and passing delegates.
This document introduces GradleFx, a Flex build tool that uses Gradle. It discusses key features of GradleFx such as supporting SWC, SWF, and AIR compilation; tasks for cleaning, compiling, packaging, and testing; and conventions for project structure and dependencies. Advanced topics covered include compiler options, JVM arguments, dependency configurations, and additional steps for AIR projects and FlexUnit testing. An example Gradle build script is provided.
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...GlobalLogic Ukraine
Під час доповіді відповімо на питання, навіщо потрібно підвищувати продуктивність аплікації і які є найефективніші способи для цього. А також поговоримо про те, що таке кеш, які його види бувають та, основне — як знайти performance bottleneck?
Відео та деталі заходу: https://bit.ly/45tILxj
GlobalLogic Embedded Community x ROS Ukraine Webinar "Surgical Robots"GlobalLogic Ukraine
Доповідь присвячена медицині майбутнього, малоінвазивній хірургії: розглянемо рішення із використанням роботів хірургів. Оглянемо інструментарій та звернемо увагу на речі, які можна відтворити для експериментів у домашніх умовах.
GlobalLogic Java Community Webinar #17 “SpringJDBC vs JDBC. Is Spring a Hero?”GlobalLogic Ukraine
Доповідь присвячена розгляду Spring JDBC у порівнянні зі стандартним JDBC у Java. Спікерка покаже на конкретних прикладах розподіл логіки коду за класами та як використання Spring JDBC скорочує кількість коду, який необхідно написати, і чому це відбувається.
Відео та деталі заходу: https://bit.ly/3wqEjCx
GlobalLogic JavaScript Community Webinar #18 “Long Story Short: OSI Model”GlobalLogic Ukraine
Ця доповідь зацікавить усіх, хто хоче заповнити прогалини у базових знаннях чи підтягнути теорію з університету. Під час доповіді ми дізнаємось, що таке модель OSI та розглянемо кожен її рівень. Як результат, ви краще розумітимете свою область відповідальності як Front-end, Back-end, DevOps чи системний адміністратор.
Відео та деталі заходу: https://bit.ly/47T4QWI
Штучний інтелект як допомога в навчанні, а не замінник.pptxGlobalLogic Ukraine
Про що лекція:
- Як використовувати штучний інтелект у навчанні
- Обмеження та недоліки використання AI
- Рекомендації щодо відповідального використання AІ в навчанні. Огляд кращих прикладів.
Спікер: Оксана Поморова — Lead Software Engineer, GlobalLogic, доктор технічних наук з 20-річним досвідом в IT. Напрям діяльності — застосування штучного інтелекту та комп’ютерний зір.
Задачі AI-розробника як застосовується штучний інтелект.pptxGlobalLogic Ukraine
Про що лекція:
- Пошук схожих зображень за допомогою ШІ
- Як ШІ видаляє задній фон на фото. Розв’язання задачі сегментації.
- Ефективне навчання ШІ на основі великого масиву даних (фото).
Спікер: Олександр Мірошниченко, Senior Software Engineer, має понад 7 років досвіду в ІТ. Напрям діяльності — нейронні мережі та Deep Learning.
Що треба вивчати, щоб стати розробником штучного інтелекту та нейромереж.pptxGlobalLogic Ukraine
Про що лекція:
- Що таке штучний інтелект зсередини та чим зумовлена його популярність
- Напрями розвитку штучного інтелекту: які є та як обрати свій
- Які знання необхідні, щоб стати розробником штучного інтелекту
Спікер: Василь Ляшкевич — Solution Architect, GlobalLogic, PhD в компʼютерних науках, має понад 15 років досвіду в ІТ. Напрям діяльності — розробка алгоритмів і засобів штучного інтелекту, хмарних систем та сервісів.
GlobalLogic Java Community Webinar #16 “Zaloni’s Architecture for Data-Driven...GlobalLogic Ukraine
20 липня відбувся вебінар від Java Community – “Zaloni’s Architecture for Data-Driven Design” by Максим Дем’яновський — Software Engineer, GlobalLogic.
Доповідь надасть уявлення про Data-Driven Design, основні його переваги і практичну користь, а також покаже як його можна реалізувати на практиці.
25 квітня відбувся вебінар від JavaScript Community – “Why Is Git Rebase?”
Ганна Ліхтман — Senior Software Engineer, GlobalLogic.
Під час вебінару дізнались, що таке git history, та чому важливо тримати її в чистоті і порядку. Яка різниця між merge та rebase. Що таке інтерактивний rebase та в чому його сила не тільки на словах, але й на практиці.
GlobalLogic .NET Community Webinar #3 "Exploring Serverless with Azure Functi...GlobalLogic Ukraine
29 березня відбувся вебінар від .NET Community – “Exploring Serverless with Azure Functions”.
Спікер: Євген Павленко – Senior Software Engineer, GlobalLogic.
Поговорили на ті теми:
- Вступ до Azure Functions та Serverless;
- Типи хмарного обчислення;
- Переваги serverless;
- Функції та можливості Azure Functions.
Страх і сила помилок - IT Inside від GlobalLogic EducationGlobalLogic Ukraine
Ви дізнаєтесь:
- Що знаходиться за кулісами успішного успіху;
- Страх, що контролює тебе та робота з ним;
- Звідки береться невпевненість у власних силах;
- Чого власні помилки демотивують.
ℹ️IT Inside — це серія 30-хвилинних лекцій для охочих розпочати кар'єру в ІТ. Наші експерти відкриють залаштунки айтішного життя, обговорять поширені думки про ІТ-сферу й розкажуть те, що самі б хотіли почути на старті кар'єри.
🎬Переглянути записи попередніх лекцій IT Inside (https://youtube.com/playlist?list=PLipGbz33Ay3H5ynlB0YQ6P-16IX-pRvce).
GlobalLogic .NET Webinar #2 “Azure RBAC and Managed Identity”GlobalLogic Ukraine
24 листопада відбувся вебінар від .NET Community – “Azure RBAC and Managed Identity”.
Спікер: Євген Павленко – Senior Software Engineer, GlobalLogic.
Розповіли, що таке Azure RBAC (Role Base Access Control) і як він працює, для чого нам Azure Managed Identity та як звільнитись від використання паролів-секретів при використанні Azure.
Деталі заходу: https://bit.ly/3GSBvRx
Відкриті .NET-позиції у GlobalLogic: https://bit.ly/3ilJYCq
Долучитись до .NET Community у Facebook: https://www.facebook.com/groups/communitydotnet
GlobalLogic QA Webinar “What does it take to become a Test Engineer”GlobalLogic Ukraine
We considered:
- What attracts you to testing?
- What set of skills does the tester need?
- How to find your niche?
- Truth and fiction about testing
- Resume as a way to success
- Recommended materials
Discussed the capabilities, advantages and disadvantages of Keycloak, made a basic understanding of how it can be applied and integrated into various systems.
Speaker - Ihor Didyk, Software Engineer, GlobalLogic.
GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...GlobalLogic Ukraine
31 травня відбувся вебінар для ML-спеціалістів - “Advanced Statistical Methods for Linear Regression” від спікера Віталія Мірошниченка! Ця доповідь для тих, хто добре ознайомлений із найпоширенішими моделями даних та підходами у машинному навчанні і хоче розширити знання іншими підходами.
У доповіді ми розглянули:
- Нагадування. Модель лінійної регресії і підгонка параметрів;
- Навчання батчами (великі об’єми вибірок);
- Оптимізація розрахунків у каскаді моделей;
- Модель суміші лінійних регресій;
- Оцінки методом складеного ножа матриць коваріацій.
Про спікера:
Віталій Мірошниченко — Senior ML Software Engineer, GlobalLogic. Має більше 6 років досвіду, який отримав здебільшого на проєктах, пов’язаних із Telecom, Cyber security, Retail. Активний учасник змагань Kaggle, та Аспірант КНУ.
Деталі заходу: https://bit.ly/3HkqhDB
Відкриті ML позиції у GlobalLogic: https://bit.ly/3MPC9yo
GlobalLogic Machine Learning Webinar “Statistical learning of linear regressi...GlobalLogic Ukraine
24 травня відбувся GlobalLogic Machine Learning Webinar “Statistical learning of linear regression model” від спікера Віталія Мірошніченка.
Під час вебінару ми обговорили такі теми:
- Модель лінійної регресії;
- Підгонка параметрів моделі (custom, sklearn, scipy);
- Основні теореми та асимптотика параметрів;
- Дискриптивні статистики (візуалізація результатів);
- Тести та їх інтерпретація;
- Приклади з Machine Learning.
Відео та деталі заходу - https://www.globallogic.com/ua/about/events/statistical-learning-of-linear-regression-model/?utm_source=youtube-organic&utm_medium=social&utm_campaign=statistical-learning-of-linear-regression-model
Попередня реєстрація на GL BaseCamp - https://bit.ly/BaseCampwaitinglist
GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer”GlobalLogic Ukraine
18 травня відбувся GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer” від спікера Романа Івасишина.
У доповіді ми розглянули:
- Список тем, які повинен знати С++ розробник (синтаксис мови, класи, STL, а також дізнались, для чого вчити темплейти та багатопотоковість);
- На що потрібно звернути увагу при вивченні мови;
- Деякі приховані аспекти мови;
- Практичні приклади з С++.
Відео та деталі заходу: https://bit.ly/3Gxmkee
Приєднатись до спільноти: https://www.facebook.com/groups/EmbeddedCommunity
Відкриті C++ позиції у GlobalLogic: https://bit.ly/3GzW03c
22 лютого відбувся Embedded Webinar #17 “Low-level Network Testing in Embedded Devices Development” від спікера Сергія Корнієнка.
Під час вебінару ми говорили на такі теми:
- Підхід до низькорівневого тестування мережевих протоколів;
- Інструменти, які можна використати в реальних проєктах;
- Знайдені баги та способи знаходження корневих причин на прикладі реального R&D проєкту.
Відео та деталі заходу: https://bit.ly/embedded_webinar_17
Приєднатись до спільноти: https://www.facebook.com/groups/EmbeddedCommunity
Відкриті Embedded-позиції у GlobalLogic: https://bit.ly/Embedded_Positions
11 січня відбувся вебінар “Introduction to Embedded QA”.
Під час вебінару ми поговорили на такі теми:
Огляд вбудованих систем;
Основні складнощі, що виникають під час їх тестування;
Основні напрямки та технології, які необхідно відслідковувати під час роботи з вбудованими системами.
Більше про захід: https://www.globallogic.com/ua/about/events/globallogic-webinar-introduction-to-embedded-qa/
Приємного перегляду і не забудьте залишити коментар про враження від вебінару!
9 грудня відбувся вебінар “Why Should You Learn C++ in 2021-22?”
Розглянули, наскільки популярною є C/C++ і де її можна використовувати. Поговорили про основні переваги та недоліки цієї мови програмування. Розповіли, як розвивається C/C++ і, нарешті, ми зрозуміли, як почати вивчати C/C++.
Більше про захід: https://www.globallogic.com/ua/about/events/c-webinar-why-you-should-learn-c-in-2021-22/
Приємного перегляду і не забудьте залишити коментар про враження від вебінару!
Maintaining asset integrity, maximising performance, and reaching peak production outcomes all depend on effective defect elimination management.
The difficulties of locating, comprehending, and resolving asset flaws will be examined in this article, with a focus on the significance of having a complete awareness of their nature, implications, and possible outcomes.
The significance of maintenance departments creating a framework for integrating defect elimination and bad actor analysis into their proactive maintenance strategies, enabling them to make more informed decisions, becomes clear when we delve into the subtleties of defect analysis.
Defects in an asset are characterised as flaws, inadequacies, or departures from standard operating characteristics or design specifications.
The kind of defect, where it is located on the assembly of the asset, and what happens when it exists determine how one defect impacts the performance of the asset as a whole.
For example, a minor corrosion patch on a panel that is readily replaceable and does not pose a structural risk to the asset overall is unlikely to have an adverse effect on the asset's longevity, performance, or safety.
Effective Defect Elimination Management is critical for maintaining asset integrity, optimizing performance, and achieving peak production results. It involves identifying, understanding, and addressing asset defects systematically.
Understanding asset defects requires accurate identification and comprehensive documentation in the CMMS, including risk assessments that evaluate both the consequence and likelihood of defects leading to failures.
Defect Elimination Management (DEM) is a comprehensive approach that goes beyond traditional maintenance practices, focusing on root cause analysis and implementing long-term solutions to prevent defect recurrence.
"Bad Actors" in defect elimination refer to equipment, systems, or components that consistently underperform, require frequent maintenance, or cause repeated operational reliability or quality issues.
Advanced diagnostic tools and technologies, such as vibration analysis systems, infrared thermography, and AI-based analytics, have transformed the way asset defects are identified and managed.
Quality and timely repairs and clear business processes for managing defects are crucial, along with maintaining quality maintenance history data to provide valuable insights for future defect elimination processes.
To learn more, you can read my article via this link: https://www.cmmssuccess.com/defect-elimination-management/
In the global energy equation, the IT industry is not yet a major contributor to global warming, but it is increasingly significant. From an engineering standpoint we can achieve huge energy saving by replacing electronic signal processing with optical techniques for routing and switching, whilst longer fibre spans in the local loop offer further reductions. The mobile industry on the other hand has engineered 5G systems demanding ~10kW/tower due to signal processing and beam steering technologies. This sees some countries (i.e. China) closing cell sites at night to save money. So, what of 6G? The assumption that all surfaces can be smart signal regenerators with beam steering looks be a step too far and it may be time for a rethink!
On the extreme end of the scale we have AWS planning to colocate their latest AI data centre (at 1GW power consumption) along side two nuclear reactors because it needs 40% of their joint output. Google and Microsoft are following the AWS approach and reportedly in negotiation with nuclear plant owners. Needless to say that AI train ing sessions and usage have risen to dominate the top of the IT demand curve. At this time, there appears to be no limits to the projected energy demands of AI, but there is a further contender in this technology race, and that is the IoT. In order to satisfy the ecological demands of Industry 4.0/Society 5.0 we need to instrument and tag ‘Things’ by the Trillion, and not ~100 Billion as previously thought!
Now let’s see, Trillions of devices connected to the internet with 5G, 4G, WiFi, BlueTooth, LoRaWan et al using >100mW demands more power plants…
Manufacturing is the process of converting raw materials into finished goods through various production methods. Historically, manufacturing occurred on a small scale through apprenticeships or putting-out systems, but the Industrial Revolution led to large-scale manufacturing using machines powered by steam engines
Agricultural Profitability through Resilience: Smallholder Farmers' Strategie...IJAEMSJORNAL
This study investigated the knowledge strategies and coping utilized by smallholder farmers in Guimba, Nueva Ecija to reduce and adjust to the effects of climate change. Smallholder farmers, who are frequently susceptible to climate change, utilize various traditional and innovative methods to strengthen their ability to withstand and recover from these consequences. Based on the results of this study, farmers in Guimba, Nueva Ecija demonstrate a profound comprehension of the adverse weather conditions, such as typhoons, droughts, and excessive rainfall, which they ascribe to climate change. While they have a fundamental understanding of climate change and its effects, their knowledge of scientific intricacies is restricted, indicating a need for information that is particular to the context. Although farmers possess knowledge about climate change, they are not actively engaging in proactive actions to adapt to it. Instead, they rely on reactive coping mechanisms. This highlights the necessity for targeted educational and communicative endeavors to promote the acceptance and implementation of approaches. Furthermore, the absence of available resources poses a significant barrier to achieving successful adaptation, highlighting the importance of pushing for inexpensive and feasible measures for adaptation. Farmers recognize the benefits of agroforestry and have started integrating the growth of fruit trees, particularly mangoes, into their coping techniques.
Modified O-RAN 5G Edge Reference Architecture using RNNijwmn
Paper Title
Modified O-RAN 5G Edge Reference Architecture using RNN
Authors
M.V.S Phani Narasimham1 and Y.V.S Sai Pragathi2, 1Wipro Technologies, India, 2Stanley College of Engineering & Technology for Women (Autonomous), India
Abstract
This paper explores the implementation of 6G/5G standards by network providers using cloud-native technologies such as Kubernetes. The primary focus is on proposing algorithms to improve the quality of user parameters for advanced networks like car as cloud and automated guided vehicle. The study involves a survey of AI algorithm modifications suggested by researchers to enhance the 5G and 6G core. Additionally, the paper introduces a modified edge architecture that seamlessly integrates the RNN technologies into O-RAN, aiming to provide end users with optimal performance experiences. The authors propose a selection of cutting-edge technologies to facilitate easy implementation of these modifications by developers.
Keywords
5G O-RAN, 5G-Core, AI Modelling, RNN, Tensor Flow, MEC Host, Edge Applications.
Volume URL: https://airccse.org/journal/jwmn_current24.html
Abstract URL: https://aircconline.com/abstract/ijwmn/v16n3/16324ijwmn01.html
Youtube URL: https://youtu.be/rIYGvf478Oc
Pdf URL: https://aircconline.com/ijwmn/V16N3/16324ijwmn01.pdf
#callforpapers #researchpapers #cfp #researchers #phdstudent #researchScholar #journalpaper #submission #journalsubmission #WBAN #requirements #tailoredtreatment #MACstrategy #enhancedefficiency #protrcal #computing #analysis #wirelessbodyareanetworks #wirelessnetworks
#adhocnetwork #VANETs #OLSRrouting #routing #MPR #nderesidualenergy #korea #cognitiveradionetworks #radionetworks #rendezvoussequence
Here's where you can reach us : ijwmn@airccse.org or ijwmn@aircconline.com
The Transformation Risk-Benefit Model of Artificial Intelligence: Balancing R...gerogepatton
This paper summarizes the most cogent advantages and risks associated with Artificial Intelligence from an
in-depth review of the literature. Then the authors synthesize the salient risk-related models currently being
used in AI, technology and business-related scenarios. Next, in view of an updated context of AI along with
theories and models reviewed and expanded constructs, the writers propose a new framework called “The
Transformation Risk-Benefit Model of Artificial Intelligence” to address the increasing fears and levels of
AIrisk. Using the model characteristics, the article emphasizes practical and innovative solutions where
benefitsoutweigh risks and three use cases in healthcare, climate change/environment and cyber security to
illustrate unique interplay of principles, dimensions and processes of this powerful AI transformational
model.
3. [C++03, 1.9.6]
• The observable behavior of the abstract machine is
its sequence of reads and writes to volatile data and
calls to library I/O functions.
[C++11, 1.10.1]:
• A thread of execution (also known as a thread) is a
single flow of control within a program... The
execution of the entire program consists of an
execution of all of its threads...
4. [C++11, 30.1.1]:
• The following subclauses describe components
to create and manage threads (1.10), perform
mutual exclusion, and communicate
conditions and values between threads…
Subclause Header
Threads <thread>
Mutual exclusion <mutex>
Condition variables <condition_variable>
Futures <future>
5. Having independent time consuming tasks:
// ...
device target_device;
target_device.initialize(); // <- time consuming
configuration_storage db;
configuration config;
db.load(config); // <- time consuming
target_device.configure(config);
6. Execute time consuming tasks
simultaneously, naive approach:
// ...
configuration_storage db;
configuration config;
thread loader([&db, &config]{ db.load(config); });
// <- run loading config in a separate thread
device target_device;
target_device.initialize();
// <- continue device initialization in current thread
loader.join();
// <- assume loading done at this point
target_device.configure(config);
7. Execute time consuming tasks
simultaneously, thread pool approach:
class async_exec_service {
public:
void exec(function<void()> f);
};
// ...
async_exec_service exec_service;
// ...
configuration_storage db;
configuration config;
exec_service.exec([&db, &config]{ db.load(config); });
// <- run loading config in the thread pool
device target_device;
target_device.initialize();
// <- continue device initialization in current thread
// hmmm... are we ready for proceed ???
target_device.configure(config);
8. Execute time consuming tasks simultaneously, thread
pool approach with synchronization:
class async_exec_service { public: void exec(function<void()> f); };
// ...
async_exec_service exec_service;
// ...
configuration_storage db;
unique_ptr<configuration> config;
mutex config_guard;
condition_variable config_cv;
exec_service.exec([&]{
unique_lock<mutex> lock(config_guard);
config.reset(new configuration);
db.load(*config);
config_cv.notify_one();
}); // <- run loading config in the thread pool
device target_device;
target_device.initialize(); // continue device initialization in current thread
{ // wait for configuration loading done
unique_lock<mutex> lock(config_guard);
config_cv.wait(lock, [&]{ return (config != nullptr); });
}
// we are ready for proceed
target_device.configure(*config);
9. The Standard Library provides a unified
solution communicate data between
threads:
• shared state object – privately held object with a
placeholder for result and some auxiliary data;
• asynchronous return object – reads result from
a shared state;
• asynchronous provider - provides shared state
object with a value.
11. Execute time consuming tasks simultaneously, using
future<T>:
class async_exec_service {
public:
template <typename _Function>
auto exec(_Function&& f) -> future<decltype(f())>
{ /*...*/ }
};
async_exec_service exec_service;
// ...
configuration_storage db;
future<configuration> config = exec_service.exec([&db]{
configuration config;
db.load(config);
return config;
});
device target_device;
target_device.initialize();
target_device.configure(config.get());
// wait for result and proceed
12. valid() – tests if the future has a shared
state;
get() – retrieves value, wait if needed;
wait()/wait_for(delay)/wait_until(time) –
waits the future to be populated with result;
share() – makes shared_future from this
future; invalidates this future object.
13. shares its shared state object between
several asynchronous return objects:
the main purpose – signal the result is
ready to multiple waiting threads
14. Runs a function in a separate thread and
set its result to future:
• step back to naive approach:
configuration_storage db;
future<configuration> config = async([&db]{
configuration config;
db.load(config);
return config;
}); // run loading config in a separate thread
device target_device;
target_device.initialize();
// continue device initialization in current thread
target_device.configure(config.get());
15. template< class Function, class... Args>
result_type async(Function&& f, Args&&... args);
template< class Function, class... Args >
result_type async(launch policy, Function&& f, Args&&... args);
async launch policy:
launch::async – launch a new thread for execution;
launch::deferred – defers the execution until the
returned future value accessed; performs execution in
current thread;
launch::async|launch::deferred – used by default,
allows the implementation to choose one.
16. configuration_storage db;
future<configuration> config = async([&db]{
configuration config;
db.load(config);
return config;
}); // run loading config in a separate thread
device target_device;
if (!target_device.initialize()) {
return; // what will happen to config here ???
}
target_device.configure(config.get());
[3.6.8/5]:
• … If the implementation chooses the launch::async policy,
- a call to a waiting function on an asynchronous return object that shares
the shared state created by this async call shall block until the
associated thread has completed, as if joined;
…
17. provides better control over execution;
does not execute threads itself;
provides a wrapper on a function or a callable object for
store returned value/exception in a future.
configuration_storage db;
packaged_task<configuration ()> load_config([&db] {
configuration config;
db.load(config);
return config;
});
future<configuration> config = load_config.get_future();
// just get future<> for future :)
load_config(); // loading config goes here
device target_device;
target_device.initialize();
target_device.configure(config.get());
18. Implementation for async_exec_service:
class async_exec_service {
queue<function<void ()>> _exec_queue;
// worker threads will take functions from _exec_queue
// ...
void enqueue(function<void ()> task) {/* put task to _exec_queue */}
public:
template <typename _Function>
auto exec(_Function&& f) -> future<decltype(f())>
{
typedef decltype(f()) _Result;
shared_ptr<packaged_task<_Result()>> task =
make_shared<packaged_task<_Result()>>(f);
function<void()> task_wrapper = [task]{(*task)();};
enqueue(task_wrapper);
return task->get_future();
}
// ...
};
19. provides the highest level of control over the shared
state;
does not require a function or callable object for populate
shared state;
requires executing thread explicitly set value/exception to
shared state.
20. Yet another implementation for async_exec_service:
class async_exec_service {
queue<function<void ()>> _exec_queue;
// worker threads will take functions from _exec_queue
// ...
void enqueue(function<void ()> task) {/* put task to _exec_queue */}
public:
template <typename _Function>
auto exec(_Function&& f) -> future<decltype(f())>
{
typedef decltype(f()) _Result;
shared_ptr<promise<_Result>> result =
make_shared<promise<_Result>>();
function<void()> task_wrapper = [result, f]{
try {
result->set_value(f());
} catch (...) {
result->set_exception(current_exception());
}
}
enqueue(task_wrapper);
return result->get_future();
}
};
22. Currently is not a part of C++ Standard
Going to be included in C++17 (N3857)
Already available in boost
23. compose two futures by declaring one to be the
continuation of another:
device target_device;
configuration_storage db;
future<void> configure = async([&db]{
configuration config;
db.load(config);
return config;
}).then([&target_device](future<configuration> config){
// JUST FOR EXAMPLE:
// config is ready at this point,
// but it doesn’t mean we could already configure the device
});
target_device.initialize();
24. wait a number of futures for at least one to be
ready:
device target_device;
configuration_storage db;
configuration config;
future<bool> tasks[] = {
async([&target_device]{ return target_device.initialize(); }),
async([&db, &config]{ db.load(config); return true; }),
};
future<vector<future<bool>>> anyone = when_any(begin(tasks), end(tasks));
future<bool> anyone_completed = anyone.then(
[](future<vector<future<bool>>> lst) {
// JUST FOR EXAMPLE
for (future<bool>& f: lst) {
if (f.is_ready())
return f.get(); // won't block here
}
});
25. wait for a number of futures to be ready:
device target_device;
configuration_storage db;
future<bool> init_device = async([&target_device]{
return target_device.initialize();
});
future<configuration> load_config = async([&db]{
configuration config;
db.load(config);
return config;
});
future<tuple<future<bool>, future<configuration>>> init_all =
when_all(init_device, load_config);
future<bool> device_ready = init_all.then(
[&target_device](tuple<future<bool>, future<configuration>> params){
bool hw_ok = get<0>().get();
if (!hw_ok) return false;
configuration config = get<1>().get();
target_device.configure(config);
return true;
}
);