This is my presentation in RubyConf 2011, 30th Octobar 2011,New Orleans in the U.S.
Abstract:
MacRuby is an implementation of Ruby 1.9 that is built directly on top of Mac OS X core technologies. Recently, MacRuby has become viable as a tool for developing useful desktop applications for Mac OS X. However, as of March 2011, MacRuby is still missing some functionality that is present in cRuby. Therefore, MacRuby is not able to run Ruby on Rails. In my presentation, I will explain how I modified MacRuby to make it a suitable foundation for running Rails. I would also like to explain some of the technical intricacies that I discovered along the way.
RubyConf 2011:
http://rubyconf.org/
Presentation given at the Scottish Ruby Conference 2010. It was mainly a practical demo, so please watch the video at http://video2010.scottishrubyconference.com/show_video/9/1
MacRuby is a Ruby implementation for Mac OS X that allows Ruby code to be seamlessly integrated with Cocoa and Objective-C. It is based on Ruby 1.9 and includes the standard library, parser, Objective-C runtime, and garbage collection integrated with the Mac OS runtime environment. MacRuby allows Ruby code to access and control native Mac OS APIs like Cocoa and Grand Central Dispatch.
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.
The document discusses the roadmap for integrating RubyGems and Bundler, including gemifying standard Ruby libraries for Ruby 3. Key points include:
1) RubyGems and Bundler repositories and teams have been merged into a monorepo to more closely integrate the projects.
2) The roadmap includes releasing RubyGems and Bundler versions simultaneously and potentially bumping to RubyGems 4.0 synchronized with Ruby 3.
3) Standard libraries will be extracted to default gems for Ruby 3, aiming to publish all to default gems except those using internal APIs.
4) Issues around dependency resolution and versioning of default gems need to be addressed in the integration.
The document discusses how the Ruby programming language is developed and released. It describes the Ruby core team and committers, release cycles, backporting fixes, testing on various platforms via Ruby CI, packaging and distributing releases, handling security issues, and the *.ruby-lang.org domains. It also discusses moving the source code repository from Subversion to Git and migrating development tools and processes.
The Future of library dependency manageement of RubyHiroshi SHIBATA
The document discusses the integration of package ecosystems in Ruby. It covers RubyGems and Bundler, which are used to manage library dependencies in Ruby projects. The document outlines challenges with bundler integration and the roadmap for improvements in RubyGems 4.0, Bundler 2.1, and features coming in Ruby 3.0 like pattern matching and gamification of standard libraries.
Hiroshi Shibata gave a presentation on Ruby, RubyGems, and Bundler. He discussed his work on the Ruby core team maintaining Ruby versions like 2.6. He then covered updates to RubyGems including version 3 and the upcoming version 4. Finally, he talked about Bundler 2 and efforts to better integrate RubyGems and Bundler.
The document discusses integrating the Bundler dependency manager into the Ruby programming language core. It covers the benefits of integrating Bundler, such as allowing developers to manage library dependencies directly within Ruby projects. It also discusses challenges faced in integrating Bundler, like ensuring Bundler test suites work properly within the Ruby core codebase. The author details steps taken to start merging Bundler code into Ruby, including adding a "make test-bundler" command to run Bundler tests during development.
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.
ZK is a model-view-controller framework for building desktop-like web applications using ZUML, ZScript, and Java. It uses a servlet-based architecture where ZK Loader handles initial page loads and the AU Engine handles AJAX requests. The ZK library is included in the webapp and generates the necessary folder structure and files. Developers define the web application using ZUML and deploy it by copying the compiled files into Tomcat's webapps folder.
RubyGems is the package manager for Ruby libraries. Hiroshi Shibata discussed recent changes to RubyGems 3 and 4, as well as integration efforts between RubyGems and Bundler. Key points included making the conservative option default in RubyGems 4, installing gems to the user directory by default, and resolving incompatibilities between dependency resolvers in RubyGems and Bundler. The team is working to merge code bases and integrate command line interfaces.
1. The document discusses RubyGems, Bundler, and rbenv/ruby-build. It provides an overview of each tool's purpose and history.
2. RubyGems is the package manager for Ruby libraries. Bundler is a tool for managing dependencies of Ruby applications. Rbenv/ruby-build allow managing multiple Ruby versions and building Ruby.
3. The document outlines plans to further integrate RubyGems and Bundler, but notes Bundler 2 has not yet been released, which is needed for full integration. Security improvements have also been made to RubyGems.
tDiary annual report 2009 - Sapporo Ruby Kaigi02Hiroshi SHIBATA
This document is the annual report for 2009 of tDiary, an open-source web diary application built using Ruby. It discusses updates made to tDiary in 2009, including releasing version 2.3.2 which added compatibility with Ruby 1.9, as well as plans for future versions including adopting testing frameworks like RSpec and Cucumber, migrating to use the Rack middleware interface, and adding support for XML-RPC and Atom/PubSubHubbub. It also promotes involvement with the tDiary project on GitHub and in the Japanese Ruby community.
1. The first step of package management integration discusses integrating Bundler into RubyGems to provide bundled gems as the default package management solution.
2. What's happened in Ruby 2.6 discusses updates to RubyGems 3 and Bundler 2 that dropped support for older Ruby versions and integrated Bundler fully into Ruby 2.6 as the default package manager.
3. BugMash after releasing Ruby 2.6 summarizes issues that came up after Ruby 2.6's release regarding path injection problems with LOAD_PATH, invalid gemspec generation by the installer, and Bundler version switching on Heroku.
1. The document discusses security topics related to Ruby including defining vulnerabilities, triage policies, and the RubyGems.org workflow.
2. It describes how vulnerabilities are reported and coordinated between developers, and outlines the process of code fixes, releases, and disclosure.
3. Recent attacks on RubyGems.org are reviewed, highlighting account hijacking and typo squatting issues. Solutions discussed include not reusing passwords, using strong unique passwords, and enabling two-factor authentication.
The document discusses invokedynamic, a new bytecode introduced in Java 7 that allows for user-definable bytecode behavior. It provides more flexibility compared to the traditional bytecode instructions like invokevirtual. invokedynamic calls a bootstrap method that prepares a CallSite object and MethodHandle to invoke the target method. This allows dynamic dispatch, fast method pointers, and optimizable behavior like normal Java code. The document includes examples of using invokedynamic to implement dynamic language features and define new domain-specific languages.
JRuby allows running Ruby code on the Java Virtual Machine. It has the advantages of accessing Java libraries from Ruby and embedding Ruby in Java applications. Gems mostly work the same in JRuby as Ruby MRI, though some with native extensions may need alternatives. ActiveRecord can use JDBC drivers in JRuby to connect to databases. Converting Rails apps may require updating gems to specify platforms. JRuby is well-suited for deployment on Java application servers using WAR files generated by the Warbler gem.
JRuby is a 100% Java implementation of Ruby that runs on the Java Virtual Machine. It allows Ruby code to leverage features of the JVM like native threading, Unicode support, and scalability. JRuby code can interact with Java classes and libraries. It can run Ruby code in interpret, just-in-time compile, or ahead-of-time compile modes for improved performance. Several large applications and frameworks use JRuby in production.
This document discusses various topics related to developing Ruby, including Ruby core policy and development process. It provides guidance on how to properly submit issues and pull requests to the Ruby core team, such as using Redmine for reporting issues rather than Twitter or blogs, and providing a clear use case and sample code. It also outlines the Ruby release planning process.
The document discusses migrating from a legacy Ruby on Rails application to a newer version of Rails. It provides examples of performance improvements when upgrading Ruby from 1.8.6 to 2.1.1 and Rails from 2.0 to 4.1. It also discusses strategies for migrating codebases while maintaining zero downtime deployments.
Adventures of java developer in ruby worldOrest Ivasiv
This document provides an overview of the speaker's experience transitioning from Java to Ruby. It includes an agenda covering the speaker's background, project issues that led to choosing Ruby, a brief history of Ruby, examples of early debates between Ruby and other languages, and a review of the Ruby ecosystem including implementations, tools, testing, debugging, and community aspects.
This document summarizes the key points in migrating a legacy Rails 2.0 application to a newer version of Rails. It discusses upgrading to Rails 2.3 first to address compatibility issues. Then it recommends upgrading to Ruby 2.1 and Rails 4.1 to get performance improvements from the language and framework updates. Various techniques are presented for the migration process such as running the newer versions in production gradually.
Hiroshi SHIBATA presented on OSS security at the builderscon 2019 conference. The presentation covered:
1. How Ruby handles releases on a regular schedule and processes for stable and development versions.
2. Policies for triaging vulnerabilities based on impact and developing workflow for coordinated security releases.
3. Recent attacks targeting RubyGems where malicious gems were uploaded by hijacking developer accounts or registering typosquatted gems.
4. Steps users can take to improve security like using strong unique passwords, enabling two-factor authentication, and being wary of code injections in gem installations or native extensions.
Future of Ruby standard libraries will focus on gemification. Standard libraries will be extracted out of the Ruby core repository and maintained as default gems or bundled gems in GitHub repositories. This allows libraries to be updated independently of Ruby releases and more easily accept contributions. While this approach has benefits, it also has challenges around maintaining compatibility and complex dependencies. The process of gemification will be gradual to reduce the size of changes.
The document appears to be a collection of messages and links posted on a forum discussing various programming languages and parallel computing topics, including threads, actors, and memory walls. References are made to languages and technologies like Erlang, Go, Java, Haskell, and Intel's Single-Chip Cloud Computer. The posts also discuss parallelism approaches on different platforms and applications of parallel programming.
The document discusses IBM Lotus Traveler High Availability in three sentences:
IBM Lotus Traveler 8.5.3 Upgrade Pack 1 introduces high availability functionality that allows Traveler servers to be run in a pooled configuration sharing a backend SQL database for storage. This provides load balancing and failover capabilities. The document reviews the requirements, installation, and administration of the high availability functionality.
Slides from the keynote held at the Ruby Social Club Milano by one of our developers and presenting an outlook of four Ruby on Rails plugin spinned off the web site and released as Open Source on GitHub.
Please visit http://panmind.org/ and http://github.com/Panmind for more information about the site and the released code.
Sharing is caring! :-)
Hiroshi Shibata gave a presentation on Ruby, RubyGems, and Bundler. He discussed his work on the Ruby core team maintaining Ruby versions like 2.6. He then covered updates to RubyGems including version 3 and the upcoming version 4. Finally, he talked about Bundler 2 and efforts to better integrate RubyGems and Bundler.
The document discusses integrating the Bundler dependency manager into the Ruby programming language core. It covers the benefits of integrating Bundler, such as allowing developers to manage library dependencies directly within Ruby projects. It also discusses challenges faced in integrating Bundler, like ensuring Bundler test suites work properly within the Ruby core codebase. The author details steps taken to start merging Bundler code into Ruby, including adding a "make test-bundler" command to run Bundler tests during development.
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.
ZK is a model-view-controller framework for building desktop-like web applications using ZUML, ZScript, and Java. It uses a servlet-based architecture where ZK Loader handles initial page loads and the AU Engine handles AJAX requests. The ZK library is included in the webapp and generates the necessary folder structure and files. Developers define the web application using ZUML and deploy it by copying the compiled files into Tomcat's webapps folder.
RubyGems is the package manager for Ruby libraries. Hiroshi Shibata discussed recent changes to RubyGems 3 and 4, as well as integration efforts between RubyGems and Bundler. Key points included making the conservative option default in RubyGems 4, installing gems to the user directory by default, and resolving incompatibilities between dependency resolvers in RubyGems and Bundler. The team is working to merge code bases and integrate command line interfaces.
1. The document discusses RubyGems, Bundler, and rbenv/ruby-build. It provides an overview of each tool's purpose and history.
2. RubyGems is the package manager for Ruby libraries. Bundler is a tool for managing dependencies of Ruby applications. Rbenv/ruby-build allow managing multiple Ruby versions and building Ruby.
3. The document outlines plans to further integrate RubyGems and Bundler, but notes Bundler 2 has not yet been released, which is needed for full integration. Security improvements have also been made to RubyGems.
tDiary annual report 2009 - Sapporo Ruby Kaigi02Hiroshi SHIBATA
This document is the annual report for 2009 of tDiary, an open-source web diary application built using Ruby. It discusses updates made to tDiary in 2009, including releasing version 2.3.2 which added compatibility with Ruby 1.9, as well as plans for future versions including adopting testing frameworks like RSpec and Cucumber, migrating to use the Rack middleware interface, and adding support for XML-RPC and Atom/PubSubHubbub. It also promotes involvement with the tDiary project on GitHub and in the Japanese Ruby community.
1. The first step of package management integration discusses integrating Bundler into RubyGems to provide bundled gems as the default package management solution.
2. What's happened in Ruby 2.6 discusses updates to RubyGems 3 and Bundler 2 that dropped support for older Ruby versions and integrated Bundler fully into Ruby 2.6 as the default package manager.
3. BugMash after releasing Ruby 2.6 summarizes issues that came up after Ruby 2.6's release regarding path injection problems with LOAD_PATH, invalid gemspec generation by the installer, and Bundler version switching on Heroku.
1. The document discusses security topics related to Ruby including defining vulnerabilities, triage policies, and the RubyGems.org workflow.
2. It describes how vulnerabilities are reported and coordinated between developers, and outlines the process of code fixes, releases, and disclosure.
3. Recent attacks on RubyGems.org are reviewed, highlighting account hijacking and typo squatting issues. Solutions discussed include not reusing passwords, using strong unique passwords, and enabling two-factor authentication.
The document discusses invokedynamic, a new bytecode introduced in Java 7 that allows for user-definable bytecode behavior. It provides more flexibility compared to the traditional bytecode instructions like invokevirtual. invokedynamic calls a bootstrap method that prepares a CallSite object and MethodHandle to invoke the target method. This allows dynamic dispatch, fast method pointers, and optimizable behavior like normal Java code. The document includes examples of using invokedynamic to implement dynamic language features and define new domain-specific languages.
JRuby allows running Ruby code on the Java Virtual Machine. It has the advantages of accessing Java libraries from Ruby and embedding Ruby in Java applications. Gems mostly work the same in JRuby as Ruby MRI, though some with native extensions may need alternatives. ActiveRecord can use JDBC drivers in JRuby to connect to databases. Converting Rails apps may require updating gems to specify platforms. JRuby is well-suited for deployment on Java application servers using WAR files generated by the Warbler gem.
JRuby is a 100% Java implementation of Ruby that runs on the Java Virtual Machine. It allows Ruby code to leverage features of the JVM like native threading, Unicode support, and scalability. JRuby code can interact with Java classes and libraries. It can run Ruby code in interpret, just-in-time compile, or ahead-of-time compile modes for improved performance. Several large applications and frameworks use JRuby in production.
This document discusses various topics related to developing Ruby, including Ruby core policy and development process. It provides guidance on how to properly submit issues and pull requests to the Ruby core team, such as using Redmine for reporting issues rather than Twitter or blogs, and providing a clear use case and sample code. It also outlines the Ruby release planning process.
The document discusses migrating from a legacy Ruby on Rails application to a newer version of Rails. It provides examples of performance improvements when upgrading Ruby from 1.8.6 to 2.1.1 and Rails from 2.0 to 4.1. It also discusses strategies for migrating codebases while maintaining zero downtime deployments.
Adventures of java developer in ruby worldOrest Ivasiv
This document provides an overview of the speaker's experience transitioning from Java to Ruby. It includes an agenda covering the speaker's background, project issues that led to choosing Ruby, a brief history of Ruby, examples of early debates between Ruby and other languages, and a review of the Ruby ecosystem including implementations, tools, testing, debugging, and community aspects.
This document summarizes the key points in migrating a legacy Rails 2.0 application to a newer version of Rails. It discusses upgrading to Rails 2.3 first to address compatibility issues. Then it recommends upgrading to Ruby 2.1 and Rails 4.1 to get performance improvements from the language and framework updates. Various techniques are presented for the migration process such as running the newer versions in production gradually.
Hiroshi SHIBATA presented on OSS security at the builderscon 2019 conference. The presentation covered:
1. How Ruby handles releases on a regular schedule and processes for stable and development versions.
2. Policies for triaging vulnerabilities based on impact and developing workflow for coordinated security releases.
3. Recent attacks targeting RubyGems where malicious gems were uploaded by hijacking developer accounts or registering typosquatted gems.
4. Steps users can take to improve security like using strong unique passwords, enabling two-factor authentication, and being wary of code injections in gem installations or native extensions.
Future of Ruby standard libraries will focus on gemification. Standard libraries will be extracted out of the Ruby core repository and maintained as default gems or bundled gems in GitHub repositories. This allows libraries to be updated independently of Ruby releases and more easily accept contributions. While this approach has benefits, it also has challenges around maintaining compatibility and complex dependencies. The process of gemification will be gradual to reduce the size of changes.
The document appears to be a collection of messages and links posted on a forum discussing various programming languages and parallel computing topics, including threads, actors, and memory walls. References are made to languages and technologies like Erlang, Go, Java, Haskell, and Intel's Single-Chip Cloud Computer. The posts also discuss parallelism approaches on different platforms and applications of parallel programming.
The document discusses IBM Lotus Traveler High Availability in three sentences:
IBM Lotus Traveler 8.5.3 Upgrade Pack 1 introduces high availability functionality that allows Traveler servers to be run in a pooled configuration sharing a backend SQL database for storage. This provides load balancing and failover capabilities. The document reviews the requirements, installation, and administration of the high availability functionality.
Slides from the keynote held at the Ruby Social Club Milano by one of our developers and presenting an outlook of four Ruby on Rails plugin spinned off the web site and released as Open Source on GitHub.
Please visit http://panmind.org/ and http://github.com/Panmind for more information about the site and the released code.
Sharing is caring! :-)
Liquibase - Zarządzanie zmianami w relacyjnych bazach danychMarcinStachniuk
Prezentacja wygłoszona na Wrocławskim JUGu 30 września 2015. Prezentacja opisuje w jaki sposób można zarządzać zmianami w relacyjnych bazach danych i jak ten problem rozwiązuje Liquibase.
A session describing how and why is possible to do professional security penetration testing solely using free software code and tools. We will be showcasing some of this tools and having a conversation to see how we can make this tools succeed in the field, come up with new ideas and maybe a project we can work on during the year for the intention to promote free software in the redteam security field.
A brief history of hacker ethics on computer and software hacking, why both communities have the same roots and were are they now.
Developing Cocoa Applications with macRubyBrendan Lim
This document provides an outline for a presentation on developing Cocoa applications with MacRuby. Some key points include:
- MacRuby allows developing desktop applications on Mac OS X using the Ruby language while still leveraging the Cocoa frameworks.
- It provides a way to write Ruby code that interacts directly with Objective-C and Cocoa with no translation layer, unlike RubyCocoa.
- Examples are shown of how basic Ruby constructs like strings and arrays map directly to their Objective-C counterparts like NSString and NSMutableArray in MacRuby.
- Tools like Xcode, Interface Builder, and Instruments can still be used for MacRuby application development. The HotCocoa library provides a simpler way to build user
This document provides an overview of the core dependencies and additional tools needed for Ruby on Rails development. The core dependencies include Ruby, Ruby Gems, and Rails, which is distributed as a Ruby gem. Additional recommended tools include a database like SQLite, a terminal or IDE for command line access, Git for source control, the Rake gem for tasks, test frameworks like RSpec, and Heroku for deployment. Setting up these dependencies and tools provides the basic toolbox for developing Ruby on Rails applications.
The document discusses TorqueBox, an application server for Ruby applications that runs on JBoss Application Server and JRuby. It provides an overview of TorqueBox and how to set it up, including downloading TorqueBox, setting environment variables, installing required gems, and using Rake tasks to run and deploy applications. Deploying applications with TorqueBox generates deployment descriptors in the JBoss deploy directory.
This document discusses plans for standard Ruby libraries and gemification. It introduces the classifications of standard, default, and bundled libraries. It outlines pros and cons of extracting libraries to gems. The author details their work transferring reserved gems on Rubygems and overriding standard libraries. They propose promoting all standard libraries to default gems and removing Rubygems dependencies from default gems for Ruby 3.0 to reduce package size. Integrating Bundler into the Ruby core by Ruby 3.0 is also discussed.
The document summarizes aspects of developing and maintaining the Ruby programming language, including its core team members, development resources, issue tracking process, testing procedures, release management, and security practices. The Ruby core team consists of around 90 committers and branch maintainers who work on various parts of the codebase. Development resources include build servers, documentation hosting, package distribution, and funding from various sponsors. Feature requests require use cases, attached patches, and approval from the project leader Matz. Releases aim to occur yearly on Christmas and follow a branch model with backported fixes. Security issues present ongoing challenges.
This document provides information about setting up Ruby on Mac OS X. It discusses using Homebrew to install Ruby and manage versions. It also mentions using RVM (Ruby Version Manager) as an alternative to Homebrew for installing and managing multiple Ruby environments and versions. Finally, it provides some examples of using the ruby, irb and gem commands once Ruby is installed.
This talk provides a number of step-by-step examples that illustrate different ways in which Rails applications can interact effectively with third-party Java libraries. The presentation shows how developers can leverage JRuby to augment Rails applications with the mature, third-party libraries that are widely available in the Java world.
Ruby on Rails is a full-stack web framework for building web applications using the Ruby programming language. It provides tools for rapid website development including common CRUD (create, read, update, delete) functionality. While initially popular, Ruby on Rails has faced some criticisms including that it is not truly a framework or language. There are multiple virtual machines that can run Ruby code including MRI, JRuby, and IronRuby. Ruby on Rails applications can be easily deployed on platforms like Apache, Heroku, and Google App Engine.
Here are the changes to the people index view:
<h1>My Class List</h1>
<% @people.each do |person| %>
<p><%= person.first_name[0] %>. <%= person.last_name %></p>
<% end %>
An overview of Ruby, jRuby, Rails, Torquebox, and PostgreSQL that was presented as a 3 hour class to other programmers at The Ironyard (http://theironyard.com) in Greenville, SC in July of 2013. The Rails specific sections are mostly code samples that were explained during the session so the real focus of the slides is Ruby, "the rails way" / workflow / differentiators and PostgreSQL.
JRuby is a Ruby implementation that runs on the Java Virtual Machine (JVM). It allows Ruby code to leverage Java libraries and deployment options like WAR files. JRuby code is compiled to JVM bytecode, enabling features like multithreading and just-in-time compilation for performance. While C extensions and startup time are drawbacks, JRuby provides advantages for Java interoperability, threading, and deployment in Java environments.
This document summarizes a presentation on JRuby given by Koichiro Ohba. It discusses JRuby's current state, upcoming features, and demos. Key points include:
- JRuby 1.1.5 was recently released with improved performance and compatibility.
- JRuby 1.1.6RC1 is available and fixes many bugs while adding support for the Ruby 1.9 parser.
- The GlassFish gem allows running Ruby on Rails and other web frameworks on the GlassFish application server.
- A demo shows Redmine running on GlassFish using the GlassFish gem.
The Future of library dependency management of RubyHiroshi SHIBATA
The document discusses the integration of package management in Ruby. It provides an overview of RubyGems and Bundler, the two main tools for managing library dependencies in Ruby. It also outlines the roadmap for further integrating RubyGems and Bundler, including merging RubyGems 3.2 into Ruby 2.8 and moving Bundler's canonical repository to RubyGems.org. Additionally, it discusses challenges around dependency resolution compatibility and activation of default gems between different versions of RubyGems and Bundler.
Code for Startup MVP (Ruby on Rails) Session 1Henry S
This document provides an agenda and overview for a workshop on learning to code for startup MVPs using Ruby on Rails. The agenda covers reviewing a previous session, learning Ruby basics like syntax and semantics through practice, and introducing Rails models using ORM and SQL. It also provides instructions for setting up development environments on Windows, Mac, and Linux systems, installing Git for version control, and an overview of concepts covered in the previous session like the web architecture, Git/GitHub, Rails and Ruby, and deploying to Heroku.
This document discusses using Java from Ruby with JRuby IRB. It provides an introduction to JRuby and demonstrates how to load Java support and libraries, import Java classes, refer to and instantiate Java objects, implement Java interfaces, call static methods and fields, perform type conversions, invoke overloaded methods, and gives a complex example using the Akka framework to calculate Pi. It also discusses Maven integration, directory layout, and testing frameworks like RSpec and Cucumber that can be used.
The Throwdown will begin shortly and feature presentations from Aaron Patterson on the history of MRI Ruby and Nick Sieger and Brian Ford on the histories of JRuby and Rubinius respectively. The agenda will cover introductions and histories, ecosystems, tooling, concurrency, Windows support, deployment strategies and a Q&A session. Key differences discussed include MRI's C extension support, JRuby's access to Java libraries, and Rubinius' custom VM and JIT compiler.
Ruby 1.8: you may think you know, but do you really? During this period its history and recent updates, plus a view for its future is illustrated to provide you a deeper look at what Ruby is, and where it goes.
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Aqusag Technologies
In late April 2025, a significant portion of Europe, particularly Spain, Portugal, and parts of southern France, experienced widespread, rolling power outages that continue to affect millions of residents, businesses, and infrastructure systems.
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Impelsys Inc.
Impelsys provided a robust testing solution, leveraging a risk-based and requirement-mapped approach to validate ICU Connect and CritiXpert. A well-defined test suite was developed to assess data communication, clinical data collection, transformation, and visualization across integrated devices.
AI and Data Privacy in 2025: Global TrendsInData Labs
In this infographic, we explore how businesses can implement effective governance frameworks to address AI data privacy. Understanding it is crucial for developing effective strategies that ensure compliance, safeguard customer trust, and leverage AI responsibly. Equip yourself with insights that can drive informed decision-making and position your organization for success in the future of data privacy.
This infographic contains:
-AI and data privacy: Key findings
-Statistics on AI data privacy in the today’s world
-Tips on how to overcome data privacy challenges
-Benefits of AI data security investments.
Keep up-to-date on how AI is reshaping privacy standards and what this entails for both individuals and organizations.
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, presentation slides, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxJustin Reock
Building 10x Organizations with Modern Productivity Metrics
10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’
Right now, here in early 2025, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience. It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity philosophies to go alongside them.
But which of these approaches actually work? DORA? SPACE? DevEx? What should we invest in and create urgency behind today, so that we don’t find ourselves having the same discussion again in a decade?
Dev Dives: Automate and orchestrate your processes with UiPath MaestroUiPathCommunity
This session is designed to equip developers with the skills needed to build mission-critical, end-to-end processes that seamlessly orchestrate agents, people, and robots.
📕 Here's what you can expect:
- Modeling: Build end-to-end processes using BPMN.
- Implementing: Integrate agentic tasks, RPA, APIs, and advanced decisioning into processes.
- Operating: Control process instances with rewind, replay, pause, and stop functions.
- Monitoring: Use dashboards and embedded analytics for real-time insights into process instances.
This webinar is a must-attend for developers looking to enhance their agentic automation skills and orchestrate robust, mission-critical processes.
👨🏫 Speaker:
Andrei Vintila, Principal Product Manager @UiPath
This session streamed live on April 29, 2025, 16:00 CET.
Check out all our upcoming Dev Dives sessions at https://community.uipath.com/dev-dives-automation-developer-2025/.
Procurement Insights Cost To Value Guide.pptxJon Hansen
Procurement Insights integrated Historic Procurement Industry Archives, serves as a powerful complement — not a competitor — to other procurement industry firms. It fills critical gaps in depth, agility, and contextual insight that most traditional analyst and association models overlook.
Learn more about this value- driven proprietary service offering here.
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxshyamraj55
We’re bringing the TDX energy to our community with 2 power-packed sessions:
🛠️ Workshop: MuleSoft for Agentforce
Explore the new version of our hands-on workshop featuring the latest Topic Center and API Catalog updates.
📄 Talk: Power Up Document Processing
Dive into smart automation with MuleSoft IDP, NLP, and Einstein AI for intelligent document workflows.
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc
Most consumers believe they’re making informed decisions about their personal data—adjusting privacy settings, blocking trackers, and opting out where they can. However, our new research reveals that while awareness is high, taking meaningful action is still lacking. On the corporate side, many organizations report strong policies for managing third-party data and consumer consent yet fall short when it comes to consistency, accountability and transparency.
This session will explore the research findings from TrustArc’s Privacy Pulse Survey, examining consumer attitudes toward personal data collection and practical suggestions for corporate practices around purchasing third-party data.
Attendees will learn:
- Consumer awareness around data brokers and what consumers are doing to limit data collection
- How businesses assess third-party vendors and their consent management operations
- Where business preparedness needs improvement
- What these trends mean for the future of privacy governance and public trust
This discussion is essential for privacy, risk, and compliance professionals who want to ground their strategies in current data and prepare for what’s next in the privacy landscape.
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfAbi john
Analyze the growth of meme coins from mere online jokes to potential assets in the digital economy. Explore the community, culture, and utility as they elevate themselves to a new era in cryptocurrency.
Quantum Computing Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
Spark is a powerhouse for large datasets, but when it comes to smaller data workloads, its overhead can sometimes slow things down. What if you could achieve high performance and efficiency without the need for Spark?
At S&P Global Commodity Insights, having a complete view of global energy and commodities markets enables customers to make data-driven decisions with confidence and create long-term, sustainable value. 🌍
Explore delta-rs + CDC and how these open-source innovations power lightweight, high-performance data applications beyond Spark! 🚀
Generative Artificial Intelligence (GenAI) in BusinessDr. Tathagat Varma
My talk for the Indian School of Business (ISB) Emerging Leaders Program Cohort 9. In this talk, I discussed key issues around adoption of GenAI in business - benefits, opportunities and limitations. I also discussed how my research on Theory of Cognitive Chasms helps address some of these issues
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungenpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-und-verwaltung-von-multiuser-umgebungen/
HCL Nomad Web wird als die nächste Generation des HCL Notes-Clients gefeiert und bietet zahlreiche Vorteile, wie die Beseitigung des Bedarfs an Paketierung, Verteilung und Installation. Nomad Web-Client-Updates werden “automatisch” im Hintergrund installiert, was den administrativen Aufwand im Vergleich zu traditionellen HCL Notes-Clients erheblich reduziert. Allerdings stellt die Fehlerbehebung in Nomad Web im Vergleich zum Notes-Client einzigartige Herausforderungen dar.
Begleiten Sie Christoph und Marc, während sie demonstrieren, wie der Fehlerbehebungsprozess in HCL Nomad Web vereinfacht werden kann, um eine reibungslose und effiziente Benutzererfahrung zu gewährleisten.
In diesem Webinar werden wir effektive Strategien zur Diagnose und Lösung häufiger Probleme in HCL Nomad Web untersuchen, einschließlich
- Zugriff auf die Konsole
- Auffinden und Interpretieren von Protokolldateien
- Zugriff auf den Datenordner im Cache des Browsers (unter Verwendung von OPFS)
- Verständnis der Unterschiede zwischen Einzel- und Mehrbenutzerszenarien
- Nutzung der Client Clocking-Funktion
Role of Data Annotation Services in AI-Powered ManufacturingAndrew Leo
From predictive maintenance to robotic automation, AI is driving the future of manufacturing. But without high-quality annotated data, even the smartest models fall short.
Discover how data annotation services are powering accuracy, safety, and efficiency in AI-driven manufacturing systems.
Precision in data labeling = Precision on the production floor.
TrsLabs - Fintech Product & Business ConsultingTrs Labs
Hybrid Growth Mandate Model with TrsLabs
Strategic Investments, Inorganic Growth, Business Model Pivoting are critical activities that business don't do/change everyday. In cases like this, it may benefit your business to choose a temporary external consultant.
An unbiased plan driven by clearcut deliverables, market dynamics and without the influence of your internal office equations empower business leaders to make right choices.
Getting things done within a budget within a timeframe is key to Growing Business - No matter whether you are a start-up or a big company
Talk to us & Unlock the competitive advantage
What is Model Context Protocol(MCP) - The new technology for communication bw...Vishnu Singh Chundawat
The MCP (Model Context Protocol) is a framework designed to manage context and interaction within complex systems. This SlideShare presentation will provide a detailed overview of the MCP Model, its applications, and how it plays a crucial role in improving communication and decision-making in distributed systems. We will explore the key concepts behind the protocol, including the importance of context, data management, and how this model enhances system adaptability and responsiveness. Ideal for software developers, system architects, and IT professionals, this presentation will offer valuable insights into how the MCP Model can streamline workflows, improve efficiency, and create more intuitive systems for a wide range of use cases.
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025BookNet Canada
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, transcript, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
2. Ruby Version Manager
• Multiple Ruby versions (compiled) and
installed in parallel
• Each Ruby version has its own
environment, lives in different directories
• Shell scripts to manage PATH, GEM_PATH,
GEM_HOME and much more
Sunday, March 6, 2011
5. MRI (1.8)
• Gold Ruby Standard
• Reference implementation (written in C)
• Good enough for most applications
• Slow: no bytecode, no JIT
• No built-in encoding support - only Iconv
• GC sucks
Sunday, March 6, 2011
6. REE (1.8)
• From Passenger (Apache/Nginx module for
Rails apps) devs - phusion.nl
• COW friendly
• Google’s tcmalloc
• Union Station - released yesterday
Sunday, March 6, 2011
7. YARV (1.9)
• Current stable, built upon 1.8 C codebase
• Everything works out of the box
unless depends_on?(Unmantained::Stuff)
• Faster than 1.8: bytecode, JIT (no rt.jar :)
• Strong encoding support
• GC (still) sucks
Sunday, March 6, 2011
8. Rubinius
• Ruby deserves to become first-class citizen
• Most of the stdlib written in Ruby
• Written in C++, bytecode, JIT
• Built on LLVM, spinned off RubySpec
• FFI subsystem for existing C extensions
• http://rubini.us/2011/02/25/why-use-rubinius/
Sunday, March 6, 2011
9. JRuby
• Ruby built on the JVM - from 1.5 onwards
• Fully interoperable
• Works {on,with} Java {servers, libraries}
• Call Java from Ruby and Ruby from Java
• FFI subsystem for existing C extensions
• Fast performance (JIT), Slow startup time
Sunday, March 6, 2011
10. MacRuby
• Sponsored by Apple, works only on OS X
• Built upon Objective-C runtime and LLVM
• A Ruby wrapper around CoreFoundation
• JITted, compiles to binary code
• Real GUIs can be built with it
Sunday, March 6, 2011
11. Others
• IronRuby is Ruby on .NET
• MagLev is distributed object persistence
amongst networked Ruby processes
• HotRuby is Ruby in the browser via
Javascript and Flash (!)
• RVM is the easiest way to try them all!
Sunday, March 6, 2011
12. Install RVM
• Run bash < <(curl http://
rvm.beginrescueend.com/
releases/rvm-install-head )
• Add [[ -s ~/.rvm/scripts/rvm ]]
&& source ~/.rvm/scripts/rvm to
~/.bashrc
• Set!
Sunday, March 6, 2011
13. RTFM
http://rvm.beginrescueend.com/
Sunday, March 6, 2011
14. Install something
• rvm install 1.8 # the last 1.8 release
• rvm install 1.9 # as above, for 1.9
• rvm install rbx # Rubinius
• rvm install ree
• rvm install jruby
Sunday, March 6, 2011
15. What have we got?
$ rvm list
rvm rubies
macruby-0.6 [ x86_64 ]
rbx-1.2.2-20110222 [ ]
ree-1.8.7-2010.01 [ ]
ruby-1.8.7-p330 [ ]
ruby-1.9.2-p0 [ ]
Sunday, March 6, 2011
16. System ruby
$ rvm system
$ type ruby
ruby is /usr/bin/ruby
$ ruby -v
ruby 1.8.7 (2009-06-12
patchlevel 174) [universal-
darwin10.0]
Sunday, March 6, 2011
17. Let’s switch!
# Caveat - exact ruby version
$ rvm 1.9.2p0
$ type ruby
ruby is /Users/vjt/.rvm/rubies/
ruby-1.9.2-p0/bin/ruby
$ ruby -v
ruby 1.9.2p0 (2010-08-18
revision 29036) [x86_64-
darwin10.4.0]
Sunday, March 6, 2011
18. Again
$ rvm rbx-1.2.2
$ type ruby
ruby is /Users/vjt/.rvm/rubies/
rbx-1.2.2-20110222/bin/ruby
$ ruby -v
rubinius 1.2.2 (1.8.7 release
2011-02-22 JI) [x86_64-apple-
darwin10.5.0]
Sunday, March 6, 2011
19. What am I using?
$ rvm list
rvm rubies
macruby-0.6 [ x86_64 ]
=> rbx-1.2.2-20110222 [ ]
ree-1.8.7-2010.01 [ ]
ruby-1.8.7-p330 [ ]
ruby-1.9.2-p0 [ ]
Sunday, March 6, 2011
20. Upgrade?
# Ruby
$ rvm upgrade 1.9.2-p0 1.9.2-
p180
# RVM itself
$ rvm get head
Sunday, March 6, 2011
21. Gemsets
$ rvm 1.9@someapp
$ gem list
*** LOCAL GEMS ***
abstract (1.0.0)
actionmailer (3.0.3)
actionpack (3.0.3)
activemodel (3.0.3)
activerecord (3.0.3)
......
Sunday, March 6, 2011
22. Gemsets, continued
$ rvm 1.9@antani
$ gem list
*** LOCAL GEMS ***
rake (0.8.7)
$
Work in isolation on different apps with
different dependencies.
Sunday, March 6, 2011
23. Development
• Put .rvmrc in the root of your project
• Add it to the ignore list of your SCM
• RVM will execute it when you enter the root
$ cat .rvmrc
rvm 1.8.7@ifad-members
[ -z "$SYBASE" -a -x /opt/sybase/SYBASE.sh ] &&
{
echo "loading sybase environment..."
. /opt/sybase/SYBASE.sh
}
Sunday, March 6, 2011
25. Production - more
• Keep applications isolated from each
others
• Run applications requiring different
interpreters along each other
• Compile ruby with -static and run
everything in a chroot() [coming soon]
• Different users? Just use symlinks
Sunday, March 6, 2011
26. Thank you
http://sindro.me/
http://twitter.com/vjt
[email protected]
Sunday, March 6, 2011