Coroutines Flow & Channels Workshop Slides at Tapsell YouTube: https://www.youtube.com/watch?v=SAVRGpgIgXE Source Code: https://github.com/MortezaNedaei/Kotlin-Coroutines-Workshop
This document summarizes different options for cross data center replication (CDCR) in Solr and Lucene Fusion. It describes the Solr CDCR option, which replicates complete collections between data centers in near real-time. The Solr Streaming Expressions option allows for selective replication of documents and fields with more flexibility. Finally, the Fusion Parallel Bulk Loader uses Apache Spark to perform high-volume data transfers and transformations between collections at scale.
Writing concurrent program is hard; maintaining concurrent program even is a nightmare. Actually, a pattern which helps us to write good concurrent code is available, that is, using “channels” to communicate. This talk will share the channel concept with common libraries, like threading and multiprocessing, to make concurrent code elegant. It's the talk at PyCon TW 2017 [1] and PyCon APAC/MY 2017 [2]. [1]: https://tw.pycon.org/2017 [2]: https://pycon.my/pycon-apac-2017-program-schedule/
Locks, Blocks, and Snapshots: Maximizing Database Concurrency - Presented for the PASS DBA Virtual Group on 9 May 2018
ODSC East 2017 - How to use Zeppelin and Spark to document your research. Reproducible research documents not just the findings of a study but the exact code required to produce those findings. Reproducible research is a requirement for study authors to reliably repeat their analysis or accelerate new findings by applying the same techniques to new data. The increased transparency allows peers to quickly understand and compare the methods of the study to other studies and can lead to higher levels of trust, interest and eventually more citations of your work. Big data introduces some new challenges for reproducible research. As our data universe expands and the open data movement grows, more data is available than ever to analyze, and the possible combinations are infinite. Data cleaning and feature extraction often involve lengthy sequences of transformations. The space allotted for publications is not adequate to effectively describe all the details, so they can be reviewed and reproduced by others. Fortunately, the open source community is addressing this need with Apache Spark, Zeppelin and Hadoop. Apache Spark 2.0 makes it even simpler and faster to harness the power of a Hadoop computing cluster to clean, analyze, explore and train machine learning models on large data sets. Zeppelin web-based notebooks capture and share code and interactive visualizations with others. After this session you will be able to create a reproducible data science pipeline over large data sets using Spark, Zeppelin, and a Hadoop distributed computing cluster. Learn how to combine Spark with other supported interpreters to codify your results from cleaning to exploration to feature extraction and machine learning. Discover how to share your notebooks and data with others using the cloud. This talk will cover Spark and show examples, but it is not intended to be a complete tutorial on Spark.
Locks, Blocks, and Snapshots: Maximizing Database Concurrency - Presented for the PASSDC User Group on 12 July 2018
Locks, Blocks, and Snapshots: Maximizing Database Concurrency - Presented for the New England SQL User Group on 12 December 2018
New abstractions for concurrency make writing programs easier by moving away from threads and locks, but debugging such programs becomes harder. The call-stack, an essential tool in understanding why and how control flow reached a certain point in the program, loses meaning when inspected in traditional debuggers. Futures, actors or iteratees make code easier to write and reason about, and in this talk I'll show a simple solution to make them easier to debug. The tool I present integrates well with the Eclipse plugin for Scala, and shows how a "reactive debugger" might look like.
Grand Central Dispatch (GCD) was created by Apple to make it easier to write concurrent code for multi-core systems. It shifts thread and task management from apps to the operating system. Units of work are described as blocks of code, while queues organize blocks based on execution needs. GCD has a multi-core engine that assigns blocks from app queues to OS-managed threads, removing the need for apps to directly use threads. Blocks are lightweight anonymous functions that can capture state and be passed between queues and threads for asynchronous execution. Common queues include the main queue for UI updates and global queues for general-purpose work.
This document provides an introduction to Docker and Openshift including discussions around infrastructure, storage, monitoring, metrics, logs, backup, and security considerations. It describes the recommended infrastructure for a 3 node Openshift cluster including masters, etcd, and nodes. It also discusses strategies for storage, monitoring both internal pod status and external infrastructure metrics, collecting and managing logs, backups, and security features within Openshift like limiting resource usage and isolating projects.
This document provides an overview and introduction to using version control with Subversion (SVN). It begins with an agenda that outlines the topics to be covered, including fundamental concepts, basic usage, advanced topics, branching and merging. It then discusses the history and architecture of SVN, fundamental concepts like versions and revisions. It covers basic usage such as importing, checking out a working copy, the basic work cycle of updating, making changes, committing. It also discusses advanced topics like properties, sparse directories, locking and changelists. Finally, it discusses branching and merging in SVN repositories.
Thanks to your constantly crashing desktop apps, you know about processes. Microservice flavored web development taught us about threads too. Then came callbacks, shortening lifetime of millions of developers. Do you recall the day you shed tears when Java shipped a Future that you can complete? I know you haven't forgotten how Reactive Streams occupied our agendas with RxJava, Reactor, and infinite stack traces. Now newspapers are yelling about coroutines, fibers, lightweight threads! We poor souls... In this presentation, I aim to give a 2,000ft overview of where do we come from, where are we heading to, and what does all this mean for the Java Virtual Machine, aka, JVM. Are you a Java developer? Thread circus owner? Reactive ninja? Kotlin fan? COBOL enthusiast? Algol pensioner? There is something I will tell you. (Spoiler: I will as well talk about Project Loom, structured concurrency, and scoped variables.)
Akka HTTP is a toolkit for building REST APIs using Scala. It provides a server-side API with routing directives to define routes and handle requests asynchronously in a non-blocking way. Tests can be written using the testkit module to test routes efficiently. Akka HTTP picks up where the low-level server API leaves off, offering higher-level functionality like routing, content negotiation, and static content serving through its routing DSL.
Aim of this presentation is not to make you masters in Java 8 Concurrency, but to help you guide towards that goal. Sometimes it helps just to know that there is some API that might be suitable for a particular situation. Make use of the pointers given to search more and learn more on those topics. Refer to books, Java API Documentation, Blogs etc. to learn more. Examples and demos for all cases discussed will be added to my blog www.javajee.com.
Progress report on the revision of Encoded Archival Description. EAD3 should be ready by Winter 2015.
Storm is a distributed and fault-tolerant realtime computation system. It was created at BackType/Twitter to analyze tweets, links, and users on Twitter in realtime. Storm provides scalability, reliability, and ease of programming. It uses components like Zookeeper, ØMQ, and Thrift. A Storm topology defines the flow of data between spouts that read data and bolts that process data. Storm guarantees processing of all data through its reliability APIs and guarantees no data loss even during failures.
This document provides an overview and plan for learning JavaScript. It covers introductory topics like variables, operators, functions, loops, and events. It also explains why JavaScript is important for web development as one of the three main languages, along with HTML and CSS. The document outlines how to integrate JavaScript into HTML pages and defines common JavaScript concepts.
This document provides an overview of Oracle 9i Real Application Clusters (RAC) on Linux. It discusses the benefits of RAC such as scalability, high availability, and transparent expansion. Key components of RAC are described including cache fusion, global cache management, and resource coordination. Failure detection and recovery processes are also summarized. The document concludes with information on configuring Oracle 9i RAC and Linux kernel parameters on Linux systems.
Notes of Construction management and entrepreneurship