It is mainly about the multithreading and the multiprocessing in Python, and *in Python's flavor*.
It's also the share at Taipei.py [1].
[1] http://www.meetup.com/Taipei-py/events/220452029/
It is the slides for SITCON[1] 2013 Workshop[2]: "Git - The Version Control System You Must Know".
[1]: http://sitcon.org/
[2]: http://www.openfoundry.org/tw/activities/details/415-the-open-source-way-coder
It is the slides for COSCUP[1] 2013 Hands-on[2], "Learning Python from Data".
It aims for using examples to show the world of Python. Hope it will help you with learning Python.
[1] COSCUP: http://coscup.org/
[2] COSCUP Hands-on: http://registrano.com/events/coscup-2013-hands-on-mosky
It was the talk, titled "Graph-Tool: The Efficient Network Analyzing Tool for Python", at PyCon APAC 2014 [1] and PyCon SG 2014 [2]. It introduces you to Graph-Tool by mass code snippets.
[1] https://tw.pycon.org/2014apac
[2] https://pycon.sg/
Writing concurrent program is hard; maintaining concurrent program even is a nightmare. Actually, a pattern which helps us to write good concurrent code is available, that is, using “channels” to communicate.
This talk will share the channel concept with common libraries, like threading and multiprocessing, to make concurrent code elegant.
It's the talk at PyCon TW 2017 [1] and PyCon APAC/MY 2017 [2].
[1]: https://tw.pycon.org/2017
[2]: https://pycon.my/pycon-apac-2017-program-schedule/
The document provides examples of how Python is used in different domains such as websites, desktop applications, science, embedded systems, and more. It also discusses why Python is popular due to its readability, ease of learning, rich libraries, and ability to be sped up with tools like Numba and Cython. The document outlines topics for learning Python including primitives, control flow with if/while statements, composites like lists and dictionaries, and for loops. It recommends keeping learning through tutorials, documentation, and communities.
This document provides an overview of using asyncio for asynchronous programming in Python. It discusses what asyncio is and some key concepts like coroutines, the event loop, and the await keyword. It then demonstrates several examples of using asyncio to run asynchronous functions with coroutines, gather futures, handle synchronous code, and iterate over async iterators/generators. Common asyncio packages for web applications, databases, and networking are also mentioned.
This document discusses memory models, non-blocking primitives, and lock-free algorithms for concurrent programming. It provides code examples for implementing atomic operations like set, compareAndSet, and lazySet using the Unsafe class. It evaluates the performance of different producer-consumer algorithms like spin-wait, co-operative yielding, and buffering. The document suggests buffering generally performs best by avoiding busy-waiting and allowing other threads to run. It provides references for further information on lock-free programming.
Feihong talks about PEP 3156 and basic usage of Tulip, the reference implementation.
Video: http://pyvideo.org/video/2194/asynchronous-io-in-python-3
Source code: https://github.com/feihong/tulip-talk/
The document provides an introduction to Clojure by listing various resources about Clojure including websites, videos, papers and books. It discusses key aspects of Clojure such as its Lisp heritage, functional programming principles, namespaces, polymorphism using protocols and multimethods, and concurrency features using Software Transactional Memory. The document also compares Clojure to other Lisps and outlines Clojure's basic syntax where code is represented as data structures.
The document provides an overview of asynchronous programming in Python. It discusses how asynchronous programming can improve performance over traditional synchronous and threaded models by keeping resources utilized continuously. It introduces key concepts like callbacks, coroutines, tasks and the event loop. It also covers popular asynchronous frameworks and modules in Python like Twisted, Tornado, gevent and asyncio. Examples are provided to demonstrate asynchronous HTTP requests and concurrent factorial tasks using the asyncio module. Overall, the document serves as an introduction to asynchronous programming in Python.
The document discusses strategies for improving the startup performance of JRuby. It describes how the JRuby team optimized startup by using a Java-heavy JDK instead of native code, tweaking JVM flags, and implementing Drip - a technique that pre-boots the JVM and caches runtime configurations between runs. Drip reduced JRuby startup times from over 10 seconds to under 1 second for many common tasks. Later, it discusses challenges with JNI and how the Java Native Runtime (JNR) provides a better alternative for interfacing Java with native code and libraries.
Performance benchmarks are all too often inaccurate. This talk introduces some things to look for in setting up and running benchmarks to make them effective.
perl often doesn't get updated because people don't have a way to know if their current code works with the new one. The problem is that they lack unit tests. This talk describes how simple it is to generate unit tests with Perl and shell, use them to automate solving problems like missing modules, and test a complete code base.
Golang Performance : microbenchmarks, profilers, and a war storyAerospike
Slides for Brian Bulkowski's talk about Golang performance:
microbenchmarks, profilers, and a war story about optimizing the Aerospike Database Go client.
http://www.meetup.com/Go-lang-Developers-NYC/events/216650022/
This document describes Dist::Surveyor, a tool created by Tim Bunce to determine which CPAN distributions and versions are installed on a system by analyzing the contents of a local Perl library directory. It discusses the challenges involved and different approaches considered. The key features of Dist::Surveyor are that it uses MetaCPAN to match installed module files to candidate distributions, scores distributions based on included modules, and can generate a list of exact distributions to reinstall a matching library.
Talk given at DomCode meetup in Utrecht (August 2014) on different frameworks to do asynchronous I/O y Python, with a strong focus on asyncio (PEP-3156).
What you need to remember when you upload to CPANcharsbar
Perlのモジュールを公開するときに気をつけておいた方がよい個のこと
This document provides tips for publishing Perl modules to CPAN. It discusses things to be aware of such as distributions being permanently archived on BackPAN even if deleted, CPAN accepting almost anything, and several testing services that can improve modules like PAUSE, CPAN Testers, CPANTS, and more. It also covers best practices for metrics evaluated by these services around availability, integrity, file layout, prerequisites and more. Developers are encouraged to use better tools from the Perl Toolchain Gang to avoid issues.
The document discusses concepts related to event loops and concurrency in programming. It includes code snippets in Java showing the use of NIO selectors and channels for non-blocking I/O. Diagrams are shown illustrating reactor patterns and Vert.x modules deployed across multiple CPUs. The summary provides an overview of the main topics and techniques discussed in the technical document.
PL/Perl - New Features in PostgreSQL 9.0 201012Tim Bunce
This document summarizes new features for PL/Perl in PostgreSQL 9.0. It introduces new built-in functions for quoting, encoding bytea, and checking if a value looks like a number. It allows arbitrary Perl code to be executed via DO statements. The NYTProf profiler can now profile PL/Perl code. Security and performance improvements include removing the Safe module and validating return encodings.
Из презентации вы узнаете:
про большинство утилит из арсенала Go, предназначенных для оптимизации производительности;
— как и когда их (утилиты) использовать, а также мы посмотрим как они устроены внутри;
— про применимость linux утилиты perf для оптимизации программ на Go.
Кроме того, устроим небольшой crash course, в рамках которого поэтапно соптимизируем несколько небольших программ на Go с использованием вышеперечисленных утилит.
Sphinx autodoc - automated api documentation - PyCon.KR 2015Takayuki Shimizukawa
Using the automated documentation feature of Sphinx, you can make with ease the extensive documentation of Python program.
You just write python function documents (docstrings), Sphinx organizes them into the document, can be converted to a variety of formats.
In this session, I'll explain a documentation procedure that uses with sphinx autodoc and autosummary extensions.
Droidcon Berlin 2021 - With coroutines being the de facto way of exposing async work and streams of changes for Kotlin on Android, developers are obviously attempting to use the same approaches when moving their code to Multiplatform.
But due to the way the memory model differs between JVM and Kotlin Native, it can be a painful experience.
In this talk, we will take a deep dive into the Coroutine API for Kotlin Multiplatform. You will learn how to expose your API with Coroutines while working with the Kotlin Native memory model instead of against it, and avoid the dragons along the way.
UnQLite is an embedded key-value and document-oriented database with a simple API similar to SQLite. It uses a BSD license and supports cross-platform usage. Benchmarks show it has comparable or better performance than SQLite, Berkeley DB and other databases for common operations like storing, fetching, and iterating over large amounts of data. The developer is working on adding new storage engines to UnQLite.
This document provides a summary of an introduction to the Clojure programming language. It discusses what Clojure is, its timeline and adoption, functional programming concepts, concurrency features using Software Transactional Memory, the Lisp ideology it is based on including homoiconicity and its macro system. It also provides an overview of getting started with Clojure including using the REPL, basic syntax like symbols and keywords, data types, sequences, functions, and Java interoperability. Resources for learning more about Clojure are also listed.
This document discusses profiling Go programs. It begins by stating the golden rule of premature optimization and emphasizes the importance of measuring before optimizing. Several Go profiling tools are described, including tools for timing, CPU profiling, and memory profiling. An example of a badly implemented LRU cache is provided and profiled to identify inefficiencies. Various improvements are then made to the LRU cache and tested, including using a linked list, random eviction, and eliminating slice operations. The document concludes with a discussion of memory recycling in Go programs.
Clime is a Python library which lets you convert any module into a multi-command CLI program without any configuration.
It is a short tour of Clime.
The full documentation of Clime: http://clime.mosky.tw/.
Python is a great programming language. It is a complete tutorial of using this programming language.
This slides is split into two parts, and it is the second part. Another part is at: http://www.slideshare.net/moskytw/programming-with-python-basic.
This document discusses memory models, non-blocking primitives, and lock-free algorithms for concurrent programming. It provides code examples for implementing atomic operations like set, compareAndSet, and lazySet using the Unsafe class. It evaluates the performance of different producer-consumer algorithms like spin-wait, co-operative yielding, and buffering. The document suggests buffering generally performs best by avoiding busy-waiting and allowing other threads to run. It provides references for further information on lock-free programming.
Feihong talks about PEP 3156 and basic usage of Tulip, the reference implementation.
Video: http://pyvideo.org/video/2194/asynchronous-io-in-python-3
Source code: https://github.com/feihong/tulip-talk/
The document provides an introduction to Clojure by listing various resources about Clojure including websites, videos, papers and books. It discusses key aspects of Clojure such as its Lisp heritage, functional programming principles, namespaces, polymorphism using protocols and multimethods, and concurrency features using Software Transactional Memory. The document also compares Clojure to other Lisps and outlines Clojure's basic syntax where code is represented as data structures.
The document provides an overview of asynchronous programming in Python. It discusses how asynchronous programming can improve performance over traditional synchronous and threaded models by keeping resources utilized continuously. It introduces key concepts like callbacks, coroutines, tasks and the event loop. It also covers popular asynchronous frameworks and modules in Python like Twisted, Tornado, gevent and asyncio. Examples are provided to demonstrate asynchronous HTTP requests and concurrent factorial tasks using the asyncio module. Overall, the document serves as an introduction to asynchronous programming in Python.
The document discusses strategies for improving the startup performance of JRuby. It describes how the JRuby team optimized startup by using a Java-heavy JDK instead of native code, tweaking JVM flags, and implementing Drip - a technique that pre-boots the JVM and caches runtime configurations between runs. Drip reduced JRuby startup times from over 10 seconds to under 1 second for many common tasks. Later, it discusses challenges with JNI and how the Java Native Runtime (JNR) provides a better alternative for interfacing Java with native code and libraries.
Performance benchmarks are all too often inaccurate. This talk introduces some things to look for in setting up and running benchmarks to make them effective.
perl often doesn't get updated because people don't have a way to know if their current code works with the new one. The problem is that they lack unit tests. This talk describes how simple it is to generate unit tests with Perl and shell, use them to automate solving problems like missing modules, and test a complete code base.
Golang Performance : microbenchmarks, profilers, and a war storyAerospike
Slides for Brian Bulkowski's talk about Golang performance:
microbenchmarks, profilers, and a war story about optimizing the Aerospike Database Go client.
http://www.meetup.com/Go-lang-Developers-NYC/events/216650022/
This document describes Dist::Surveyor, a tool created by Tim Bunce to determine which CPAN distributions and versions are installed on a system by analyzing the contents of a local Perl library directory. It discusses the challenges involved and different approaches considered. The key features of Dist::Surveyor are that it uses MetaCPAN to match installed module files to candidate distributions, scores distributions based on included modules, and can generate a list of exact distributions to reinstall a matching library.
Talk given at DomCode meetup in Utrecht (August 2014) on different frameworks to do asynchronous I/O y Python, with a strong focus on asyncio (PEP-3156).
What you need to remember when you upload to CPANcharsbar
Perlのモジュールを公開するときに気をつけておいた方がよい個のこと
This document provides tips for publishing Perl modules to CPAN. It discusses things to be aware of such as distributions being permanently archived on BackPAN even if deleted, CPAN accepting almost anything, and several testing services that can improve modules like PAUSE, CPAN Testers, CPANTS, and more. It also covers best practices for metrics evaluated by these services around availability, integrity, file layout, prerequisites and more. Developers are encouraged to use better tools from the Perl Toolchain Gang to avoid issues.
The document discusses concepts related to event loops and concurrency in programming. It includes code snippets in Java showing the use of NIO selectors and channels for non-blocking I/O. Diagrams are shown illustrating reactor patterns and Vert.x modules deployed across multiple CPUs. The summary provides an overview of the main topics and techniques discussed in the technical document.
PL/Perl - New Features in PostgreSQL 9.0 201012Tim Bunce
This document summarizes new features for PL/Perl in PostgreSQL 9.0. It introduces new built-in functions for quoting, encoding bytea, and checking if a value looks like a number. It allows arbitrary Perl code to be executed via DO statements. The NYTProf profiler can now profile PL/Perl code. Security and performance improvements include removing the Safe module and validating return encodings.
Из презентации вы узнаете:
про большинство утилит из арсенала Go, предназначенных для оптимизации производительности;
— как и когда их (утилиты) использовать, а также мы посмотрим как они устроены внутри;
— про применимость linux утилиты perf для оптимизации программ на Go.
Кроме того, устроим небольшой crash course, в рамках которого поэтапно соптимизируем несколько небольших программ на Go с использованием вышеперечисленных утилит.
Sphinx autodoc - automated api documentation - PyCon.KR 2015Takayuki Shimizukawa
Using the automated documentation feature of Sphinx, you can make with ease the extensive documentation of Python program.
You just write python function documents (docstrings), Sphinx organizes them into the document, can be converted to a variety of formats.
In this session, I'll explain a documentation procedure that uses with sphinx autodoc and autosummary extensions.
Droidcon Berlin 2021 - With coroutines being the de facto way of exposing async work and streams of changes for Kotlin on Android, developers are obviously attempting to use the same approaches when moving their code to Multiplatform.
But due to the way the memory model differs between JVM and Kotlin Native, it can be a painful experience.
In this talk, we will take a deep dive into the Coroutine API for Kotlin Multiplatform. You will learn how to expose your API with Coroutines while working with the Kotlin Native memory model instead of against it, and avoid the dragons along the way.
UnQLite is an embedded key-value and document-oriented database with a simple API similar to SQLite. It uses a BSD license and supports cross-platform usage. Benchmarks show it has comparable or better performance than SQLite, Berkeley DB and other databases for common operations like storing, fetching, and iterating over large amounts of data. The developer is working on adding new storage engines to UnQLite.
This document provides a summary of an introduction to the Clojure programming language. It discusses what Clojure is, its timeline and adoption, functional programming concepts, concurrency features using Software Transactional Memory, the Lisp ideology it is based on including homoiconicity and its macro system. It also provides an overview of getting started with Clojure including using the REPL, basic syntax like symbols and keywords, data types, sequences, functions, and Java interoperability. Resources for learning more about Clojure are also listed.
This document discusses profiling Go programs. It begins by stating the golden rule of premature optimization and emphasizes the importance of measuring before optimizing. Several Go profiling tools are described, including tools for timing, CPU profiling, and memory profiling. An example of a badly implemented LRU cache is provided and profiled to identify inefficiencies. Various improvements are then made to the LRU cache and tested, including using a linked list, random eviction, and eliminating slice operations. The document concludes with a discussion of memory recycling in Go programs.
Clime is a Python library which lets you convert any module into a multi-command CLI program without any configuration.
It is a short tour of Clime.
The full documentation of Clime: http://clime.mosky.tw/.
Python is a great programming language. It is a complete tutorial of using this programming language.
This slides is split into two parts, and it is the second part. Another part is at: http://www.slideshare.net/moskytw/programming-with-python-basic.
In your code base, to understand a random line, how many lines do you need to read back? Cloud you make it zero?
This talk will start with the impact of the maintainability, define the maintainability as “to understand a random line, the lines you need to read back”, show the practicing techniques to make it zero, or nearly zero, and finally, reach the goal: boost the maintainability.
It's the revision of “Beyond the Style Guides” [1] and the talk at PyCon TW 2016 [2], PyCon APAC/KR 2016 [3], and GDG DevFest Taipei 2016 [4].
[1]: https://speakerdeck.com/mosky/beyond-the-style-guides
[2]: https://tw.pycon.org/2016
[3]: https://www.pycon.kr/2016apac/
[4]: https://devfest-taipei-3cbee.firebaseapp.com/
ZIPCodeTW: Find Taiwan ZIP Code by Address FuzzilyMosky Liu
It was a lightning talk at PyCon APAC 2014 [1]. It introduces the tool to find ZIP code, ZIPCodeTW [2].
[1] http://tw.pycon.org/2014apac/
[2] http://zipcode.mosky.tw
It's a talk about how to write understandable code from understanding human brain at Taipei.py [1] and PyCon HK 2015 [2].
[1]: http://www.meetup.com/Taipei-py/events/222174472/
[2]: http://2015.pycon.hk/
This document contains a summary of a lecture on C++ functions:
- It discusses function parameters, return types, and calling functions. It provides an example function that prints the "99 bottles" song lyrics.
- Debugging functions using an IDE like Qt Creator is explained. The importance of function declaration order is also covered.
- Pre-written math functions from the <cmath> library are introduced as an alternative to writing functions like square root from scratch.
- Mojolicious is a web development framework for Perl that aims to rethink web development
- It provides a powerful routing system, full HTTP implementation, simple templating, built-in JSON support, elegant plugin system, and class reloader
- Installation is simple using CPAN and has no dependencies beyond Perl 5.8.1
- It includes classes for requests, responses, templates, JSON encoding/decoding, and more
- Plugins can hook into various stages of the request lifecycle
- Supports generating applications, running commands, and provides a simple but powerful way to build web applications and services in Perl
Know your platform. 7 things every scala developer should know about jvmPawel Szulc
The document discusses the importance for Scala developers to understand the basics of the Java Virtual Machine (JVM) platform that Scala code runs on. It provides examples of Java bytecode produced from simple Scala code snippets to demonstrate how code is executed by the JVM. Key points made include that the JVM is a stack-based virtual machine that compiles source code to bytecode instructions, and that understanding the level below the code helps developers write more efficient, robust and performant code.
Modern Release Engineering in a Nutshell - Why Researchers should Care!Bram Adams
Invited talk at the Leaders of Tomorrow Symposium of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016).
The presentation (and its accompanying paper, see http://mcis.polymtl.ca/publications/2016/fose.pdf) explain the basics of release engineering pipelines, common challenges industry is facing as well as pitfalls software engineering researchers are falling into.
Speakers are Bram Adams (MCIS, http://mcis.polymtl.ca) and Shane McIntosh (McGill University, http://shanemcintosh.org).
A video-taped version of the talk will be available soon at https://www.youtube.com/channel/UCL8yG6qpHk7V66l1Jt3aZrA/featured.
The document discusses high performance websites, introducing xDebug profiling, Kcachegrind, and JMeter. It provides instructions for installing necessary software on a virtual machine, including Apache, xDebug, JMeter, and Kcachegrind. The document then demonstrates how to use these tools to optimize website performance, including profiling a sample extension in TYPO3, identifying optimization opportunities, and implementing caching. Finally, it shows how to test website performance using JMeter, including building test plans, recording tests, distributed testing on Amazon EC2, and analyzing results.
This document discusses the ql.io open source project, which provides a domain specific language (DSL) for making HTTP requests. The DSL allows HTTP resources to be treated like database tables, enabling CRUD operations on those resources with a SQL-like syntax. Ql.io can be used as an HTTP gateway and allows parallelizing and joining requests. It aims to simplify writing code for making API calls. The document provides examples of using the ql.io DSL and discusses how it can be used as a Node.js module.
This document discusses various topics related to building serverless applications on AWS, including API Gateway and Kinesis, authentication and authorization, testing, monitoring, logging, performance optimization, and CI/CD practices. It also provides information about DAZN, an online sports streaming service, and mentions that they are hiring.
Deploying Next Gen Systems with Zero DowntimeTwilio Inc
The document discusses deploying next-generation systems at Twilio while ensuring zero downtime and zero regressions. It describes the challenges of replacing two core systems while maintaining high availability and horizontal scalability without losing any data. It outlines techniques used such as running tests against both systems, canary deployments, shadow mode with double bookkeeping for rollbacks, and gradual rollouts. The goal is reliable online upgrades of critical systems processing millions of transactions.
The document discusses Parse's process for benchmarking MongoDB upgrades by replaying recorded production workloads on test servers. They found a 33-75% drop in throughput when upgrading from 2.4.10 to 2.6.3 due to query planner bugs. Working with MongoDB, they identified and helped fix several bugs, improving performance in 2.6.5 but still below 2.4.10 levels initially. Further optimization work increased throughput above 2.4.10 levels when testing with more workers and operations.
Upgrading an application’s database can be daunting.Doing this for tens ofthousands of apps at atime is downright scary.New bugs combined with unique edge cases can result in reduced performance,downtime, and plenty of frustration. Learn how Parse is working to avoid these issues as we upgrade to 2.6 with advanced benchmarking tools and aggressive troubleshooting
MongoUK 2011 - Rplacing RabbitMQ with MongoDBBoxed Ice
The document discusses replacing RabbitMQ with MongoDB for queuing purposes. It outlines some of the key features of queuing like consumers, atomicity, speed and garbage collection and how MongoDB implements these features using findAndModify commands and daemon processes. It also covers scaling, fault tolerance using replica sets, and some potential problems with MongoDB like durability and global locking that may make RabbitMQ a better choice for queuing.
This document provides an outline and examples of constructors, destructors, friend functions, and the this pointer in C++. It discusses how constructors initialize objects and are called automatically when an object is created. Destructors are called when an object is destroyed to perform cleanup. Friend functions allow non-member functions to access private members of a class. The examples demonstrate basic usage of these concepts in C++ code.
MLBlock is updating with new features based on user feedback. It will become a standalone application written in Typescript with a NextJS frontend and backend bundled together as a Docker container. The update will focus on peer-to-peer connectivity, Google Colab integration, Home Assistant integration, and support for application updates. Developers can look forward to using MLBlock via the command line with a new MLBlock CLI.
This time it was the microcosm that brought us a few interesting bugs. We have checked the open-source project μManager with our analyzer PVS-Studio. This project is a software package for automated microscope image acquisition.
The document discusses the basic concept of Inversion of Control (IOC) and how to implement it using the Spring Framework. It explains that Spring is lightweight, non-intrusive, and uses IOC to achieve loose coupling between application components. It then covers factory patterns, dependency injection, and how to configure the Spring container to manage beans and their dependencies. Code examples are provided to demonstrate implementing IOC without and with Spring to reduce tightly coupled relationships between classes.
ECMAScript 6 (ES6) is getting closer and closer with more support available in both node 0.12.0 and io.js. ES6 promises to fundamentally change the way we develop applications on node.js by allowing for the use of generators for iterators and a standard promises library for orchestrating our asynchronous calls. In this talk we will explore the implications of ES6 for the node driver and applications written on top of the driver.
This document discusses rolling updates and rollbacks of deployments in Kubernetes. It provides examples of commands used for rollout status, history, applying deployment definitions, updating images, and rolling back deployments. It also covers deployment strategies like recreate and rolling update, and how they affect replica sets during upgrades and rollbacks.
Complex Made Simple: Sleep Better with TorqueBoxbobmcwhirter
The document discusses using TorqueBox, a Ruby application server based on JRuby and JBoss AS7, to deploy a Rails application in production. It compares various deployment options from rolling your own infrastructure to using a platform as a service like Heroku. TorqueBox provides a middle ground where it handles services like caching, background jobs, scheduling, and clustering but still allows customization. The document walks through migrating an existing Rails app's Delayed::Job and caching implementations to use TorqueBox equivalents to simplify the deployment.
Standardizing JavaScript Decorators in TC39 (Full Stack Fest 2019)Igalia
By Daniel Ehrenberg.
JavaScript decorators were created in 2014 as a collaboration among the JavaScript ecosystem, and you've been able to use them in TypeScript and Babel. But they didn't make it into the JavaScript standard yet: not ES6, or any of the later versions, so far. We're working on standardizing decorators in TC39, the JavaScript standards committee, but some changes are required from the initial version.
In this talk, Daniel will explain what TC39 is and how we work. We'll look at some newer language feature proposals, such as Temporal and immutable records and tuples, and follow how decorators have been proceeding through the TC39 process, including why and how they're changing. TC39 could use your help in moving JavaScript forward.
(c) Full Stack Fest 2019
Sitges, Barcelona
September 4—6, 2019
https://2019.fullstackfest.com/
This document provides an overview of statistical regression analysis with Python. It discusses defining assumptions, validating assumptions with a dataset on extramarital affairs, performing correlation analysis, estimating models using ordinary least squares, understanding regression results including interaction effects, handling categorical variables, and addressing outliers. Modeling techniques covered include linear, logistic, and quantile regression as well as robust linear regression.
This document provides an introduction to data science with Python. It discusses key concepts in data science including visualization, statistics, machine learning, deep learning, and big data. Various Python packages are introduced for working with data, including Jupyter, NumPy, SciPy, Matplotlib, Pandas, Scikit-learn and others. The document outlines the main steps in a data science analysis process, including defining assumptions, validating assumptions with data, and iterating. Specific techniques are covered like preprocessing, dimensionality reduction, statistical modeling, and machine learning modeling. The document emphasizes an iterative approach to learning through applying concepts to problems and data.
This document discusses hypothesis testing in Python. It covers simulating and analyzing test datasets, how hypothesis tests work, common statistical tests like t-tests and chi-squared tests, and steps for completing a hypothesis test. Key points include defining the null and alternative hypotheses, estimating error rates from a confusion matrix, determining necessary sample sizes based on desired alpha and beta levels, and fully reporting test results. Other statistical analyses like correlation and regression are also briefly mentioned. Overall the document provides an introduction to performing and interpreting hypothesis tests in Python.
The document outlines Mosky's background as a Python engineer and speaker who works on the Python packages MoSQL and Clime. It then provides an overview of Mosky discussing topics like the Git workflow, invoice system, and seller dashboard used behind the scenes at Pinkoi. Specific instructions are given on branching, committing, pushing, reviewing, and merging code as part of the recommended Git workflow.
MoSQL: More than SQL, but Less than ORM @ PyCon APAC 2013Mosky Liu
It is the slides of the talk, "MoSQL: More than SQL, but Less than ORM", at PyCon APAC 2013. It introduces MoSQL after v0.6.
About MoSQL:
MoSQL is a Python library which lets you use common Python’s data structures to build SQLs.
http://mosql.mosky.tw/
** Please visit https://speakerdeck.com/mosky/mosql-more-than-sql-but-less-than-orm-at-pycon-apac-2013 for the newer slide. :)
It is the slides of the talk, "MoSQL: More than SQL, but Less than ORM", at PyCon TW 2013.
About MoSQL:
MoSQL is a Python library which lets you use common Python’s data structures to build SQLs, and provides a convenient model of result set.
http://mosql.mosky.tw/
Creating Automated Tests with AI - Cory House - Applitools.pdfApplitools
In this fast-paced, example-driven session, Cory House shows how today’s AI tools make it easier than ever to create comprehensive automated tests. Full recording at https://applitools.info/5wv
See practical workflows using GitHub Copilot, ChatGPT, and Applitools Autonomous to generate and iterate on tests—even without a formal requirements doc.
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentShubham Joshi
A secure test infrastructure ensures that the testing process doesn’t become a gateway for vulnerabilities. By protecting test environments, data, and access points, organizations can confidently develop and deploy software without compromising user privacy or system integrity.
Download YouTube By Click 2025 Free Full Activatedsaniamalik72555
Copy & Past Link 👉👉
https://dr-up-community.info/
"YouTube by Click" likely refers to the ByClick Downloader software, a video downloading and conversion tool, specifically designed to download content from YouTube and other video platforms. It allows users to download YouTube videos for offline viewing and to convert them to different formats.
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdfImma Valls Bernaus
eady to harness the power of Grafana for your HackUPC project? This session provides a rapid introduction to the core concepts you need to get started. We'll cover Grafana fundamentals and guide you through the initial steps of building both compelling dashboards and your very first Grafana app. Equip yourself with the essential tools to visualize your data and bring your innovative ideas to life!
Avast Premium Security Crack FREE Latest Version 2025mu394968
🌍📱👉COPY LINK & PASTE ON GOOGLE https://dr-kain-geera.info/👈🌍
Avast Premium Security is a paid subscription service that provides comprehensive online security and privacy protection for multiple devices. It includes features like antivirus, firewall, ransomware protection, and website scanning, all designed to safeguard against a wide range of online threats, according to Avast.
Key features of Avast Premium Security:
Antivirus: Protects against viruses, malware, and other malicious software, according to Avast.
Firewall: Controls network traffic and blocks unauthorized access to your devices, as noted by All About Cookies.
Ransomware protection: Helps prevent ransomware attacks, which can encrypt your files and hold them hostage.
Website scanning: Checks websites for malicious content before you visit them, according to Avast.
Email Guardian: Scans your emails for suspicious attachments and phishing attempts.
Multi-device protection: Covers up to 10 devices, including Windows, Mac, Android, and iOS, as stated by 2GO Software.
Privacy features: Helps protect your personal data and online privacy.
In essence, Avast Premium Security provides a robust suite of tools to keep your devices and online activity safe and secure, according to Avast.
Discover why Wi-Fi 7 is set to transform wireless networking and how Router Architects is leading the way with next-gen router designs built for speed, reliability, and innovation.
How to avoid IT Asset Management mistakes during implementation_PDF.pdfvictordsane
IT Asset Management (ITAM) is no longer optional. It is a necessity.
Organizations, from mid-sized firms to global enterprises, rely on effective ITAM to track, manage, and optimize the hardware and software assets that power their operations.
Yet, during the implementation phase, many fall into costly traps that could have been avoided with foresight and planning.
Avoiding mistakes during ITAM implementation is not just a best practice, it’s mission critical.
Implementing ITAM is like laying a foundation. If your structure is misaligned from the start—poor asset data, inconsistent categorization, or missing lifecycle policies—the problems will snowball.
Minor oversights today become major inefficiencies tomorrow, leading to lost assets, licensing penalties, security vulnerabilities, and unnecessary spend.
Talk to our team of Microsoft licensing and cloud experts to look critically at some mistakes to avoid when implementing ITAM and how we can guide you put in place best practices to your advantage.
Remember there is savings to be made with your IT spending and non-compliance fines to avoid.
Send us an email via [email protected]
Change Management Models and Tools for Organizational TransformationEHA Soft Solutions
Learn how effective change management systems and models support organizations in adapting to change and improving overall performance. Contact us on +353 214536034.
Ai Development Company - Telepathy InfotechTelepathy
This PowerPoint presentation showcases Telepathy Infotech as an AI development company, highlighting our core services, industry expertise, technology stack, development process, and client success stories. It is designed to give a clear overview of our capabilities in delivering custom AI solutions across various sectors, along with our future vision and contact information.
Download Canva Pro 2025 PC Crack Latest Version .sadiyabibi60507
Copy & Past Link 👉✅
https://dr-up-community.info/
It looks like you’re referring to Canva — a popular online graphic design platform (though if you meant something else by "Canava," let me know!).
Exploring Wayland: A Modern Display Server for the FutureICS
Wayland is revolutionizing the way we interact with graphical interfaces, offering a modern alternative to the X Window System. In this webinar, we’ll delve into the architecture and benefits of Wayland, including its streamlined design, enhanced performance, and improved security features.
Interactive Odoo Dashboard for various business needs can provide users with dynamic, visually appealing dashboards tailored to their specific requirements. such a module that could support multiple dashboards for different aspects of a business
✅Visit And Buy Now : https://bit.ly/3VojWza
✅This Interactive Odoo dashboard module allow user to create their own odoo interactive dashboards for various purpose.
App download now :
Odoo 18 : https://bit.ly/3VojWza
Odoo 17 : https://bit.ly/4h9Z47G
Odoo 16 : https://bit.ly/3FJTEA4
Odoo 15 : https://bit.ly/3W7tsEB
Odoo 14 : https://bit.ly/3BqZDHg
Odoo 13 : https://bit.ly/3uNMF2t
Try Our website appointment booking odoo app : https://bit.ly/3SvNvgU
👉Want a Demo ?📧 [email protected]
➡️Contact us for Odoo ERP Set up : 091066 49361
👉Explore more apps: https://bit.ly/3oFIOCF
👉Want to know more : 🌐 https://www.axistechnolabs.com/
#odoo #odoo18 #odoo17 #odoo16 #odoo15 #odooapps #dashboards #dashboardsoftware #odooerp #odooimplementation #odoodashboardapp #bestodoodashboard #dashboardapp #odoodashboard #dashboardmodule #interactivedashboard #bestdashboard #dashboard #odootag #odooservices #odoonewfeatures #newappfeatures #odoodashboardapp #dynamicdashboard #odooapp #odooappstore #TopOdooApps #odooapp #odooexperience #odoodevelopment #businessdashboard #allinonedashboard #odooproducts
Best Accounting Practice Management Software Guide for 2025Tidyflow
This slide deck, “Best Accounting Practice Management Software Guide for 2025,” is designed for solo CPAs, small accounting firms, and growing mid-sized practices looking to navigate the crowded and sometimes overwhelming world of accounting practice management tools.
In 2025, the pressure on accounting firms is higher than ever. Clients expect fast, clear communication. Teams are often working remotely or in hybrid setups. Deadlines are tight, and regulations are constantly changing. Choosing the right practice management software can make all the difference — helping firms stay organized, automate repetitive work, collaborate smoothly, and ultimately deliver better service to clients.
This presentation offers a clear, unbiased comparison of seven of the most popular practice management platforms used by accounting firms today, including:
Tidyflow — a lean, no-bloat tool built for small and growing firms;
Karbon — a powerful platform with integrated email and advanced team workflows;
TaxDome — a robust system designed especially for tax-focused firms;
Canopy — a modular, flexible solution for firms that want to mix and match tools;
Financial Cents — a simple, budget-friendly option for small firms;
Jetpack Workflow — a lightweight workflow tracker great for solo practitioners and small teams;
Pixie — a client-focused platform offering unlimited users at a flat price.
Each software is broken down with key details on pricing, best-fit firm type, notable features, integrations, pros, and cons. We’ve also included a quick comparison table upfront to help busy practitioners scan for top-line differences.
What you’ll learn from this slide deck:
✅ Which tools are best suited for your firm’s size and growth stage
✅ What features (client portals, time tracking, automation, integrations) matter most
✅ How pricing models compare across popular providers
✅ Where each software excels — and where it might fall short
The final slides offer guidance on how to choose the right software for your unique needs, with a checklist covering firm size, required features, ease of use, integrations, and budget considerations.
Whether you’re looking for an affordable, scalable option like Tidyflow or a powerful enterprise-level solution like Karbon, this guide will help you make a more informed, confident decision for 2025 and beyond.
For more details, visit tidyflow.com — a modern practice management platform designed specifically for small and growing accounting firms that want a simple, affordable solution without enterprise-level complexity.
Trawex, one of the leading travel portal development companies that can help you set up the right presence of webpage. GDS providers used to control a higher part of the distribution publicizes, yet aircraft have placed assets into their very own prompt arrangements channels to bypass this. Nevertheless, it's still - and will likely continue to be - important for a distribution. This exhaustive and complex amazingly dependable, and generally low costs set of systems gives the travel, the travel industry and hospitality ventures with a very powerful and productive system for processing sales transactions, managing inventory and interfacing with revenue management systems. For more details, Pls visit our website: https://www.trawex.com/gds-system.php
5. MOSKY
• Python Charmer at Pinkoi
• An author of some Python packages
• A speaker of some confs, PyCon TW/JP mostly
2
6. MOSKY
• Python Charmer at Pinkoi
• An author of some Python packages
• A speaker of some confs, PyCon TW/JP mostly
• A Python instructor
2
7. MOSKY
• Python Charmer at Pinkoi
• An author of some Python packages
• A speaker of some confs, PyCon TW/JP mostly
• A Python instructor
• mosky.tw
2
62. THE RECIPE
• Use Class in JavaScript;
• Write 3 methods as Model, View, and Controller
16
63. THE RECIPE
• Use Class in JavaScript;
• Write 3 methods as Model, View, and Controller
• Make function call as message passing
16
64. THE RECIPE
• Use Class in JavaScript;
• Write 3 methods as Model, View, and Controller
• Make function call as message passing
• Message is what changed.
16
65. THE RECIPE
• Use Class in JavaScript;
• Write 3 methods as Model, View, and Controller
• Make function call as message passing
• Message is what changed.
• And the util-level libs you love.
16
66. THE RECIPE
• Use Class in JavaScript;
• Write 3 methods as Model, View, and Controller
• Make function call as message passing
• Message is what changed.
• And the util-level libs you love.
• (My favor is just JQuery and Underscore.js)
16
67. THE CONSTRUCTOR
var Clock = function (obj) {
!
/* Model */
this._model = {};
!
/* View */
this.$view = $(Clock.template);
this.$i = $this.view.find('.i');
this.$o = $this.view.find('.o');
// ...
!
!
/* Controller */
var _this = this;
this.$view.on('change', '.i',
function () {
_this.controller('i-changed');
});
// ...
!
// Apply defaults
this.model(obj);
};
17
68. THE MODEL
Clock.prototype.model = function (model_changes) {
!
// First, optionally filter the fake changes out.
!
// Second, asyncly send the changes to server;
// and update model/view by the response.
!
// Finally, update the changes into this._model.
!
this.view(view_changes);
};
18
69. THE VIEW
Clock.prototype.view = function (view_changes) {
!
// Pattern I
if (view_changes.o !== undefined) {
this.$o.val(view_changes.o);
}
!
// Pattern II
this.$n.val(this._model.o);
};
19
74. REAL CASES
• The Memo App
• https://github.com/moskytw/memo-app/blob/
master/memo/static/memo.js
22
75. REAL CASES
• The Memo App
• https://github.com/moskytw/memo-app/blob/
master/memo/static/memo.js
• The Web for ZIPCodeTW
22
76. REAL CASES
• The Memo App
• https://github.com/moskytw/memo-app/blob/
master/memo/static/memo.js
• The Web for ZIPCodeTW
• https://github.com/moskytw/zipcodetw/blob/
dev/web/static/finder.js
22
77. REAL CASES
• The Memo App
• https://github.com/moskytw/memo-app/blob/
master/memo/static/memo.js
• The Web for ZIPCodeTW
• https://github.com/moskytw/zipcodetw/blob/
dev/web/static/finder.js
• http://zipcode.mosky.tw/
22
86. CONCLUSION
• MVC is a powerful pattern, and not hard.
• Add model unit to simplify problem.
• Don’t be limited by the frameworks!
27
87. CONCLUSION
• MVC is a powerful pattern, and not hard.
• Add model unit to simplify problem.
• Don’t be limited by the frameworks!
• mosky.tw
27
88. CONCLUSION
• MVC is a powerful pattern, and not hard.
• Add model unit to simplify problem.
• Don’t be limited by the frameworks!
• mosky.tw
• Any questions?
27