Ruby 2.4.0 includes several performance improvements including faster instance variable access and integer handling. It also protects Proc and Env objects from garbage collection issues by making them write-barrier protected. The presenter proposed changes to Env object handling that allow protection without significant performance impacts, such as lightweight escape detection and conditional write barriers. Benchmark results showed performance gains from these changes and protection of Proc objects.
JRuby 9000 introduced a new intermediate representation that allows us to use classic compiler strategies to optimize Ruby. This talk describes what we're doing with this new IR and why current JVM capabilities are not sufficient.
JRuby 9000 introduced a new intermediate representation that allows us to use classic compiler strategies to optimize Ruby. This talk describes what we're doing with this new IR and why current JVM capabilities are not sufficient.
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/
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.
Project Loom is one of the most important change coming to JDK. The talk explores the Constraints and benefits of the request pre thread model and why there is a big push towards Aysnc frameworks.
How Project Loom and Structured Concurrency And Project Loom gives a new design paradigm to write scalable maintainable code
How to Become a Thought Leader in Your NicheLeslie Samuel
Are bloggers thought leaders? Here are some tips on how you can become one. Provide great value, put awesome content out there on a regular basis, and help others.
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/
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.
Project Loom is one of the most important change coming to JDK. The talk explores the Constraints and benefits of the request pre thread model and why there is a big push towards Aysnc frameworks.
How Project Loom and Structured Concurrency And Project Loom gives a new design paradigm to write scalable maintainable code
How to Become a Thought Leader in Your NicheLeslie Samuel
Are bloggers thought leaders? Here are some tips on how you can become one. Provide great value, put awesome content out there on a regular basis, and help others.
PDF, audio, and voiceover are now available on designintechreport.wordpress.com
Today’s most beloved technology products and services balance design and engineering in a way that perfectly blends form and function. Businesses started by designers have created billions of dollars of value, are raising billions in capital, and VC firms increasingly see the importance of design. The third annual Design in Tech Report examines how design trends are revolutionizing the entrepreneurial and corporate ecosystems in tech. This report covers related M&A activity, new patterns in creativity × business, and the rise of computational design.
Secret of body language by Ritesh GuptaRitesh Gupta
Understanding of body language is key to understand you Customer, Client, Managers , Colleagues and People around you
I develop this as my hobby since my childhood and I am an expert in this area.
Please read this PPT and feel free to ask questions. I am ready to guide it.
Congress seeks metrics for the NIST Cybersecurity FrameworkDavid Sweigert
Uploaded as a courtesy by:
Dave Sweigert
Legislation calling on the National Institute of Standards and Technology to develop outcome metrics to demonstrate the effectiveness of the NIST Cybersecurity Framework is scheduled to be considered - and likely amended - at a markup session of the House Science, Space and Technology Committee..
(1) IN GENERAL.—The Institute shall promote the implementation by Federal agencies of the Framework for Improving Critical Infrastructure Cybersecurity (in this section and section 20B referred to as the ‘Framework’) by providing to the Office of Management and Budget, the Office of Science and Technology Policy, and all other Federal agencies, not later than 6 months after the date of enactment of the NIST Cybersecurity Framework, Assessment, and Auditing Act of 2017, guidance that Federal agencies may use to incorporate the Framework into their information security risk management efforts, including practices related to compliance with chapter 35 of title 44, United States Code, and any other applicable Federal law.
TEDx Manchester: AI & The Future of WorkVolker Hirsch
TEDx Manchester talk on artificial intelligence (AI) and how the ascent of AI and robotics impacts our future work environments.
The video of the talk is now also available here: https://youtu.be/dRw4d2Si8LA
English Prefixes to Improve Your VocabularyKelly Tracy
English has many common word parts: prefixes, roots, and suffixes. If you learn some of these word parts, it will be easier for you to figure out the meanings of new words.
We can add a prefix to the beginning of a word to change its meaning.
White Paper: Legislation to Ensure Veterans’ Access to Mental Health Care Swords to Plowshares
Congress is currently developing and considering multiple bills to ensure that veterans with bad paper discharges who are experiencing mental heal issues can assess some treatment through Department of Veteran Affairs (VA) hospitals or clinics. This report presents some alternative or supplemental options for how Congress can most effectively achieve its expressed goal of ensuring that VA offers mental healthcare to veterans with bad paper discharges.
El Sr. Luis Rajmil fa un repàs a les conseqüències de la crisi econòmica i l'impacte sobre la salut, en especial sobre la salut infantil, i les desigualtats socials.
I. Purpose
The Johnson & Johnson Scholarship is intended to provide financial assistance of a matriculated student, rising sophomore or higher enrolled at a 4 year accredited college/university full time. The objective of this scholarship is to support students who are committed to their academic studies and demonstrate evidence of being a good citizen as stated in the Johnson & Johnson Credo.
II. Criteria/Eligibility
An applicant must be a matriculated student, rising sophomore or higher, enrolled at a 4 year accredited college/university working full time towards their undergraduate degree within the US. The scholarship committee will review completed applications and awards will be made on the basis of the following criteria:
• Proven academic performance – minimum cumulative GPA of 3.0
• Strong and consistent community involvement
• Currently enrolled in a STEM-related major (with emphasis on Info Technology)
• Past recipients of this scholarship are not eligible to apply
III. Award Description
The Johnson & Johnson Scholarship Committee will award $2,500 one-time only scholarships for a rising sophomore or higher of 4 year accredited college or university.
IV. Application Deadline
The completed application, typed essay, two letters of recommendation, official transcript, and resume must be received by the Johnson & Johnson Scholarship Committee, please scan and send all documents via email to RA-JJCUS-BDPA@its.jnj.com no later than Sunday, June 1, 2018. Only complete packets will be accepted. Please do not send multiple emails with various documents. It is the sole responsibility of the applicant to take the necessary action and precautions to insure that the completed application packet is received by the deadline.
Managed Print Services (MPS) goes beyond cost savings, transforming your organization in surprising new ways. Here’s 26 telltale signs that an MPS assessment can help your business.
Zero Suicide in Healthcare International Declaration (March 2016)David Covington
A diverse group of 50 peer leaders, government policy makers, and healthcare providers from 13 countries convened for Atlanta 2015: An International Declaration and Social Movement. Invited guests included “Zero Suicide” advocates and pioneers as well as others committed to suicide prevention and better healthcare.
App Store Optimization For Extreme Newbies (Do not read if you're on a diet!)AppTweak
Ever wondered what App Store Optimization is exactly?
Find out with this fun and easy presentation!
In this presentation, I (Laurie Galazzo, content strategist at AppTweak) actually tried to explain you, in the easiest way possible, how App Store Optimization works and why it is important to implement it in any App Marketing strategy.
Warning: contains explicit visual content that may offend people on a diet.
Share it with your friends if you liked it (or if you like cheeseburgers) and help everyone understand the importance of ASO!
Oh and also, if you have an app, discover its ASO report on www.apptweak.com. It has already been done! Don't believe me? See for yourself! www.apptweak.com
Thank you!
Laurie
Fighting Against Chaotically Separated Values with EmbulkSadayuki Furuhashi
We created a plugin-based data collection tool that can read any chaotically formatted files called "CSV" by guessing its schema automatically
Talked at csv,conf,v2 in Berlin
http://csvconf.com/
Debugging is an essential part of the Linux kernel development, but without the proper knowledge it can be quite challenging. In this talk, we will cover some techniques that will help you to study how the kernel works “under the hood”. We will see how to crash the kernel in many spectacular ways, how to analyze the crashes and how to hunt down new bugs, fix them and become a better kernel developer.
* История JRuby;
* Платформа JVM и ее возможности;
* Почему стоит попробовать JRuby;
* Как мы в Хот Спот используем JRuby для разработки;
* Сравнение с другими JVM языками.
JavaScript and popular programming paradigms (OOP, AOP, FP, DSL). Overview of the language to see what tools we can leverage to reduce complexity of our projects.
This part goes over language features and looks at OOP and AOP with JavaScript.
The presentation was delivered at ClubAJAX on 2/2/2010.
Blog post: http://lazutkin.com/blog/2010/feb/5/exciting-js-1/
Continued in Part II: http://www.slideshare.net/elazutkin/exciting-javascript-part-ii
Finally Java SE 7 is GA and you can start using it. This talk will cover the most important new features of the language and the virtual machine. It will also cover some features that did not make it in to the SE 7 release. Finally we will discuss current state of Java as an ecosystem and my analysis and hopes for the future.
The talk focuses on the processes and requirements to ship a software, which was written with MacRuby, to the end user. I present libraries and tools, that are helpful for this purpose and show how to use them.
ave time learning on your own. Start Building with React, MongoDB, Express, & Node. The MERN Stack.
Learning a new JavaScript framework is difficult. You can spend weeks learning new concepts. If an online example doesn’t work, you may spend countless hours Googling, searching Stack Overflow and blogs for the solution.
Take the fast track and learn from an experienced Senior Software Engineer and professional instructor!
About this Course
This highly interactive course features a large amount of student labs and hands-on coding. You will be taught how to assemble the complete stack required to build a modern web app using React.js, MongoDB (a NoSQL database) and Express (a framework for web application servers). This course will also cover many other tools that go into building a complete web application: React Router, React-Bootstrap, Redux, Babel, and Webpack.
What You Will Learn
• How to use modern JavaScript features
• Webpack
• Node & Express
• Reading and writing data to a MongoDB database
• Babel
• React
• State Management with Redux
• Mongoose
• And More!
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
6. New features
written in a release announcement
• Introduce hash table improvement (by Vladimir Makarov)
• Binding#irb: Start a REPL session similar to binding.pry
• Unify Fixnum and Bignum into Integer
• String supports Unicode case mappings
• Performance improvements
• Array#max, Array#min
• Regexp#match?
• speed up instance variable access
• Debugging
• Thread#report_on_exception and Thread.report_on_exception
• Thread deadlock detection now shows threads with their backtrace and dependency
• Other notable changes since 2.3
• Support OpenSSL 1.1.0 (drop support for 0.9.7 or prior)
• ext/tk is now removed from stdlib Feature #8539
• XMLRPC is now removed from stdlib Feature #12160
19. Issues
1. we need to clear
rb_control_frame_t::block_iseq for
every frame setup. It consumes space (a
VALUE for each frame) and initializing
time.
2. There are several block passing ways by
ISeq (iter{...}), Proc(iter(&pr)),
Symbol(iter(:sym)). However, they are
not optimized (for Symbol blocks, there
is only ad-hoc check code).
3. Env (and Proc, Binding) objects are not
WB-protected ([Bug #10212]).
Method dispatch (etc)
improvements
Cleanup src code
Improve GC perf.
22. WB protected or unprotected?
•Ruby 2.1.0 introduced Generational GC
•Only newer objects
•GenGC requires “Write barriers” (WB), but
MRI allows WB unprotected objects
(See my past presentations for details)
•WB protected objects: GenGC → Fast
•WB unprotected objects: Not GenGC → Slow
23. RubyVM::Env objects
•Env objects represent
captured local variables
•Each Proc or Binding has
at least one Env object
•Proc object “$pr”
consists of 3 Env objects
a = 1
1.times{|b|
1.times{|c|
$pr = Proc.new{
# you can access a, b, c
}
}
}
Proc
$pr
Env
c=0
Env
b=0
Env
a=1
27. Idea
Lightweight escape detection
•Move cfp->flags to ep[0]
•Introduce a VM_ENV_FLAG_ESCAPED flag to
represent escaped Env.
• // Before
#define VM_EP_IN_HEAP_P(th, ep) (!((th)->stack <= (ep) && (ep) < ((th)->stack + (th)->stack_size)))
• // After
#define VM_EP_IN_HEAP_P(ep) (ep[0] & VM_ENV_FLAG_ESCAPED)
28. Idea
Skip WB except really required timing
1. At initializing Env objects, VM_ENV_FLAG_WB_REQUIRED is true.
2. At first local variable assignment, VM_ENV_FLAG_WB_REQUIRED
is true, we remember this Env object forcibly. And turn off this
flag.
3. At next local variable assignment, VM_ENV_FLAG_WB_REQUIRED
is false, so we can ignore WB protection.
4. At GC marking for this Env object, we turn on
VM_ENV_FLAG_WB_REQUIRED and goto (2).
Very danger technique because it depends on GC implementation
29. Naïve code
#define VM_EP_IN_HEAP_P(th, ep) (!((th)->stack <= (ep)
&& (ep) < ((th)->stack + (th)->stack_size)))
vm_env_write(const VALUE *ep, int index, VALUE v) {
if (VM_EP_IN_HEAP_P(ep)) {
RB_OBJ_WRITE(VM_ENV_EP_ENVVAL(ep), ep-idx, val);
}
else {
*(ep - idx) = val;
}
}
30. Final code
vm_env_write(const VALUE *ep, int index, VALUE v) {
VALUE flags = ep[VM_ENV_DATA_INDEX_FLAGS];
if (LIKELY((flags & VM_ENV_FLAG_WB_REQUIRED) == 0)) {
*(ep - idx) = val; /* mostly used */
}
else {
/* remember env value forcibly */
vm_env_write_slowpath(ep, index, v);
}
}
32. Bug #10212 MRI is not for lambda calculus
lc_fizzbuzz with MRI versions
0
50
100
150
ruby_2_0 ruby_2_1 ruby_2_2 ruby_2_3 trunk
Executiontime(sec)
app_lc_fizzbuzz
33. Bug #10212 MRI is not for lambda calculus
lc_fizzbuzz with MRI, JRuby, mruby
36.976
18.706
40.185
0
10
20
30
40
50
trunk jruby mruby
Executiontime(sec)
app_lc_fizzbuzz
34. Summary
•Ruby 2.4.0 has many improvements
•Now Proc (Env) objects are WB protected
and we have more faster GC (marking)
•My ideas allow to protect Env objects
without big performance impact
35. Thank you for your attention
Koichi Sasada
<ko1@cookpad.com>