Sentry as a way not to be afraid

uk: Комп'ютерні науки

description: Sentry is an open-source error tracking software. It allows you to know exactly what's going on with your web application in real-time and get detailed reports about occurred errors. Lot's of web developers used to rely only on app logs and generic monitoring software, but it's not enough. Multiple production servers, overwhelmed logging, lack of information about request content in case of error hinders problem investigation and produces permanent developer fear of changes. Sentry could ease the whole process and make you: stay calm during deployment, be sure your application works properly, solve problems before users report about it. During my talk, I will compare Sentry to ordinary logging, show how to use Sentry, explain how to read Sentry reports and demonstrate that its deployment is very easy. The whole demo will be done using Sentry hosted on my laptop. I will describe the problems I have faced up during sentry.io usage and explain why I prefer self-hosting. Also, I will share a link to my Github with docker-compose and ansible files to deploy your self-hosted Sentry, run through the whole idea and demonstrate that everything is clear and easy. Then I will show how to adjust the first project in Sentry and connect it to a working application in both backend and frontend parts. For each backend and frontend cases, there will be its separate part with examples when Sentry is useful and cannot be replaced by other tools and recommendations on how to make Sentry as effective as possible. My talk will be useful for web developers of any level who wants to ease the process of problem investigation and finds application logs not handy.

uk: вхід без авторизації


Itamar Turner-Trauring

type: Person

cs: Informatika

de: Informatik

fi: tietojenkäsittelytiede

uk: Комп'ютерні науки

en: Computer Science

fr: Informatique

da: Datalogi

es: Ciencias de la Computación

nl: Informatica

cs: Technické vědy

de: Ingenieurwissenschaften

fi: tekniikka

uk: Інженерія

en: Engineering Sciences

fr: Ingénierie

da: Ingeniørvidenskab

es: Ingeniería

nl: Engineering

description: If your program is using too much memory, it can crash, thrash, or just run more slowly. To reduce memory usage, you need to measure it somehow. There are a number of tools to measure Python memory usage, however. Which one should you pick? This depends heavily on your use case. In this talk you will learn about the different ways memory problems manifest in Python, the memory usage patterns of different application types, and which tools to use in each situation. For web applications, the typical problem is memory leaks: memory that is never freed adds up if your program runs forever. That means you need tools to help you identify the source of memory leaks, whether in Python or in C extensions. For data processing applications like data science or scientific computing, the problem is typically caused by processing large amounts of data. Here you need to find the peak memory usage, and what code what responsible for it.

TIB AV-Portal

type: Service

type: WebContent

type: MediaObject

@language: en

cs: přihlášení není vyžadováno

de: keine Anmeldung erforderlich

uk: вхід без авторизації

en: no login required

nl: geen login vereist

name: Measuring memory: Python memory profilers and when to use them

EuroPython Conference

type: Organization

cs: Video

de: Video

fi: Video

uk: Відео

en: Video

fr: Vidéo

da: Video

nl: Video

es: Video


uk: Комп'ютерні науки

description: Data scientists, data engineers and machine-learning engineers often have to team together to create data science code that scales. Data scientists typically prefer rapid iteration, which can cause friction if their engineering colleagues prefer observability and reliability.  In this talk, we'll show you how to achieve consensus using three open-source industry heavyweights: Kedro, Apache Airflow and Great Expectations. We will explain how to combine rapid iteration while creating reproducible, maintainable and modular data science code with Kedro, orchestrate it using Apache Airflow with Astronomer, and ensure consistent data quality with Great Expectations.  Kedro is a Python framework for creating reproducible, maintainable and modular data science code. Apache Airflow is an extremely popular open-source workflow management platform. Workflows in Airflow are modelled and organised as DAGs, making it a suitable engine to orchestrate and execute a pipeline authored with Kedro. And Great Expectations helps data teams eliminate pipeline debt, through data testing, documentation, and profiling.

uk: вхід без авторизації

name: Reproducible & Deployable Data Science with Open-Source Python


The Libre-SOC Project

uk: Комп'ютерні науки

description: The Libre-SOC Project aims to bring to market a mass-volume System-on-a-Chip suitable for use in smartphones netbooks tablets and chromebooks, which is end-user programmable right to the bedrock. No spying backdoors, no treacherous DRM. Python and standard Libre Project Management is used throughout: * nmigen, a python-based HDL, is a fundamental and critical strategic choice in creating the hardware. * An IEEE754 FP hardware library has been developed using nmigen/python, as are hundreds of thousands of unit tests * An OpenPOWER ISA simulator is written in python, and is actually a PLY compiler based on the GardenSnake example * Several thousand unit tests for the HDL and simulator are written in python * coriolis2, the VLSI ASIC layout toolchain, is a mixed c++ python application * cocotb, a hardware co-simulation system, is used to verify the HDL is correct, down to the gate level * a JTAG "remote" system has been written in python which allows the simulated processor to be connected to with openocd. * Even the Standard Cell Library being used, called FlexLib, by Chips4Makers, is in python. To say that python is critical to the project would be a massive understatement. This talk will give a brief overview of the above areas and give a glimpse into why python was chosen for each.

uk: вхід без авторизації


Python the Bad Parts

uk: Комп'ютерні науки

uk: вхід без авторизації


Handling Transitive Dependencies

uk: Комп'ютерні науки

description: Python packaging has come a long way since the days of easy_install and eggs. With the advent of wheels, and more recently pyproject.toml and PEPs 518, 517, and 621, the future looks bright for the world of python build tool. I will briefly explore the history of python packaging, and look at how we can take advantage of these developments to increase reliability and safety in python build tools.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Sound Events (or Audio Events or Acoustic Events) are individual distinct sounds. This could be the pop of roasting popcorn kernels, the cough of a patient, a car that is passing by on a road, or the sound of an alarm in an office building. Sound Event Detection (SED) is the task of detecting such sounds, returning precise times that each kind (class) of sound occurs. It finds uses in music analysis, manufacturing, medicine and noise monitoring. We will show how to realize a basic Sound Event Detection system in Python, using fermentation tracking of beer brewing as a fun and practical example. The talk will cover all major parts of such a system, including: - Collecting and exploring a custom dataset - Setting up the supervised learning task from the dataset - Extracting spectrogram features from audio waveforms - Training a Convolutional Neural Network (CNN) and Recurrent Neural Network (RNN) - Running the trained model on an real-time audio stream - Processing model output probabilties into discrete events - Evaluate the performance of the resulting SED system Example code in Python covering these aspects will be provided. Libraries used with be Keras, TensorFlow and scikit-learn for machine learning, and pysoundfile, sounddevice and librosa for audio processing, with some numpy and pandas for general data manipulation.

uk: вхід без авторизації

name: Sound Event Detection with Machine Learning


How I helped fly a helicopter on Mars

uk: Комп'ютерні науки

description: Open source code is the foundation for a lot of my own work, but of course also the work of others. And the beauty of open source is you never know where your contributions end up. This story begins in the summer of 2019 when I wanted to see if I could contribute to the python project I’ve been using so much. In this talk I’ll walk you through the challenges I faced making my first contribution to cpython, picking a bug and squashing it. I’ll end the talk explaining the title: after viewing the 2020 mars helicopter fly on the red planet I realized I have a new badge on my github page. I never started out thinking I could have my code flying in space, let alone flying on mars. But it does. I hope to inspire others to step over the hurdle and contribute back to the open source tools they use.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: This presentation shows how we can use documentation-driven development to minimise the risk of API integration failures. APIs are the gateways that connect our web applications to the world. Microservices rely on them to work together, and frontend applications use them to connect to our backend. Despite their importance, API integration failures are a daily occurrence. There’re many reasons for this, but a common factor is the lack of API documentation, or the use of bad API documentation. Often, API documentation comes in unstructured formats or in JSON examples, instead of standard formats such as OpenAPI or Schema Definition Language. When we don’t use standards to document our APIs, we give up the whole ecosystem of frameworks and tools built around those standards. Such tools and frameworks are designed to make our lives easier when managing the lifecycle of our APIs. In documentation-driven development, we write the API specification first, and then we implement the API server and the client against the specification. I’ll show how we can use mock servers to test the client while the backend is being developed, and tools like Dredd and schemathesis to validate the backend implementation. I’ll show how we can use these tools in a CI server to validate our code before it’s released. This approach doesn’t eliminate completely the risk of API integration failures, but it helps to minimise it.

uk: вхід без авторизації

name: Documentation-driven development for Python web APIs


uk: Комп'ютерні науки

description: An introduction to how to write clean code (type hinting, docstrings, inline comments et cetera) and supporting the clean code with maintainable project structure and unit tests. Goals - with comparisons/examples: What's clean, maintainable code? (type hinting, docstrings, inline comments et cetera) What's a clean, navigatable project structure? Should the tests package be nested into each package? Should my 'tests' package structure mirror the project structure? (for easy navigation of which module/package is being tested) (Testing) What should I test and what shouldn't I test? (Testing) When should I mock and when shouldn't I? (Testing) Writing clean test cases (Testing) Using pytest to utilize parametrize to test multiple combinations, whilst keeping a clean codebase

uk: вхід без авторизації

name: Building a clean, maintainable and tested code base


uk: Комп'ютерні науки

description: Online teaching materials enable learning programming at any age. Kautilya, a 7-year-old programmer who has learned his way through multiple courses in Python and Artificial Intelligence, shares his takeaways and examples so that we can learn what he has learned about Computational Complexity. In this talk, he focuses on the time complexity in computational/algorithmic complexity. As he lays out the theoretical foundations of how we formally measure how fast a program or algorithm runs, he teaches us to analyse the amount of time our program creation choices have on how much time program will take to finish. In computer science, the time complexity is the computational complexity that describes the time it takes to run an algorithm. With strong theoretical computer science foundation, he walks us through Big-O, Big-θ, Big-Ω notations for complexity, helps us make sense of it and shows with examples of searching (linear, binary, exponential) and sorting (merge, insertion, selection) how our choices of design of algorithm impact what we experience as time to execute the program. Learn foundations and draw inspiration for learning from the Guinness World record holder on ‘Youngest Computer Programmer’ at the age of 6.

uk: вхід без авторизації

name: Computational Complexity Theoretical Foundation on How Long Will Program Run


uk: Комп'ютерні науки

description: Information of our Universe doesn't have to be just a two-dimensional snap shot. We can transform these data to be able to listen, feel, or (virtually) move through cosmic objects. Listen to the debris from an exploded star, walk through the core of our Milky Way in virtual reality, feel vibrations of a stellar nursery, and experience our universe anew.

uk: вхід без авторизації

name: Our Universe through Sight, Sound & Touch


uk: Комп'ютерні науки

description: In late 2019, Guido van Rossum wrote a series of articles about PEG parser and gave the talk "Writing a PEG parser for fun and profit" in a couple of conferences, such as North Bay Python, mentioned the motivation of his research and prototype of PEG parser. In late 2020, other authors of PEP 617, Pablo Galindo and Lysandros Nikolaou, (created around mid of 2020) were interviewed on Podcast.init to talk about the result of the new PEG parser in CPython. Above contents assume the audience with solid compiler fundamental knowledge, but the fact is most People, including this talk's speaker, are not specialized in compiler. And another fact is most of the compiler class in school around the world only covers traditional top-down and bottom-up parsing techniques, not to mention PEG parser that appeared in the early 2000s. For the above reasons, the speaker will stand on the shoulders of giants and share his hard way after a few months of study. He will talk about the fundamentals of Parser (part of compiler frontend), including CFG, traditional parsing techniques, PEG, Packrat parser, and PEG parser in CPython. Objective If you have zero compiler background, you can at least learn the frontend compiler knowledge and how it is used in Python. If you have learned fundamental compiler knowledge in university, this talk will make you recall the traditional top-down and bottom-up parser in the class, and additionally add some relatively new ideas that appear in the early 2000s. If you are a compiler master and know the Packrat parsing research done by Bryan Ford, this talk may still provide you a brief idea about the reason why Guido van Rossum picked LL(1) initially, and PEG parser later. Outline - Opening + Self-intro - Motivation - What is parser in CPython? - Parser 101 - CFG - Parser 101 - Traditional top-down/bottom-up parser - Parser 102 - PEG and PEG parser - Parser 102 - Packrat parser - CPython’s PEG parser - Take Away

uk: вхід без авторизації

name: Learn from LL(1) to PEG parser the hard way


Type Check your Django app

uk: Комп'ютерні науки

description: Python 3 introduced type hints and it's optional to use. The decision to use the type-hints in the python community is in two different camps - Embrace and skeptical. Adding type-hints has practical problems. One such example is the working of type-checker, mypy, and CPython interpreter. mypy behaves like a statically typed language (strict with type declaration and modification) whereas Python run-time is lenient. Example a: int = 23 a = 'Django' Mypy will complain about the above code whereas Python run-time will not complain. In this talk, I'll cover the following topics: - how to add type-hints to Django project - views, models, and queryset. - Tools to help to add type-hints. - Adding type-hints to user-defined code. - Current limitation of the type-hints. - Tuning mypy to suit your needs - strict and lenient checking. All the example code snippets will run on Python 3.9.4+.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Our generation of young people in school (aged 5-18) have noticed the connection between Computer pRogramming, Technology, Bitcoinsm Success and Billionaires. On mass young people are clamouring to master the skill of Computer pRogramming. It has been dubbed the ‘4th’ R’ (computer pRogramming) along with Reading, wRiting and aRithmetic. So, governments worldwide have launched initiatives to have it taught in schools from Kindergarten to all the way to high school. And now young people are successfully mastering this skill. Now, not wishing to be left out of these exciting modern developments; the mums’ and dads’ of these young people are also expressing an interest to master this skill. The mums’ and dads’ would like to be a position to help their children in this subject. Hence, I have started a free online simple course on this topic for mums’ and dads’. This talk will describe a case study whereby Computer Programming (Python) was introduced for the first time to a group of adults, the mums’ and dads’ of school age children. The talk will include descriptions of the various teaching methodologies & the outcomes; the challenges & joys involved; & the similarities and dissimilarities between teaching the parents and their children. The talk will conclude with helpful suggestions, on how to proceed in this area.

uk: вхід без авторизації

name: Creating the Next Generation of Billionaires-Part 3


uk: Комп'ютерні науки

description: FastAPI is one of the fastest growing Python web frameworks – in part due to its ease of usage and high performance. In this talk, I will teach you how you can rapidly process European covid vaccine popularity data using Fire, place it into Azure Database for Postgres (for free!) and then leverage FastAPI to serve them through a back-end. Finally, I will launch the backend online through Azure App Service and use Jupyter to visualize the data from the API to answer interesting questions! Come join me and let the adventure begin!

uk: вхід без авторизації

name: Analyzing COVID Vaccine Distribution By Type in Europe: With FastAPI, Python Fire, Azure Web Apps & Azure Database for PostgresSQL (Flexible Server)


uk: Комп'ютерні науки

description: Good programs are correct programs. Testing is an indispensable tool making sure that the software we produce is correct. The bulk of today’s Python programs are tested using unit tests, on a case-by-case basis. While unit tests are important, thorough tests are tedious to write. A lot of edge cases need to be considered and human errors easily slip in. The edge cases are often simply omitted, e.g., for the lack of time. However, this leaves a lot of untested holes in the program. Instead of hunting for edge cases, what if we specified the behavior of a function and let the development tools test it for us? In this talk, we first look into how to specify the behavior of functions using contracts, i.e. the properties of the input and the output of a function. The contracts can reduce the amount of testing code, and allow the developer to focus on more tangible pieces of code, namely defining the behavior. Next, we examine two of our tools for automatic testing based on contracts (crosshair and icontract-hypothesis). We show how they can be used in everyday programming with little additional effort. A corpus of programs (Python-by-contract) is introduced to evaluate where the tools shine and what limitations they hit. Finally, we show how to use the tools in the classroom to help students with debugging, providing hopefully a better educational experience. The talk is aimed at Pythonistas familiar with lambda functions, Boolean logic (“and”, “or”) and quantifiers (“all”, “any”).

uk: вхід без авторизації

name: Automatic Testing of Python Functions Based on Contracts


Hiring Demystified

uk: Комп'ютерні науки

description: It's no secret that the hardest problems in computer science are cache invalidation and naming things... oh, and hiring. In our industry we've developed a culture and a mysticism around hiring, with certain rituals and practices which are often so detached from reality that they've even become the subject of jokes and memes. Hiring is a difficult problem, yet important to get right. Many developers are faced with the challenge of hiring other team members, without much clue into how to proceed, and end up just copying the well known rituals without stopping to analyze their effectiveness or implications. Often, this results in hindering both companies and candidates, especially those of under represented demographics. In this talk I'll share my experiences and personal opinions both as a candidate and as an interviewer, analyze the implications of popular hiring tactics, and discuss what I consider effective ones, in order to hire the right developers for your team with minimum hassle for both sides. This talk should be particularly useful to lead developers, managers, or any other engineers that might get involved at any level in the process of hiring other team members. But even if you never plan to hire anyone, this talk can still be very revealing for candidates, as it will give them insight on the rationale of the hiring practices themselves, why people usually fail interviews, and help them recognize when a hiring process is reasonable or not.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: An important, but often overlooked aspect of developing a high-quality deep learning model is the iteration speed. If you can iterate faster, you can try out more ideas and over time you get better results. In this talk, you will learn about the different tricks you can use to train a great machine learning model in a shorter amount of time. In particular, I will discuss how we optimized our deep learning development life cycle at Mindpeak to create robust deep learning models for cancer diagnostics that work in vastly different laboratory settings. The goal of this talk is to point to the most important aspects which you can adjust to speed up the time it takes to go from idea to validated result. I will talk about many different aspects like task prioritization, data processing, communication, GPU parallelization, code quality, unit tests, continuous integration, data fit and profiling for speed. So hopefully, after the talk, you should be able to point to some items that you could do to improve the iteration speed when developing machine learning models. There are no strict requirements for the talk, but you probably obtain the highest benefit if you have gained some initial experience in developing machine learning models.

uk: вхід без авторизації

name: Speeding up the deep learning development life cycle for cancer diagnostics


Thoughts on the Future of Python

uk: Комп'ютерні науки

description: Python has come a long way since it was created in 1989. The talk will look into the current state, upcoming changes and explore possibilities for its future development, both at a language and application level. The talk looks at Python's development from a higher level point of view, using a more business oriented approach and analyzing the perspective from a corporate C-level user. It's an updated version of the talk I've given at Driving IT 2020 and include more recent developments.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: HYPERTAG is a full-featured standalone language for HTML templating and document generation. Inspired by indentation-based template languages (Slim, Haml, Shpaml, Pug), it provides clean, readable syntax and multiple original features that enhance code reuse and modularity: native custom tags, DOM manipulation, Python-like granular imports, control blocks, compound expressions, and more. Hypertag can be called directly from Python code, or be plugged as a template backend into Django. Hypertag scripts can utilize all of Django's filter functions out of the box. Hypertag is not limited to HTML alone, but can be adapted to produce different markups. Docs: http://hypertag.io GitHub: https://github.com/mwojnars/hypertag PyPI: https://pypi.org/project/hypertag-lang/ During the talk, Hypertag's syntax will be presented with particular focus on original features not found elsewhere (custom native tags, DOM manipulation, granular imports). The talk will be illustrated with examples, and a comparison with existing template languages will be shown.

uk: вхід без авторизації

name: Hypertag: an Indented Language for easy HTML Generation & Web Templating


SQLite, an (un) known super ant

uk: Комп'ютерні науки

description: Outline - Introduction: advantages, best and worst use cases. - Why this little database is amazing and where it can be used at its best. - SQLite & Python: best practices - Use of context managers, row factories, executing many operations at once and the concept of PRAGMAs - Transactions, isolation and concurrency - Transactions management in SQLite, use of WAL, Rollback and no journaling modes. Isolation levels: exclusive, immediate and deferred - Indexing - Why and why not indexing. Partial index, expression index, FTS index. - Special data types - Date & Time data, personalized data types

uk: вхід без авторизації


uk: Комп'ютерні науки

description: DIY Home Automation with Microcontrollers and CircuitPython For many years, people have been filling their home with devices that are based on Microcontrollers, like virtual assistants, smart fridges, washing machines, security systems, and many others that can be either programmable, or even replicated with a couple of boards and our Python knowledge. During this talk, we will start exploring CircuitPython without the need of a physical device, using a microcontroller emulator. If you are new to the microcontroller world, don’t worry, we will have an introduction to the main concepts, so we have the base knowledge to start doing little experiments by ourselves. After the introduction, you will be able to start programming microcontrollers using the emulator or in real life, moreover, you will see a couple of real projects (with real devices!) that could easily be replicated by yourself: a low-cost robot floor cleaner, and a plant watering and monitoring system, as examples. Outline Talk motivation Introduction to Microcontrollers and CircuitPython. How to use an emulator for hardware programming. DIY Home Automation (Real projects) : Low-cost robot cleaner. Watering and monitoring plant system.

uk: вхід без авторизації


An Introduction to Kubernetes

uk: Комп'ютерні науки

description: Every other job opening for an IT position mentions Kubernetes. But unless you’ve worked with Kubernetes or seen it in action, you probably only have a vague idea of what it is, what it does and can do, or how to use it. And that’s understandable. It’s this big, abstract, software, that is supposed to “solve all the problems”. In this talk I’ll go through some of the concepts Kubernetes has. We’ll approach these by deploying a Django application, with the intent, that next time somebody asks you, “Do you know Kubernetes?”, you can confidently answer “Yes!”.

uk: вхід без авторизації


Designing secure APIs

uk: Комп'ютерні науки

description: Goal Improve the security design of APIs using provided tools and guidelines. Audience Developers and designers with a basic knowledge of HTTP and OpenAPI Agenda 2 slide introduction towards API security; API security rules overview: a short json is not simple (i-json, structured fields, ...); look at that (json-)schema; What The ... JWT; rate-limiting. Enforcing rules with OpenAPI and static analysis tools

uk: вхід без авторизації


uk: Комп'ютерні науки

description: This talk is divided in two parts: the first one will explore how the Git key-value storage work and the second part will walk through recreating the fundamental git commit command with less than 80 lines of Python. You can follow this talk at home using shell commands provided by the speaker and explore Git on your own. The code is also a great way to familiarize yourself with making and structuring Python utility scripts. It is also a great way to present more intermediate programming concept such as recursion. All the commands and code are wrote to be as easy to understand as possible and commented by the speaker, as this talk aims to be simple to follow by Python and Git beginners. Good programming practice will be quickly shown, such as the use of f-strings and the usage of pathlib over os.path. The final application is kept pretty barebone for brevity sakes, although challenges with some hints are given at the end of the talk as an exercise. The final goal of this talk is to give the watcher a feel on how they can use Python in their every day life to automate different tasks, and some pointers toward good programming practices and continue in their Python journey.

uk: вхід без авторизації

name: Learn Python automation by recreating Git Commit from scratch


uk: Комп'ютерні науки

description: AutoML makes machine learning accessible for everyone! Machine Learning is hard since developing well-performing machine learning pipelines requires a lot of expertise, time and manual tuning. AutoML automates this development process by using latest optimization methods to efficiently search for well performing solutions. In this talk, we will cover how to move from manually constructing and tuning machine learning pipelines to using efficient hyperparameter optimization algorithms and full AutoML using the popular open-source Auto-sklearn library. Auto-sklearn is a drop-in replacement for any scikit-learn estimator and is developed by the ML Lab of the University of Freiburg. More specifically, you’ll learn the following: What is AutoML and for what can you use it? How does Auto-sklearn work? How can you use it? This talk assumes basic understanding of machine learning and statistics. The main target audience are data scientists and domain experts using machine learning. The talk will be designed such that anyone with a basic understanding of machine learning pipelines in scikit-learn and the Python language would be able to understand the concepts and to use our tool.

uk: вхід без авторизації

name: Auto-Sklearn: Automated Machine Learning in Python


Data Ingestion and Big Data

uk: Комп'ютерні науки

description: Web scraping, crawling and API are the first step to retrieve information to use for analysis and to start a new business. In this tutorial I'll show you how to use python to set up scraping and crawling processes, how to simulate users navigation and browser behavior with a ghost browser and how to hook up and use data APIs. I will also try to explain the technical and ethical aspects that we have to consider when we approach these kinds of challenges.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: If you're building something for developers, you want it to get used. This means your potential users need to find your library, framework, or API. They need to work out whether it's useful for them, learn how to use it, and solve problems they encounter along the way. All these things depend on your developer docs! This talk is about important functions of your developer docs that you might not think about, some particular pitfalls of documenting things for developers, and how we can make things better. -- Your docs are content marketing. Your prospective users are out there, Googling "how to [what your product does]", and your docs are the answer. Your docs define your product. When a developer is evaluating your project, this is what they're reading. Your docs are your user interface. Developers using your API aren't looking at your website - they're looking at your docs, and their code. So let's look at some "dos and don'ts": Do know what type of doc you're writing. Tutorials are not the same thing as reference docs. I'll walk you through a useful framework for thinking about types of documentation. Don't confuse reference docs and API docs. Merely enumerating the classes, methods and functions of your API isn't enough to describe its behaviour. I'll explain why it's tempting, and why it's a bad idea! Do make it easy to navigate between types of documentation. Your user is on a journey, from "what should I use?" to "how do I use it?" to "what arguments does this function take?". Make it easy for them. Do talk to your users. They will tell you where the weaknesses in your docs are. Even better: have a public Q&A forum, where deficiencies in your documentation get found and filled in, and the long tail takes care of itself. Your docs are your UI, your marketing and the definition of your product - so act like it!

uk: вхід без авторизації

name: Writing Better Documentation for Developers


Python security best practices

uk: Комп'ютерні науки

description: Have you ever have a feeling that you are able to write code that solves problem but your not sure whether is safe? How much of your time you spend on investigating whether your code is not vulnerable ? Do you know what kind of risks you can face during parsing XML files? If those questions appeared into your mind this presentation will clarify your doubts and bring your skills closer to writing more safe code. There are many repeatable routines during developing code like: saving user data, reading files or pickles. Those routines can lead to a drop in vigilance which may lead to very terrible consequences for our application or data. During presentation I will explain what are aims of the attackers and go through security issues that can appear in: • not verified user input, • parsing XML, • assert statements, • using temporary files, • reading yaml and pickles and I will compare it OWASP TOP 10. In each of this topics I will: • show examples of codes that can break your application, • describe what are the risks and how to solve it, • talk about tools that help detect issues in your code, • present XML libraries overview which shows what specific library is vulnerable for. Major of presentation will be focused on XML issues as it is wide problem not only in Python language. If you want to increase your programming security skills, see how certain attacks can be performed and how to defend against them this presentation is for you.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: In March 2020 the world is completely blocked and people are lining up to shop or to the pharmacy or to buy basic necessities. There have been many initiatives and among these I have created a worldwide map that allows anyone to check the estimated waiting times of supermarkets, pharmacies and places of interest. In addition to this, I gave people the opportunity to check waiting times and correct them through a crowdsourcing mechanism. All this, to be fast in development and in responding to requests, has exploited Redis with its geospatial indexes. The opensource project has obtained more than 2Mln visits in about 3 months of life, until June 2020 when the pandemic slowed down. In this talk we will see the architecture and the problems I encountered and solved with Redis, uWSGI, Flask and how I scaled up the project from a Raspberry to 4 VPS dislocated in Europe and America region. The main objective of this talk is to introduce problem solving through the various technologies of Python and other tools (such as Redis) and the logical / creative process that I had to go through. Other objectives are to encourage collaboration and the sharing of ideas or open source projects to allow you to collaborate between different communities and people without fear of making mistakes or showing your code. It is thanks to the open source community that this project has been possible.

uk: вхід без авторизації

name: A crowdsourced map for checking supermarket wait times worldwide


Should We Return to Python 2?

uk: Комп'ютерні науки

description: Migration to Python 3 is over, but that's not the end of the journey. Although your code runs with the currently supported Python 3.6 to 3.9, there may be some pieces of code that look obvious to you, but may surprise younger developers who have never seen Python 2 code. A few months ago, I started looking for Python projects on GitHub and helped them to get rid of those Python 2 relics. I'll show you a few recipes beyond the automatic tools, how to make your code modern and prepared for future updates. And no, we should not return to Python 2. We should get rid of it completely.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Wikipedia is the digital encyclopedia that we use daily to find out facts and information. What could be better than being able to extract the extreme wealth of crowd-sourced knowledge from Wikipedia without using traditional web scrapers? Various community-driven projects extract knowledge from Wikipedia and stores them structurally, retrievable using SPARQL. It can be used to mine data for a range of Data Science projects. In this talk, I will walk through the basics of the Open Web and how to use Python to use this huge open database. The agenda includes the following: • Why Wikipedia? • Introduction to DBpedia and Wikidata • Introduction to Linked Data • How to query DBpedia/WikiData o Build SPARQL Query o Use Python’s SPARQLWrapper • Python Code Walkthrough to create o A Tabular Dataset using SPARQL o A Corpus for Language Models using Wikipedia and BeautifulSoup o An Use-Case leveraging both SPARQLWrapper and Wikipedia to Create Domain-Specific Corpus Prerequisites – Basic knowledge of Python programming, Natural Language Processing, and SQL

uk: вхід без авторизації

name: Leveraging Linked Data using Python and SPARQL


uk: Комп'ютерні науки

description: Tenova is an engineering company working alongside client-partners to design and develop innovative technologies and services that improve their business, creating solutions that help metals and mining companies to reduce costs, save energy, limit environmental impact and improve working conditions for their employees. In the context of Industry 4.0, Tenova provides each equipment with a field gateway, named Tenova Edge, to collect telemetry data, perform edge analytics with AI models and send data to the Tenova Platform (hosted on Microsoft Azure) for further elaborations. To develop analytics solutions, data scientists and process engineers need the data in a manageable format. Furthermore, continuous retraining of AI models is necessary to guarantee high performances and reliable results. For all of these reasons, we needed to implement an ETL solution to transform the raw data in formats ready for analysis and retraining. In particular, the key requirement was to convert the JSON Lines files coming from the field in CSV files ready to be used. The CSV files have to satisfy the following conditions: - each file contains the data for a device - only one file for device per day - each file has a midnight row containing for each cell the value recorded at midnight or the last value of the previous day (SPOILER: here it’s where the fun happens!) For this purpose, we have implemented a series of Databricks Notebooks, run daily by Azure DataFactory, that leveraging Pyspark and Pandas manipulates the raw JsonLines files in nicely formatted CSVs.

uk: вхід без авторизації

name: From telemetry data to CSVs with Python, Spark and Azure Databricks


Virtual Tourism In Covid Times

uk: Комп'ютерні науки

description: The introduction to the talk would cover the motivation for the solution. As someone who loves to travel and has been travelling quite extensively in Europe over the past years, the lockdown & travel restrictions preventing travels are quire hard to adjust to. This gave me the idea to build a dashboard around my past travels to improve my spirits. In the next part, I cover how I get the data. In this case, I use the location history from Google Maps. A brief description of the data is included along with what data I select. I also cover some of the problems faced like the non standardization of the raw data (timestamps, latitude / longitude pairs) & how to resolve it. In the next part, I explain how I can do some basic analysis with the raw data like the distribution & visualization of my travels over time interactively. This will go through some code examples on how you can build these components using matplotlib & how to make them interactive using Streamlit without writing any Javascript code. In the next section, I explain how I can augment this data with data from other sources like public images from Flickr to bring out my memories. This would also explain how to integrate these components using Streamlit. This would also cover the deployment aspects of the solution. Also covered here would be some future additions that I am considering. In the final part, I conclude the presentation with my learnings from building this app to do some virtual tourism in COVID times. I cover some of the scenarios where Streamlit could be useful & other places where it might not be suitable.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Deployed machine learning models can fail spectacularly in response to seemingly benign changes to the underlying process being modelled. Concerningly, when labels are not available, as is often the case in deployment settings, this failure can occur silently and go unnoticed. This talk will consist of a practical introduction to drift detection, the discipline focused on detecting such changes. We will start by building an understanding of how drift can occur, why it pays to detect it and how it can be detected in a principled manner. We will then discuss the practicalities and challenges around detecting it as quickly as possible in machine learning deployment settings where high dimensional and unlabelled data is arriving continuously. We will finish by demonstrating how the theory can be put into practice using the alibi-detect Python library. There are no hard prerequisites for understanding this talk, although background knowledge on machine learning and statistical hypothesis testing might be useful.

uk: вхід без авторизації

name: Protecting Your Machine Learning Against Drift: An Introduction


Automated Machine Learning With Keras

uk: Комп'ютерні науки

description: During my first steps in the field I was promised that machine learning would be automated from the beginning. Unfortunately, once I’ve outsourced looking for the parameters that best matched my data to the machines, I was instead left with having to look for the hyperparameters that define the best model architecture, all by myself. This often ends up being a lengthy manual process. Is there a way to outsource this bit too? In this talk we will take a look at the automated machine learning libraries Keras Tuner and AutoKeras, which allow the user to create high level templates of deep learning models and use them in automated search for the best hyperparameters. They not only enable speedier development of better models but also make deep learning accessible to a wider pool of people thanks to the abstractions they offer. In the presentation we will go through several iterations of pretending to know progressively less and less about both our data and machine learning in general, and see how these libraries come to our help in creating highly performant deep learning models with a fraction of the effort. It is aimed at a general audience familiar with Python. Knowledge of Keras is a plus but not a requirement - that is kind of the whole point!

uk: вхід без авторизації


Python RPC and PubSub over Websockets

uk: Комп'ютерні науки

description: Modern distributed software doesn't stop at your VPC. Edge deployed software needs realtime communications, updates, and state sync. It needs RPC and PubSub over the web. Lets make it open-source. In this talk we'll cover the need for over-the-web realtime RPC and PubSub, why we needed and created it for our OpenPolicyAgent realtime updates layer, along side: - The challenges that the implementation faced - Pro/Cons of realtime update channels - Common use cases (updates, sync, event propagation, distributed computing, authorization, ...) - Additional awesome Python open-source we used in this solution (FastApi, Tenacity, broadcaster, ...) - How to use the open-source packages we shared.

uk: вхід без авторизації


Nobody expects the Spanish inquisition

uk: Комп'ютерні науки

description: In this talk I will go into some interesting stories of how (C)Python is made. We will go through a journey that will show you how Python is developed, who works on it, interesting battles against the most obscure of bugs and lots of unexpected situations and things to learn and to reflect on.

uk: вхід без авторизації


Django with PostgreSQL superpowers

uk: Комп'ютерні науки

description: Every time we’re going to create a new project with Django we make assessments on its requirements to choose the best architecture, of which, the database is usually the core. Django is a database-agnostic web framework but natively supports only 4 Open Source databases: PostgreSQL, SQLite, MariaDB and MySQL. PostgreSQL has the richest feature set of any supported database and some of these features are natively supported directly in Django via its contrib module. In this talk we’ll see how to use to our advantage the features of PostgreSQL as a database in Django, its exclusive features present in its contrib module and also other superpowers that can be exploited through the use of third-party packages.

uk: вхід без авторизації


Creative Coding with imagiLabs

uk: Комп'ютерні науки

description: imagiLabs is an EdTech startup based in Stockholm, on a mission to equip and empower girls to engage with tech. We created the imagiCharm, a programmable smart accessory, so that code and be brought to life and shown off! The imagiLabs app (iOS, Android, and web) is a truly social, inclusive platform for teenage girl coders to develop their skills. We also partner with schools, non-profits, and coding companies to bring groups of students our innovative coding curriculum. This 1 hour virtual session takes coders from lighting up one pixel at a time to making colorful animations in the imagiLabs app. Ideal for kids 8-16, but truly fun for all ~ learn the basics of Python with our creative coding tools!

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Brain-Computer Interfaces (BCIs) enable people to interact with physical devices by using their mind only. For a long time, building such systems has been the prerogative of the academic world, and has required cumbersome tools and expensive hardware. It is now time to get BCIs out of the lab and into the hands of programmers. The field of BCIs is currently experiencing a momentum, attracting not only researchers, but also companies and hackers. At the same time, a growing number of people rely on the thriving Python datascience and machine learning ecosystem. Yet, until recently, there was not any real Python solution for building BCIs. Timeflux (https://timeflux.io), a free and open-source framework for the acquisition and real-time processing of biosignals, aims to fill this gap. During this talk, we will cover all you need to get started: you will learn the basics of neurophysiology and how BCIs actually work, where to get the hardware to measure the electrical activity of your brain, the general architecture of Timeflux and how you can use this framework to build processing pipelines and interfaces available from a web browser. Finally, we will demonstrate a virtual keyboard on which you can type with nothing else but your mind. Beginners are welcome to this presentation. Data scientists, machine learning enthusiasts and web developers will be able to leverage their skills. More broadly, we invite anyone curious to know why the future of BCIs is written in Python.

uk: вхід без авторизації

name: Building Brain-Computer Interfaces with Timeflux


Data lake: Design for schema evolution

uk: Комп'ютерні науки

description: Designing a data lake necessitates well-researched storage, management, scalability, and availability solutions. However, managing schema evolution remains a difficult task. The structure of data differs from one company to the next, making it difficult to generalize a solution to the schema evolution problem. At Episource, we faced a similar challenge - our data of interest is the output from our NLP engine. Episource's machine learning and natural language processing platform processes millions of pages of medical documents, with up to 15 ML/DL models working together to produce the results. The result of such a challenging pipeline is a complex nested JSON series. With each major update, our NLP engine evolves, causing the inference data structure to evolve as well. As data grew in size and complexity, storing it and making it searchable became a pressing necessity. We needed a solution that kept schema compatibility, versioning, and data integrity intact. We wanted to make sure data reads and writes were unaffected by the Schema mismatch problem. After several iterations and proofs of concept, we settled on a solution that uses the AVRO format to evolve our data's schema. Avro is a format similar to Parquet but can also accommodate schema evolution. To keep track of changes made to the system, schema versions are saved in a Schema registry. To read the AVRO data stored in S3, our data lake uses Athena, a distributed SQL engine based on Presto. The solution makes use of python libraries to glue various components of this pipeline. The following are some of the things that a participant can expect to learn during this talk: In a data lake, best practices for storage, control, scalability, and availability Managing schema evolution in a data lake The ability to use both "schema-on-write" and "schema-on-read"

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Generator functions have been a part of Python for many years already, and are a well known technique for creating iterators. But generators have a few lesser-known aspects, including their “send” method and the “yield from” syntax. Many Python developers shy away from using them, unsure of what they would do, or how they would be useful — seeing coroutines as a solution looking for a problem. In this talk, I’ll tell you why coroutines can be useful, and how thinking about them as in-process “nanoservices” puts us in the right frame of mind to determine when they would and wouldn’t be appropriate. Among the topics we’ll explore are: Generator function basics next vs. send How to build a coroutine Thinking of coroutines as nanoservices Sub-coroutines The need for yield from Using yield from Ideas for general usage

uk: вхід без авторизації

name: Generators, coroutines, and nanoservices


uk: Комп'ютерні науки

description: A few years ago, Heartbleed epitomized a massive open source sustainability problem for critical parts of the internet infrastructure. The bug, which affected the popular OpenSSL cryptographic software library, notably compromised the confidentiality of 4.5 million US patient records and cost the industry an estimated $500M. It was soon revealed that the root cause of the issue was that OpenSSL was precariously understaffed. Open source sustainability became a major theme overnight. Stories of maintainer burn-out made the headlines. And tentative solutions started to emerge, most of them donation-based. In this talk, we’ll explore a number of existing strategies to fund open source and make it more sustainable, from patronage to dedicated ad networks. And we’ll defend the idea that the best path to open source sustainability is to help companies understand the tangible business value they can get from contributing to open source.

uk: вхід без авторизації

name: Towards a sustainable solution to open source sustainability


uk: Комп'ютерні науки

description: “All the cool kids are using FastAPI for API development.” Imagine hearing this, just as you start getting more comfortable using other frameworks, like Python’s Django or Flask, to build out your API’s. Ladies and gentlemen, there’s a new kid on the block and in this talk there’s going to be an epic faceoff between FastAPI and Flask. What is Flask? Flask is a micro web framework built for Python designed to get your application up and running quickly. It’s lightweight and used by many different well known projects. What is Fast API? Fast API (aka the new kid) is a modern Python web framework that takes all your favorite features from other tools and combines them into one. It was built for speed, rapid development and enhanced developer experience. We’ll do a side by side comparison of the two frameworks including features and code structure, using a REST API. By the end of the faceoff you’ll have a much better understanding of which one you’ll use in your next project. Let’s analyze the pros and cons of each and why you’d use one over the other. You may even find a lot of similarities between the two and some contrast as well. You’ll see different categories of features for the frameworks and a winner will be chosen for each. Finally, no matter which you prefer, FastAPI and Flask are both great choices for API development, so let’s have fun and let the faceoff begin.

uk: вхід без авторизації

name: Faceoff Fun with Python Frameworks: FastAPI vs Flask


Pydon'ts

uk: Комп'ютерні науки

description: In this talk I show what idiomatic Python code looks like and illustrate how the subjective notion of “beautiful”, or “elegant” code, can make your code objectively better, regardless of your Python skill level. We do that by visiting several vanilla Python features that people sometimes forget to learn, as they rush to importing all the shiny modules and frameworks they really want to use. In order to achieve this, we go through the learning journey of a hypothetical Pythonista, taking a function written by them and refactoring it incrementally through the use of Pythonic idioms and patterns. The whole talk will build around a weekly series of articles I have been publishing (at https://mathspp.com/blog/pydonts), where I explore all the vanilla Python features that make Python one of the most interesting programming languages to learn. There are no prerequisites for this talk, and both advanced users and beginners can benefit from it.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Even if you use a debugger, it is often required to print some variables or expressions, preferably with their name and sometimes even the location. The normal way to do that is with a print statement, like | print("hello= ", hello) or with Python >= 3.8: | print(f"hello=") Ycecream makes this easier with a simple call to y: | y(hello) and then you will get | y| hello: "world" But you can also add the location in the program where this debug call is coming and get something like | y| #6 in testproc() hello: "world" But ycecream can do much more to help to debug and benchmark Python programs. In this presentation, I will live code to demonstrate ycecream, There are some similar packages out there, like IceCream and show. In this talk I will point out some of the main differences.

uk: вхід без авторизації

name: Sweeter debugging and benchmarking with ycecream


Simple, open, music recommendations

uk: Комп'ютерні науки

description: Can simple open source tools compete with the music recommendations provided by Spotify and other big names? This talk will look at how the open source world can stay relevant in a world where music listening has become dependent on commercial streaming services and users expect an element of recommendations. Expect to see small-tech solutions for music recommendations based around GNOME's Tracker search engine and the open, community-powered database Musicbrainz.

uk: вхід без авторизації


A Hitchhiker’s Guide to functools

uk: Комп'ютерні науки

description: One of the concepts we learn early in our Python journey is functions. However, Python’s idea of functions goes beyond basic functions; it also supports the idea of higher-order functions - functions that act on or return other functions. Higher-order functions are useful, powerful, and can save a lot of typing. So, of course, Python’s standard library contains a module of higher-order functions waiting to be used (hint: its called functools). In this talk, we will explore functools and look at how its functions can be used to enhance and improve our code.

uk: вхід без авторизації


Refactoring legacy Django app using OOP

uk: Комп'ютерні науки

description: Every year we can hear rumours about the demise of Object-Oriented Programming. As usual, they are greatly exaggerated. In 2021 OOP still has a lot to offer. The problem is a shortage of good quality materials that would show where it shines and how a Pythonista can leverage it without writing code that looks like Java from the 00s. I'll show you how you can refactor legacy code in a Django app and tame complex logic living there. Value for attendees: see refactoring possible directions and get to know 3 OOP stereotypes Level of attendees: intermediate & advanced Expected knowledge: Experience with building web apps, at least superficial knowledge about Django This talk is an introduction to 3 out of 8 OOP Stereotypes, i.e. Controller, Interfacer and Information Holder. They'll be introduced using a real-life legacy project refactoring.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: The proposed project is both a web and a mobile application. The web application makes use of the Django framework for its structure and backend. The mobile application uses Flutter, which is a cross-platform for both iOS and Android. The basis of the application would mainly be concerned as use for Educational Institutes. The application also projects an important feature, that is, Smart Attendance System. The proposed system keeps track of attendance using barcodes. It uses openCV to scan the barcodes. System stores student attendance details and generates a brief report for the administrator. The libraries used for the project are: openpyxl, cv2, pyzbar, xlsxwriter.

uk: вхід без авторизації

name: Building Application using Flutter and Django


uk: Комп'ютерні науки

description: Learn how Native Notebooks in VS Code can supercharge your data science workflow and how to follow up your deployment of machine learning models using the Azure Machine Learning service!

uk: вхід без авторизації

name: Python Data Science with VS Code and Azure


uk: Комп'ютерні науки

description: Python has very fast and thoroughly optimised data structures: lists, dicts, sets and the collections module make it easy to write simple code that performs well. The flip-side shows when it comes to processing very large amounts of simple data, especially numbers or strings. For these, the object overhead of Python's objects is very large in comparison to the low-level languages C and C++ that benefit directly from bare metal CPU performance as well as from GIL-free multi-threading and parallel computation. This talk will show how compiling your Python code with Cython enables you to make direct use of fast and memory efficient native data types and data structures. Cython provides very efficient ways to access the internals of Python data structures, process data from NumPy arrays, and use data structures from native C libraries or the C++ STL standard library as replacements for the high-level Python collections. You will learn how you can implement high-level Python interfaces that enable fast data processing underneath, without sacrificing the integration with regular Python features and libraries to allow for easy direct data manipulation from Python code.

uk: вхід без авторизації

name: Fast native data structures: C/C++ from Python


uk: Комп'ютерні науки

description: Imagine you're a Black woman having your face not recognized by a government photo booth, no matter how you position yourself in front of the camera. Imagine you're a woman getting your loan request rejected, while your partner - who has a similar income and credit history - gets his approved. Imagine you're an African American man arrested by the police because your face was mistakenly matched to a guy involved in an armed robbery. In these real-world examples, the people affected might not know that they are being treated unfairly by Artificial Intelligence (AI). And even if they did, they would not be able to do anything about it. While they may be used to handling discrimination by humans, algorithmic discrimination is a different story: you cannot argue with the algorithms and, due to their inherent scalability, you might be confronted with them wherever you go. We often expect AI technology to be neutral, but it's far from it. The reason is that - especially when we are not aware of it - we transfer existing stereotypes into these systems through our current data collection practices, our development processes and by how we apply these technologies within our societies. My talk will shed light on how algorithms become discriminatory, how difficult it is to build "fair and responsible" AI, and what we should do to prevent the systems we build from cementing existing injustices.

uk: вхід без авторизації

name: The Myth of Neutrality: How AI is widening social divides


uk: Комп'ютерні науки

description: When we think about building Python-based data science apps, we think of Flask. But there is a better option now. Streamlit. Streamlit is an open-source web framework that lets you create apps for your machine learning projects with deceptively simple Python scripts, in hours. It supports hot-reloading, so your app updates live as you edit and save your file. No need to mess with HTTP requests, HTML, JavaScript, etc. In a short sentence, there is no need to write any front-end code. All you need is your favorite editor and a browser. In this talk, we’ll go through how to build a very simple Streamlit app step-by-step. I will also review the pros and cons of Streamlit, as regards other popular Python web frameworks being used by Data Scientists and ML Engineers.

uk: вхід без авторизації

name: Streamlit: The Fastest Way to build Data Apps


uk: Комп'ютерні науки

description: pytest is undoubtedly the most popular test framework for python. Its fixture and parametrization mechanisms, as well as its detailed hook API and vibrant plugin ecosystem make it a must-know for any developer wishing to create quality software. Some key limitations in its engine and API, however, prevent users from truly unleashing their testing scenarii. Creating tests with complex parametrization is complicated, and users trying to explore this direction may loose the legendary elegance and maintainability of pytest tests on the way. pytest-cases extends pytest so that users can manage their parameters the same way they manage tests: as python functions. This separates test cases from test functions in an elegant way, encouraging developers to add more cases without decreasing readability. With this new paradigm it becomes ridiculously simple to create tests where several "kind" of parameters coexist nicely: datasets come both from files, databases and simulations ; distinct algorithms can be evaluated and compared, with possible variants ; etc. Fixtures can be leveraged by any of these, in an intuitive manner. Finally pytest-cases can also be used in combination with pytest-harvest to generate scientific results tables in a reproducible manner. Reproducible research projects may therefore wish to use it to replace an "ad-hoc" benchmark engine. That way, adding datasets and algorithms in the benchmark becomes as easy as creating new python functions. This presentation is for python developers and data scientists at ease with python, with basic experience of pytest.

uk: вхід без авторизації

name: Powerful tests and reproducible benchmarks with `pytest-cases`


The Optimal Wedding (With Pyomo)

uk: Комп'ютерні науки

description: Your parents haven’t talked to each other for years. Your uncle Sam went to the same university as Mr. Finkelstein, while the Trautsohns share a common interest for photography with the Krazinskis. The N’Guyens had Covid, while the Lefebvres aren’t even vaccinated. You would like to achieve a reasonable mix of people knowing each other and of new acquaintances. How are you supposed to arrange the seating of the guests? Besides wedding planning, mathematical optimization has a wide range of applications including logistics, chemistry, energy system operation, genetics… In this talk, we’ll present how mathematical optimization problems can be formulated, fed with data and solved in Python using the open-source Pyomo package (http://www.pyomo.org/) and open-source optimization solvers such as the COIN-OR Branch-and-Cut Solver. This talk is aimed at a general audience familiar with Python and requires no mathematical optimization background, nor actual wedding experience.

uk: вхід без авторизації


Extending Cython with GIL-free types

uk: Комп'ютерні науки

description: Cython is a compiled language, largely inspired by Python, which can already provide both massive speedups and seamless interoperability with C libraries. In Cython, Python and C can freely mix thanks to a unified syntax and gradual typing. This opens the door to bypassing the GIL by restricting oneself to the C side of Cython, but it entails letting go of all the high-level semantics of Python and going back to low-level manual memory management, pointer arithmetic and good old segmentation faults... Not to mention all the joys of multi-threading in C! In this talk, we will recount how we experimentally extended Cython to bridge that gap with GIL-free reference-counted types and a type system for thread-safe concurrency. We call this extension: Cython+. By hacking a bit the Cython compiler, one can create new language features which translate under-the-hood to low-level GIL-agnostic C or C++. In this way we extended Cython with a new class system that looks familiar to a Python programmer, but can be used in Cython while the GIL is released because it does not depend on the Python/C API. By adapting the way Cython generates reference counting instructions for Python objects, we equipped our types with a thread-safe reference count. Thanks to Cython's expertise with the Python/C API, we wrapped our types into extension types, thus gaining interoperability with Python. And using Cython's static type checking, we are currently introducing an ownership type system for thread-safe concurrency inspired by Pony and Rust.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: I owe both my personal and professional growth to communities. As an engineering student in computer science, the first open tech community I joined was PyLadies. I have since then been actively involved in the Python community, always trying to learn and grow. Little did I expect how beneficial that would be. In this session, I will share my journey with the Python community, the impact it had on me, and how it boosted my self-confidence. If you don’t know where to start, join me to explore what I have learned so far.

uk: вхід без авторизації

name: Personal growth and the Python community


uk: Комп'ютерні науки

description: A photo is an image that represents an external form of a person or a thing from the past. It communicates any past incident or activity to the present or future, reminding them of the melodious memories they have. In the 19th century most photographs were monochromatic, so people hand-coloured them, often for purely aesthetic reasons. Photos with colour just looked nicer on the mantle. Contemporary artists still add colour for those reasons. Colourization is a time-consuming, labour-intensive process when done manually. Realistically capturing undertones in the skin is especially difficult. You may have to add subtle layers of pink, orange, yellow, or blue. Experts recommend finding a colour photo featuring similar skin tones to use as a reference. To reduce such a manual time-consuming process to a few seconds or a minute, we built a Deep Learning model to colour old black and white images. It uses an autoencoder with skip connections built using TensorFlow backend with Keras to retain details and features from the original image during the conversion. After the coloured image is obtained, a gamma correction filter is being applied to increase the contrast of the image after which an optional operation of super-resolution is performed in accordance with the condition of image size less than 500 pixels. These operations are built into an API which is called using a Flutter Mobile application that takes image input from user from gallery or camera, crop it to get the required section and passed it to the API, which then executes the above processes and the resultant image is passed as output back to the flutter application. The results of this work will help guide the computer vision developers to incorporate the feature of colouring old images and photos to multiple domains and to further enhance these models by adding variants to them. Outline - Introduction to Deep Learning and the model architecture [10 minutes] - Introduction to API using Flask and Frontend Flutter app [10 minutes] - Application Demo [5 minutes] - Q&A [5 minutes]

uk: вхід без авторизації

name: Python and Flutter application for Colouring and Enhancing Old Photos


uk: Комп'ютерні науки

description: Have you ever wondered why Python is referred to as CPython and what is the Python C-API everyone keeps talking about? Come to this talk and find out! We'll briefly take a look at the C-API, how we can use it to extend Python's functionality, and how we can write Python C extensions using pybind11. After writing our Python C extension, we'll package it so users on all major operating systems can easily install it using pip. We'll take a look at how we can do this by building cross-platform wheels for Linux, macOS, and Windows and automatically pushing them to PyPI!

uk: вхід без авторизації

name: A Tale Of Python C Extensions And Cross-Platform Wheels


Python Anti-Patterns

uk: Комп'ютерні науки

description: Most people heard at least once or focused really hard on studying design patterns. But did you know there are also lots of anti-patterns we should try to avoid? In this talk I intend to present some of the most known anti-design patterns that we'll promise never to use ... but for some reason or slip end up using it anyway. I will start showing more generic anti-patterns that apply to all languages and software in general, and move on to Python specifics, by using The Little Book of Python Anti-Patterns. Since there will be Python code, attendees should fell confort with some basic to intermediate Python knowledge. For example: know about classes, constructors, parameters/arguments, etc.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Goals of this session - Basic usage of type hint - What's new in 3.10's typing modules - Best practice for developing with type hint Detail I'll talk about static-typing programming in Python with the "typing" standard module. In 2015, it appeared in Python 3.5, but it has only become common in the last few years. However, over the years, there have been several big PEPs adopted and updated. Even now, I think many people don't know where to start because there is little coherent information. I'll also talk about this: - Improving developing experiences throw taking advantage of the typing inference engine - Perspectives on code reviews. I have been - Used type hints for almost two years in production - Learned Haskell and typescript Let me introduce the audiences to type hints based on those experiences. The timeline of the talk is: 1. Self-introduction, Overview of this session [5min] 2. Why do I talk about typing? [5min] 3. Introduction of typing, How to write basically (Most significant) [10min] 4. Generics, User-Defined types (Best practice included) [10min] 5. Backward compatibility for 3.9 or before [5min] 6. Updates overview on 3.10 [10min] Technical Requirements for audience - Basic knowledge of Python 3.x grammar - Experiences developing in statically typed language - Optional, not required

uk: вхід без авторизації

name: Getting Started with Statically Typed Programming in Python 3.10


Stop Writing Tests!

uk: Комп'ютерні науки

description: We often think of manual testing as slower and less effective than automated testing, but most test suites haven't automated that much! Computers can execute all our pre-defined tests very quickly - and this is definitely a good thing, especially for regression tests - but the tricky parts are still done by humans. We select test cases (inputs) and check that the corresponding outputs make sense; we write functions that "arrange, act, and assert" for our tests; and we decide - or script via CI systems - which tests to execute and when. So lets explore some next-generation tools that we could use to automate these remaining parts of a testing workflow! PROPERTY-BASED TESTING helps you to write more powerful tests by automating selection of test cases: instead of listing input-output pairs, you describe the kind of data you want and write a test that passes for all X.... We'll see a live demo, and learn something about the Python builtins in the process! CODE INTROSPECTION, and a handy templating tool, can help write tests for you. Do you need to know any more than which code to test, and what properties should hold? ADAPTIVE FUZZING tools take CI to its logical conclusion: instead of running a fixed set of tests on each push, they sit on a server and run tests full-time... fine-tuning themselves to find bugs in your project and pulling each new commit as it lands! By the end of this talk, you'll know what these three kinds of tools can do - and how to get started with automating the rest of your testing tomorrow.

uk: вхід без авторизації


cs: Matematika

de: Mathematik

fi: matematiikka

uk: Математика

en: Mathematics

fr: Mathématiques

da: Matematik

es: Matemáticas

nl: Wiskunde

de: Mathematik, Naturwissenschaften

uk: Математика, природничі науки

en: Mathematics, Natural Sciences

description: Subsurface fluid injection is often followed by observations of an enlarging cloud of microseismicity. The cloud’s diffusive growth is thought to be a direct response to the diffusion of elevated pore fluid pressure reaching pre-stressed faults, triggering small instabilities; the observed high rates of this growth are interpreted to reflect a relatively high permeability of a fractured subsurface [e.g., Shapiro, GJI 1997]. We investigate an alternative mechanism for growing a microseismic cloud: the elastic transfer of stress due to slow, aseismic slip on a subset of the pre-existing faults in this damaged subsurface. We show that the growth of the slipping region of the fault may be self-similar in a diffusive manner. While this slip is driven by fluid injection, we show that, for critically stressed faults, the apparent diffusion of this slow slip may quickly exceed the poroelastically driven diffusion of the elevated pore fluid pressure. We also examine recent field injection experiments providing time series, measured at the borehole, of both fluid pressure as well as the relative displacement of a fault cross-cutting the borehole [Guglielmi et al., 2015]. We couple a hydrogeologic model for fluid flow from the borehole with a model for an expanding shear rupture of the fault. We find that such a model reproduces the observed time history, with a Bayesian inversion providing uncertainties of the model parameters for host rock stiffness and frictional strength, fault zone storage and permeability, as well as the pre-injection stress state. Remarkably, we also find that the inferred rupture front outpaces the region of significant pore pressure increase.

uk: вхід без авторизації

name: Fluid-induced faulting: that other hydraulic fracture

name: Banff International Research Station (BIRS) for Mathematical Innovation and Discovery


uk: Математика, природничі науки

description: In hydraulic fracture stimulation of conventional reservoirs (e.g. tight gas and deep water unconsolidated sands), the use of sophisticated design models is almost indispensable. These hydraulic fractures are typically single fracture treatments and executed from near vertical wellbores. It is well understood that the post-fracture productivity is directly linked to achieving an optimum hydraulic fracture conductivity, which is governed largely by propped fracture length and width. From an engineering and operation execution point-of-view, the goal is to pump into the fracture the desired (large) volume of proppant without encountering pre-mature ‘screen-out’. Therefore, the prediction of fracture geometry and the design of pad volume become critical for propped fracture design. Models are calibrated on-site with dedicated mini-frac tests prior to main propped fracture treatments. Two important calibration parameters are fluid efficiency (leak-off behavior) and minimum in-situ stress (stress profile/contrast). The injection pressure during fracturing, which is readily available, is a valuable source of information and often analyzed and compared with model prediction for fracture diagnostics. In practice, a wide range of models have been employed successfully. However, such considerations do not appear to be important for unconventional resources where multiple fractures are pumped from a long horizontal well. In fact, multi-fracced horizontal well technology has advanced through field trials and experimentation without much help from modelling or understanding of multiple-fracture mechanics. Perhaps one reason is the lower risk of screening-out. This could be due to 1) the extreme low permeability of unconventional shales, which renders the use of high proppant concentration unnecessary and 2), the treatment of multiple fractures in one stage of pumping allows for one or two of the fractures to screen-out without causing an unacceptable rise of pumping pressure. In fact, with the pumping of tens and even a hundred fractures in one horizontal well, the ‘system’ appears to tolerate some ‘non-performing’ fractures without impairing the ultimate production. Conventional wisdom has it that fracture length should be maximized, but in the development of onshore unconventional resources, the horizontal wells are spaced evermore closer to each other, and consequently, the fracture length may not need to be long in order to access the reserves. Operators have successfully fractured and produced from unconventional reservoirs without the use of advanced modelling technology. This begs the questions of what areas of research and model design parameters should we focus on? Can we avoid the ‘details’ while dealing with the ‘big picture’ such as fractures spacing, horizontal well length/direction, the well’s landing depth, and their impact on cost and production? Are research and model development sufficiently guided and tested by field data/observations?

uk: вхід без авторизації

name: HYDRAULIC FRACTURE MODELING AND DESIGN: A PERSPECTIVE ON HOW THINGS HAVE CHANGED FROM CONVENTIONAL TO UNCONVENTIONAL RESERVOIRS


uk: Математика, природничі науки

description: Swarming morphologies, that is, those involving multiple aligned members separated by a finite spacing, emerge from systems involving interplay among three fundamental drivers: 1) Alignment: Move in the same direction as neighboring members, 2) Avoidance: Not running into other members, and 3) Attraction: Do not move too far away from other members. As with other systems resulting in swarm-like morphologies, simulation of multiple hydraulic fractures requires a model accounting for the interplay of these fundamental drivers. Specifically, alignment corresponds to the control of the ambient stress field on hydraulic fracture orientation that leads to predominance of certain strike directions. Avoidance drives hydraulic fractures to separate from one another and/or suppress one another’s growth due to the energetic consequences of propagation within the region of elevated compressive stresses surrounding each fracture. Finally, attraction arises from the reduction of viscous energy dissipation associated with splitting the injected fluid among many growing hydraulic fractures rather than just one dominant fracture. When combined, theoretically predicted alignment and emergent spacing in hydraulic fracture swarms matches match with field observations for both hydraulic fractures and naturally occurring dyke swarm analogues. Unfortunately, however, some of the most tempting simplifications, such as neglecting fluid flow or using a two-dimensional modeling domain, result in omitting or fundamentally altering the energetics associated with one or more of the three drivers of hydraulic fracture swarms. As a result, certain simplifications result in a complete loss of model fidelity. On the other hand, reasonably accurate simulations can be obtained from heavily simplified models as long as they preserve the three basic drivers and first principles such as volume balance.

uk: вхід без авторизації

name: Swarm Theory Framework for Evaluating Suitability of Models for Predicting Simultaneous Growth of Multiple Hydraulic Fractures


uk: Математика, природничі науки

description: Stress shadowing, a well-known effect that occurs in multi stage hydraulic fracture operations when the hydraulic fractures are placed close to each other, is an important challenge to obtain the highest estimated ultimate recovery (EUR) from a horizontal well. In industry, the most common practices of wellbore completion include three to five perforation clusters (i.e. entry points from the cased wellbore to the formation) per stage. Ideally, each cluster takes the same fluid volume during the hydraulic fracturing operations, leading to uniform stimulation of the reservoir. However, because of stress shadowing, some of the clusters tend to dominate others resulting in an unequal growth of the hydraulic fractures. Motivated by a need to validate and benchmark models used to select perforation spacing, fluid viscosity, injection rate, and so forth that will minimize the negative impacts of stress shadowing, our research focuses on laboratory experiments on the behavior of multiple, simultaneously growing hydraulic fractures. The experimental results show the impact of fracture spacing, fracture height, and number of fractures on multiple fracture growth. We demonstrate qualitative similarity in many respects to existing numerical simulations. However, we also find that certain predicted geometries are apparently less stable than others are when subjected to natural perturbations associated with laboratory experiments.

uk: вхід без авторизації

name: Laboratory Experimentation on Simultaneous Propagation of Multiple Hydraulic Fractures


uk: Математика, природничі науки

description: Numerical modeling is one of the tools that can be used for designing an optimal hydraulic fracturing treatment. One approach is to solve a fully 3D problem of fracture propagation numerically. However, numerical solution of the latter problem is computationally expensive and may preclude one to use it for problems involving optimization or sensitivity analysis. At the same time, there are more specialized models that typically rely on a series of assumptions, but are substantially faster to run. For instance, such models include plane strain, radial, Perkins-Kern-Nordgren (PKN), and pseudo-3D (P3D) hydraulic fractures. The primary aim of this talk is to present a numerical model that extends the aforementioned specialized models for a single fracture into the hydraulic fracturing simulator for multiple cracks. This is done by developing an algorithm for a single fracture, which is then extended to multiple cracks. The numerical algorithm utilizes a fixed mesh approach, in which fracture grows by extension of the tip elements that are eventually split into two parts. Tip element extension utilizes the universal asymptotic solution that originates from the problem of a semi-infinite crack, which includes the effects of toughness, fluid viscosity, and leak-off. The algorithm has been tested against the solution for a plane strain hydraulic fracture in different regimes. In addition, the approach has been extended and tested against enhanced PKN and enhanced P3D models. One of the advantages of the developed model is the fixed mesh methodology, which enabled us to extend the model to multiple fractures that can change their direction of propagation with time. Extension to multiple fractures poses an additional challenging problem of solving for the elastic interaction between the cracks. To address this problem, we use Displacement Discontinuity Method, which has been modified by using elliptical fracture elements. To check accuracy of the developed simulator, its predictions are compared to the reference solution, that is computed using Implicit Level Set Algorithm.

uk: вхід без авторизації

name: Modeling simultaneous growth of multiple pseudo-3D hydraulic fractures with a fixed mesh algorithm


uk: Математика, природничі науки

description: In engineering design for multi-stage HF treatments of horizontal well stimulation, it is ideal to promote simultaneous growth of all fractures in each stage in order to reduce the number of non-producing perforation clusters. While increased attention has been given to studies of multiple HF growth, time dependence is not typically considered as a factor affecting the HF initiation and following growth. A combined experimental and modeling study is carried out to explore the occurrence of the time-dependent initiation of single/multiple hydraulic fracture(s) and their subsequent propagation. By showing the existence of HF initiation at wellbore pressures that are insufficient to induce instantaneous initiation, and explaining that its underlying mechanism is due to the stable growth of the hydraulic fracture under subcritical conditions, this research leads to new insights for promoting more evenly growth of multiple hydraulic fractures in multi-stage HF treatments. Furthermore, our experimental results indicate that the time delay associated with hydraulic fracture initiation can be affected by various factors, such as the fluid viscosity and acidity, and the confining stresses, thereby leading to the practically-relevant outcome that fluid(s) can be chosen in order to promote initiation and growth of multiple hydraulic fractures and/or single hydraulic fractures under conditions where the required wellbore pressure for instantaneous initiation cannot be reached.

uk: вхід без авторизації

name: Time-dependent hydraulic fracture initiation and propagation


uk: Математика, природничі науки

description: A computational method is presented for the simulation of fluid-driven fracture propagation in a planar crack using unstructured triangular mesh elements. The crack opening elastic interactions between each element are determined using the displacement discontinuity boundary element method. A moving mesh, incorporating appropriate fracture tip asymptotic representations that depend on the fluid viscosity and the fracture toughness, is advanced and periodically regenerated at the crack front. The method includes special logic to represent intermediate viscosity-toughness crack tip asymptotic behaviour. The approach is validated using the simple geometry of a penny-shaped hydraulic fracture and is applied as well to the case of fracture propagation in a discontinuous stress field.

uk: вхід без авторизації

name: Hydraulic fracture propagation using unstructured triangular mesh elements


uk: Математика, природничі науки

description: The geometry and propagation of fluid-driven fractures is determined by a competition between the flow of viscous fluid, the elastic deformation of the solid, and the energy required to create new surfaces through fracturing. To date, much research has focused on the formation of idealised penny-shaped cracks in elastic media [1]. However, the dynamics of fluid-driven fracturing of thin adhered elastica remain unexplored and unobserved, and provide an experimentally accessible and theoretically simpler setting in which to assess the underlying physical processes. We present a theoretical and experimental approach to model a ‘fracture’ produced when fluid is injected from a point source between a solid horizontal plane and an elastic sheet, which is adhered to the plane. Divergence of viscous stresses necessitates the formation of a vapour tip between the fluid front and fracture front. This results in two dynamical regimes of spreading: viscosity dominant spreading controlled by the flow of viscous fluid into the vapour tip, and adhesion dominant spreading controlled by the energy required to fracture the two layers. Constant flux experiments using clear elastic sheets (PDMS) enable new, direct measurements of the vapour tip and confirm the existence of spreading regimes controlled by viscosity and adhesion. We extend this work to consider the possibility of turbulent flow within the body of the fracture and assess the scale of the laminar tip at the fracture front. This analysis identifies the transition from turbulent to laminar control of the spreading, or equivalently the transition from bulk to tip control. These processes primarily feature industrially in the hydraulic fracturing of shale [2], but are also commonplace in nature, from magmatic intrusions in the Earth’s crust [3, 4], to the propagation of cracks at the base of glaciers [5]. [1] D. I. Garagash and E. Detournay, “The Tip region of a Fluid-Driven fracture in an Elastic Medium,” J. Appl. Mech. 67, 183-192 (1999) [2] E. Detournay, “Mechanics of Hydraulic Fractures,” Annu. Rev. Fluid Mech. 48, 311-339 (2016) [3] C. Michaut, “Dynamics of Magmatic Intrusions in the Upper Crust: Theory and Applications to Laccoliths on Earth and the Moon,” J. Geophys. Res. 116, 1-19 (2011) [4] A. M. Rubin, “Propagation of Magma Filled Cracks,” Annu. Rev. Earth Planet. Sci. 23, 287-336 (1995) [5] V. C. Tsai and J. R. Rice, “A Model for Turbulent Hydraulic Fracture and Application to Crack Propagation at Glacier Beds,” J. Geophys. Res. Earth Surf. 115, 1-18 (2010)

uk: вхід без авторизації

name: Static and dynamic fluid-driven fracturing of adhered elastica


Slickwater is not water

uk: Математика, природничі науки

description: In this talk, we will review the implications of the use of high rate slickwater hydraulic fracture treatments as often performed in unconventional gas reservoirs. In particular, due to the very large injection rate used (with rates up to 25 Barrels per minutes in a multistage context when not all the fractures within a stage propagate), the assumption of laminar flow in the fracture may be challenged - at least in the near-wellbore. This is particularly striking if one takes the properties of water to compute a fracture inlet Reynolds number: e.g. thus obtaining inlet Reynolds number up to 4; 000 for a PKN fracture geometry [6]. However, in practice, so-called “friction reducers” are always added in small quantities to the injected water in order to reduce the pressure drop in the wellbore (where the flow is turbulent) and thus minimize the pumping energy required on site (i.e. the numbers of pumping trucks). These friction reducers are high molecular weight (macro molecules) polymers (typically polyacrylamide-based), whose micellar structures completely change the transition from laminar to turbulent flow [5] - making the water “slick”. The effect of the addition of these polymers do saturate at a finite concentration, where the so-called maximum drag reduction asymptote is reached. Such a “saturating” concentration is actually quite low such that it is always targeted in engineering practice. We will present limiting solutions for hydraulic fracture growth in the case of a turbulent maximum drag reduction flow for both the height contained (PKN) and radial fracture geometries in the zero toughness limit. In particular, we will show that most turbulent flow regimes can be recasted as modified power-law fluids as first discussed in [4] for the turbulent rough Gauckler-Manning-Strickler regime. This allows to partly adapt a number of existing solutions for hydraulic fracture growth [3, 1, 2]. We will discuss our results in light of typical operational parameters, highlighting the importance of the drag reduction of slickwater at large Reynolds number. References [1] Adachi, J. I. and Detournay, E. [2002], ‘Self-similar solution of a plane-strain fracture driven by a powerlaw fluid’, International Journal for Numerical and Analytical Methods in Geomechanics 26(6), 579–604. [2] Madyarova, M. and Detournay, E. [2004], Radial Fracture driven by a Power-law Fluid in a Permeable Elastic Rock, Technical report, Schlumberger. Report of UMN to Modeling & Mechanics Group, EAD, Schlumberger. [3] Savitski, A. and Detournay, E. [2002], ‘Propagation of a penny-shaped fluid-driven fracture in an impermeable rock: asymptotic solutions’, International Journal of Solids and Structures 39(26), 6311–6337. [4] Tsai, V. and Rice, J. R. [2010], ‘A model for turbulent hydraulic fracture and application to crack propagation at glacier beds’, J. Geoph. Res. - Earth Surface. [5] Virk, P. S. [1975], ‘Drag reduction fundamentals’, AIChE Journal 21(4), 625–656. [6] Zia, H. and Lecampion, B. [2017], ‘Propagation of a height contained hydraulic fracture in turbulent flow regimes’, International Journal of Solids and Structures 110-111, 265–278.

uk: вхід без авторизації


uk: Математика, природничі науки

description: Fluid-driven fracture presents an interesting case of crack elasticity and fracture propagation nonlinearly coupled to fluid flow. With the exceptions of a few numerical studies, previous hydraulic fracture modeling efforts have been based on the premise of Linear Elastic Fracture Mechanics (LEFM): specifically, that the damage (aka cohesive) zone associated with the rock breakage near the advancing fracture front is lumped into a singular point, under the tacit assumption that the extent of the cohesive zone is small compared to lengthscales of other physical processes relevant in the HF propagation. The latter include the dissipation in the viscous fluid flow in the fracture channel, of which the fluid lag - a region adjacent to the fracture tip filled with fracturing fluid volatiles and/or infiltrated formation pore fluid - is the extreme manifestation. In this work, we address the validity of the LEFM approach in hydraulic fracturing by considering the solution in the near tip region of a cohesive fracture driven by Newtonian fluid in an impermeable linearelastic rock. First, we show that the solution in general possesses an intricate structure supported by a number of nested lengthscales (a general sentiment for HF), on which different dissipation processes are realized (or are dominant).

uk: вхід без авторизації

name: What good is Linear Elastic Fracture Mechanics in Hydraulic Fracturing?


uk: Математика, природничі науки

description: Hydraulic fracturing is a process in which fractures are generated in the rock by injection of highly pressurized fluid. Hydraulic fracturing technique together with horizontal drilling allowed to effectively increase oil and gas recovery from low permeable shale formations. The global behavior of a hydraulic fracture is strongly influenced by the processes occurring near the fracture tip, which are related to rock toughness, fluid viscosity and leak-off. The near tip region is modeled as a semi-infinite fracture. The governing equations include elasticity equation, lubrication equation and a propagation criterion. Analytical solutions can be found only for the particular cases of toughness, viscosity and leak-off dominated regimes of propagation. To find a general solution, we employ non-singular formulation to solve the problem numerically. To study the effect of fluid yield stress, the problem of a semi-infinite fracture driven by Herschel-Bulkley fluid is investigated. Numerical results demonstrate that the yield stress influences fracture width solution at larger distances from the tip. At the same time, the solution follows the behavior of a power-law fluid ahead of this zone. Analytical solution for the yield stress dominated regime is obtained and boundaries of its applicability are found. The near tip behavior of a hydraulic fracture can also be strongly affected by proppant - granular material which is mixed with fracturing fluid to prevent fracture from closing after the pressure is removed. Proppant can accumulate near the fracture tip due to settling, bridging, and/or dehydration of the slurry. To investigate the effect of proppant, the problem of a semi-infinite fracture with a localized proppant plug near the tip is analyzed for the case of Newtonian fluid. Fluid filtration through the proppant plug is modeled according to Darcy’s law. Boundaries of the proppant plug are determined by a particle-size dependent bridging criterion and total volume of particles. Proppant causes a noticeable pressure drop over the plug, which in turn leads to fracture widening behind proppant. The effect of proppant can be equivalently represented by a stress barrier solution without proppant. Expressions for magnitude and location of the stress jump are explicitly calculated. Results indicate that such a representation leads to a solution that agrees reasonably well with the numerical solution with proppant.

uk: вхід без авторизації

name: Effects of Herschel-Bulkley fluid rheology and proppant on the near tip region of a hydraulic fracture