The secret of Release story discusses how Ruby is released and distributed to the world. It covers:
1. The Ruby core team which maintains and releases Ruby.
2. The release cycle and process which aims to release every Christmas with preview releases and backporting of fixes.
3. The *.ruby-lang.org domains which are controlled by Matz and host official Ruby resources like documentation, packages, and repositories.
4. Tools for installing Ruby from source like rbenv and ruby-build.
5. Experimental Ruby snap packages which package Ruby as self-contained binaries.
6. Plans to migrate the source code repository from Subversion to Git hosted on git.ruby-lang.org.
How to develop the Standard Libraries of Ruby?Hiroshi SHIBATA
I maintain the RubyGems, Bundler and the standard libraries of the Ruby language. So, I've been extract many of the standard libraries to default gems and GitHub at Ruby 3.0. But the some of libraries still remains in only Ruby repository. I will describe these situation.
How to develop the Standard Libraries of Ruby?Hiroshi SHIBATA
I maintain the RubyGems, Bundler and the standard libraries of the Ruby language. So, I've been extract many of the standard libraries to default gems and GitHub at Ruby 3.0. But the some of libraries still remains in only Ruby repository. I will describe these situation.
Leonid Vasilyev "Building, deploying and running production code at Dropbox"IT Event
Reproducible builds, fast and safe deployment process together with self-healing services form the basis of stable and maintainable infrastructure. In this talk I’d like to cover, from the Site Reliability Engineering (SRE) perspective, how Dropbox addresses above challenges, what technologies are used and what lessons were learnt during implementation process.
Deploying your rails application to a clean ubuntu 10Maurício Linhares
Learn how you can configure a new Ubuntu 10.04 machine to run your rails application with Nginx and Unicorn in a simple way including security setup and monit monitoring.
Automated Reports with Rstudio Server
Automated KPI reporting with Shiny Server
Process Validation Documentation with Jupyter Notebook
Automated Machine Learning with Dataiku
Similar to How to distribute Ruby to the world (20)
Long journey of Ruby Standard library at RubyKaigi 2024Hiroshi SHIBATA
Ruby has a lot of standard libraries from Ruby 1.8. I promote them democratically with GitHub today via default and bundled gems. So, I'm working to extract them for Ruby 3.4 continuously and future versions. It's long journey for me.
After that, some versions may suddenly happen LoadError at require when running bundle exec or bin/rails, for example matrix or net-smtp. We need to learn what's difference default/bundled gems with standard libraries.
In this presentation, I will introduce what's the difficult to extract bundled gems from default gems and the details of the functionality that Ruby's require and bundle exec with default/bundled gems. You can learn how handle your issue about standard libraries.
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
I will introduce what's the difficult to extract bundled gems from default gems and the details of the functionality that Ruby's require and bundle exec with default/bundled gems. You can learn how handle your issue about standard libraries.
Deep dive into Ruby's require - RubyConf Taiwan 2023Hiroshi SHIBATA
Since Ruby's bundled and default gems change every year with each release, some versions may suddenly happen LoadError at require when running bundle exec or bin/rails, for example matrix or net-smtp.
In this presentation, I will introduce the details of the functionality that extends Ruby's require to provide guidance to users on what they can do to load them. And I will also show how $LOAD_PATH is build behind Ruby and Rails by Bundler.
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
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
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/
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.
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
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
15. Ruby core backport model
trunk
ruby_2_4
ruby_2_3
trunk
ruby_2_4
ruby_2_3
We backport fixes to stable branch from trunk.
We do not merge fixes to trunk from stable branch
16. How do request to back port
We use to management
backport’s patch on
redmine with specific
rule.
• Write a revision
number to Title or
library version
• Set a status to
“close”
• Fill backport field to
“2.5:REQUIRED”
18. What’s Ruby CI
Ruby CI is a CI results collector for alternative
platforms
• https://rubyci.org
• https://github.com/ruby/rubyci
• https://github.com/ruby/chkbuild
Ruby CI goal is entirely supports all of Ruby
platform.
19.
20. Ruby CI resources
Ruby CI goal is entirely supports all of Ruby
platform. Ruby CI built by a lot of cloud platforms
(20-30 VMs)
• AWS
• Azure
• GCP
• DigitalOcean
• on-premise servers(macOS)
• opencsw(Solaris)
22. Release time
We build a tar packages from svn repository used
`tools/make-snapshot`. After that, We will put them
to ftp server.
We have announce following resources.
• https://www.ruby-lang.org (and RSS)
• Mailing-list: ruby-list (https://lists.ruby-lang.org)
• Twitter: @rubylangorg
24. Security release
We received reports about buffer overflow/
underflow, memory leak, directory traversal etc…
We hard to fix and release these security issue. so
all of release maintainer are volunteer work.
We have “security@ruby-lang.org” for security
report.
27. What does mean “official”?
“official” means “Matz controllable”
Un-controllable examples:
• ruby-doc.org
• rubygems.org
• bundler.io
• Ruby version manager(rvm/rbenv/chruby)
28. *.ruby-lang.org
www.ruby-lang.org
Official Website of Ruby language.
see http://github.com/ruby/www.ruby-lang.org
svn.ruby-lang.org
Main repository of Ruby source. (Not git !!!)
bugs.ruby-lang.org
Official issue tracker build by redmine.
29. *.ruby-lang.org
ftp.ruby-lang.org
Site of distribute official package
lists.ruby-lang.org
Site of Mailing-list and MX records.
docs.ruby-lang.org
Hosted document generated from RDoc on Ruby
source code and rubima project. Rubima project is
a Japanese Documentation about ruby languages.
30. CDN
Our site and package distribution were supported by
fastly.
• www.ruby-lang.org
• cache.ruby-lang.org
• docs.ruby-lang.org
Statistics of our CDN:
• Access ratio: USA: 44.6%, EU: 18.0%, Asia:
31.0%, Australia: 2.1%, Latin America: 3.7%,
South Africa: 0.04%
• Bandwidth: 7,203 GB/month
31. Sponsors of the Ruby language
• heroku:
Unlimited dyno resources for websites
• fastly:
OSS plan of CDN for *.ruby-lang.org
• NaCl:
Network and Compute resources for
website
• Microsoft:
Provides Azure environment
32. Sponsors of the Ruby language(2)
• Ruby Association:
Grant of development(for AWS and
Ruby CI)
• Nihon Ruby no Kai:
macOS Server * 2
Grant of development(for Windows
platform)
• Sugaya research laboratory:
Network resources for macOS Server
34. Source distributeion
Binary distribution
• Windows: RubyInstaller2
• Linux: apt/yum/dnf
brightbox/software collection
• macOS: System binaries/homebrew/MacPorts
Source distribution
• Package: cache.ruby-lang.org
• Source code: svn.ruby-lang.org or github
35. What’s difference source package and others
Package(*.tar.gz)
• Pre-build transcode
• Generate configure script
• Do not need gnu tools without complier like
autoconf, bison
Source
• Need to gnu tools
• Need to ruby :)
36. Start to build Ruby language from source
$ git clone https://github.com/ruby/ruby
$ cd ruby
$ autoconf
$ ./configure —disable-install-doc
$ make -j
$ make install
You can invoke language tests with the following
instructions:
37. Ruby package manager
RVM
• To support Binary installation
• Applied Custom patchset
• Automatic installation of latest rubygems and
bundler
rbenv/ruby-build
• Modify environment variables.
• I’m also maintain them
chruby/ruby-install
• Modify a few environment variables.
38. rbenv/ruby-build
You can get them from
• homebrew
• git clone
Basic instructions are:$ rbenv install 2.5.0
$ rbenv install 2.6.0-dev
$ RUBY_CONFIGURE_OPT=—disable-install-doc rbenv install 2.4.3
$ rbenv install jruby-9.1.16.0
$ RUBY_CONFIGURE_OPT= rbenv install rbx-3.89
40. What’s snap?
“Snaps are containerised software packages that
are simple to create and install. They auto-update
and are safe to run. And because they bundle their
dependencies, they work on all major Linux systems
without modification.”
• https://snapcraft.io/
41. What’s snap?
https://build.snapcraft.io/user/ruby/snap.ruby
• You can use the latest version of Ruby like
2.5.1 without ruby version manager like
RVM/rbenv/chruby
• It package contained bundler gem, You can
use it without `gem install bundler`
• You can keep to clean your linux
environment.
42. Deep dive in Ruby snap.
$ which -a ruby
/snap/bin/ruby
$ ls /snap/bin/
ruby ruby.bundle ruby.gem ruby.irb ruby.rake ruby.rdoc ruby.ri
$ ls -lA /snap/bin/ruby
lrwxrwxrwx 1 root root 13 Apr 24 12:41 /snap/bin/ruby -> /usr/bin/snap
$ ls /snap/ruby/current
bin command-irb.wrapper command-ri.wrapper lib snap
command-bundle.wrapper command-rake.wrapper command-ruby.wrapper meta
command-gem.wrapper command-rdoc.wrapper include share
$ cat /snap/ruby/current/command-ruby.wrapper
#!/bin/sh
exec “$SNAP/bin/ruby” "$@"
43. Current Status
https://github.com/ruby/snap.ruby
• Ruby snap is `candidate` status yet.
• We need to test for production usage. But
We still have some issues about building
native extension.
• After `stable` release, You can use Ruby
binary of stable release in Linux via Snap.
To be continued…
45. git.ruby-lang.org
It’s available under the ruby-lang.org now!!!
https://git.ruby-lang.org
• It’s READONLY
• It’s built by cgit web interface,
• It’s integrated with redmine
• It’s still experimental status. I’m preparing to it
now.
46.
47. What’s issues of migration of Git
Issue Tracker:
• Redmine on Heroku couldn’t use git repository.
Strategy
• How migrate git or github from svn (now
resolved!)
Toolchain:
• Packaging script depends on Subversion
repository and API.
48. Where do we go from here?
1. We migrate a toolchain like package script to git
from svn.
2. We will ship ruby package from git.ruby-
lang.org.
3. We will accept write commit on git.ruby-
lang.org.
4. We will accept to merge pull-request on GitHub
and sync them to git.ruby-lang.org (final goal)
49. Executive Officer CPO(Chief Productivity Officer)
Director of Business Process Re-engineering Office
at GMO Pepabo, Inc. @pepabo
Hiroshi SHIBATA @hsbt
https://www.hsbt.org