This document introduces Ruby and object-oriented programming concepts using Ruby. It discusses creating classes like Brick and Worker, defining attributes and methods, inheritance with subclasses like YellowBrick and RedBrick, and contains examples of creating and manipulating objects. It also shows containing objects in a Box class, searching through objects in a box, and determining if a number is prime. The document provides resources for learning more about Ruby.
This document discusses techniques for refactoring Ruby code to follow object-oriented principles and design patterns. It provides examples of refactoring a Bhaskara equation solver class to have better encapsulation, organization and separation of concerns. It also discusses ways to make objects more collection-like and use delegation, modules and other techniques to improve code design. The overall goal is to help Ruby developers write more maintainable, understandable and "enterprise-ready" code.
This document summarizes the key aspects of building a game backend using F# and the actor model. It discusses how F# is well-suited for domain modeling and building correct systems. It then describes how to structure the backend using stateful workers as actors to manage player state. The workers use an optimistic concurrency approach with versions to handle get and update requests concurrently in an asynchronous and non-blocking way.
Forms are inevitable. Forms are hard. Forms with React sometimes even harder. In this talk, we’ll start by exploring best practices to efficiently work with react/redux forms and proceed with building a custom abstraction layer for easier form management.
This document provides an overview and introduction to jQuery:
1. jQuery is a JavaScript library that simplifies HTML document traversing, event handling, animating, and Ajax interactions. It uses CSS-style selectors to select and work with elements in the DOM.
2. To implement jQuery, include the jQuery library file using a <script> tag, then write jQuery code inside <script> tags on the page. jQuery code uses the $ symbol or jQuery keyword to represent the library.
3. Common jQuery methods include selecting elements with CSS-style selectors like $("p"), modifying styles with .css(), handling events with .click(), and animating elements with .animate(). jQuery simplifies
F# was used to build game infrastructure and logic for a company serving millions of users daily. Some key benefits of F# included:
1) Domain modeling using discriminated unions, types, and measures helped increase correctness and productivity.
2) An actor model with asynchronous message passing was used to build stateful game servers in a scalable and efficient way without locks.
3) Processing game events as immutable facts allowed different systems to process specific facts independently and flexibly.
The document discusses Ruby and Ruby on Rails. It notes that Ruby is an object-oriented programming language created by Yukihiro Matsumoto in 1995. Ruby on Rails is a web application framework built on Ruby that was created by David Heinemeier Hansson in 2004. It follows the model-view-controller architectural pattern, separating applications into models, views, and controllers.
- Ruby is an interactive, object-oriented programming language created by Yukihiro Matsumoto in 1995.
- Ruby on Rails is a web application framework built on Ruby that emphasizes convention over configuration and is optimized for programmer happiness.
- The document discusses Ruby and Ruby on Rails, providing an overview of their history, key principles like MVC, REST, and conventions used in Rails. It also provides examples of modeling data with classes and ActiveRecord in Rails.
This public art proposal suggests installing various art installations at 5 locations on campus, including an Aurora Borealis at Irwin Library, a sunset mural at Clowes Hall, an underwater scene on the Resco Pillar, a Buddhist temple design on the Atherton Doors, and a stair-themed art piece for the Jordan Walkway.
This document discusses techniques for refactoring Ruby code to follow object-oriented principles and design patterns. It provides examples of refactoring a Bhaskara equation solver class to have better encapsulation, organization and separation of concerns. It also discusses ways to make objects more collection-like and use delegation, modules and other techniques to improve code design. The overall goal is to help Ruby developers write more maintainable, understandable and "enterprise-ready" code.
This document summarizes the key aspects of building a game backend using F# and the actor model. It discusses how F# is well-suited for domain modeling and building correct systems. It then describes how to structure the backend using stateful workers as actors to manage player state. The workers use an optimistic concurrency approach with versions to handle get and update requests concurrently in an asynchronous and non-blocking way.
Forms are inevitable. Forms are hard. Forms with React sometimes even harder. In this talk, we’ll start by exploring best practices to efficiently work with react/redux forms and proceed with building a custom abstraction layer for easier form management.
This document provides an overview and introduction to jQuery:
1. jQuery is a JavaScript library that simplifies HTML document traversing, event handling, animating, and Ajax interactions. It uses CSS-style selectors to select and work with elements in the DOM.
2. To implement jQuery, include the jQuery library file using a <script> tag, then write jQuery code inside <script> tags on the page. jQuery code uses the $ symbol or jQuery keyword to represent the library.
3. Common jQuery methods include selecting elements with CSS-style selectors like $("p"), modifying styles with .css(), handling events with .click(), and animating elements with .animate(). jQuery simplifies
F# was used to build game infrastructure and logic for a company serving millions of users daily. Some key benefits of F# included:
1) Domain modeling using discriminated unions, types, and measures helped increase correctness and productivity.
2) An actor model with asynchronous message passing was used to build stateful game servers in a scalable and efficient way without locks.
3) Processing game events as immutable facts allowed different systems to process specific facts independently and flexibly.
The document discusses Ruby and Ruby on Rails. It notes that Ruby is an object-oriented programming language created by Yukihiro Matsumoto in 1995. Ruby on Rails is a web application framework built on Ruby that was created by David Heinemeier Hansson in 2004. It follows the model-view-controller architectural pattern, separating applications into models, views, and controllers.
- Ruby is an interactive, object-oriented programming language created by Yukihiro Matsumoto in 1995.
- Ruby on Rails is a web application framework built on Ruby that emphasizes convention over configuration and is optimized for programmer happiness.
- The document discusses Ruby and Ruby on Rails, providing an overview of their history, key principles like MVC, REST, and conventions used in Rails. It also provides examples of modeling data with classes and ActiveRecord in Rails.
This public art proposal suggests installing various art installations at 5 locations on campus, including an Aurora Borealis at Irwin Library, a sunset mural at Clowes Hall, an underwater scene on the Resco Pillar, a Buddhist temple design on the Atherton Doors, and a stair-themed art piece for the Jordan Walkway.
This document proposes adding public art to the walls of the King's Highway Train Station on the N Line in Brooklyn. It suggests commissioning local artist Ronaldo Diaz to create a mural depicting the Greek goddess Artemis, acrobats, divas, and dancers for the Manhattan bound platform. Photos show the peeling, moldy walls in need of beautification on the Coney Island bound platform.
This document provides tips for applying to artists residency programs. It recommends planning ahead by checking deadlines and having materials like a resume, artist statement, and work samples ready. Applicants should research each program's specific requirements, ask current residents about what makes a successful application, and request letters of recommendation well in advance. The document stresses allowing sufficient time to complete applications and submitting early to avoid last-minute problems.
This document provides tips for writing effective proposals. It recommends including an outline of your idea, previous related work, a project schedule and budget. Highlight how the project benefits the community or sponsor. Include images and supporting materials like a bio, CV or artist statement. Structure the proposal with sections on the aim, theory, methods and budget. Get feedback from others and proofread carefully to avoid mistakes. Submit proposals early and often to increase chances of success.
Approaching Galleries & Proposal Writing for ArtistsArtLinks
how to approach commercial galleries and non-profit galleries
being represented at an international level
understanding open submissions
promotion of artistic career
insights into gallery/curatorial practice from the management side and from the artists point of view
The document provides tips and advice for medical students preparing for and attending residency interviews. It includes:
1) General tips such as doing homework on the program, dressing professionally, maintaining good posture and eye contact, asking good questions, and being prepared to discuss strengths and weaknesses.
2) Examples of questions program directors like to hear, such as those showing the student researched the program, and questions about research opportunities.
3) Examples of questions program directors dislike, such as generic questions easily found online or about benefits.
4) Advice on appearance including dressing professionally and conservatively, and displaying polite and respectful behavior.
The document discusses a community focused on innovation and problem solving. It talks about gathering problems from the community and having teams and mentors work together to develop solutions. One example problem mentioned is the length of time it takes to dictate a company's information at a gas station. The community aims to help bring ideas to fruition and provide resources like mentors, education and funding to support startups and keep people in the local area.
The document discusses the basics of using Git version control including making snapshots of files, creating backups at different points in time, optimizing backups by only storing file changes, using branches and merging/rebasing branches, sharing a Git repository remotely by cloning or adding remote connections, and pulling/pushing changes between local and remote repositories.
The document discusses the origins and design of the Ruby programming language. It notes that Ruby was created by Yukihiro Matsumoto as a scripting language that was more powerful than Perl and more object-oriented than Python. It describes key features of Ruby like being interpreted, dynamically typed, and having strong support for meta-programming.
This document discusses test-driven development (TDD). It provides examples of writing tests before code using a red-green-refactor process. First, a test is written and fails (red). Then code is implemented to pass the test (green). The code is then refactored while ensuring tests still pass. The document includes code examples of writing tests for a code review tool, implementing features to pass tests, and refactoring while tests remain passing.
The document provides information about using Ruby gems. It discusses installing rubygems with "sudo apt-get install rubygems", then installing specific gems like git with "gem install git". It provides an example of using the git gem to log commits between two versions. It also briefly mentions HAML, SASS, HPricot, RSpec, Cucumber, and OmniAuth gems.
The document provides information about Rails 3.0 including that it combines Merb and Rails 2.3. It discusses features like Bundler, Rack, HTML5, and Arel. It also covers REST, using resources, and responding to different formats. Views, layouts, partials, helpers, caching and expiration are described.
The document describes how to create relationships between models in a Model-View-Controller framework. It discusses creating one-to-one, one-to-many, and many-to-many relationships between models using associations like belongs_to, has_many, and has_and_belongs_to_many. It also covers fetching, validating, saving, and deleting data from the database through the model layer.
This document provides an overview of Ruby on Rails, including how to install Rails, create a first Rails application, the basic components of Rails applications, and how to configure, develop, and deploy Rails apps. It discusses Model-View-Controller architecture, databases and migrations, documentation, libraries, logging, and more. The goal is to introduce developers to the fundamentals of building web applications with Ruby on Rails.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
This document proposes adding public art to the walls of the King's Highway Train Station on the N Line in Brooklyn. It suggests commissioning local artist Ronaldo Diaz to create a mural depicting the Greek goddess Artemis, acrobats, divas, and dancers for the Manhattan bound platform. Photos show the peeling, moldy walls in need of beautification on the Coney Island bound platform.
This document provides tips for applying to artists residency programs. It recommends planning ahead by checking deadlines and having materials like a resume, artist statement, and work samples ready. Applicants should research each program's specific requirements, ask current residents about what makes a successful application, and request letters of recommendation well in advance. The document stresses allowing sufficient time to complete applications and submitting early to avoid last-minute problems.
This document provides tips for writing effective proposals. It recommends including an outline of your idea, previous related work, a project schedule and budget. Highlight how the project benefits the community or sponsor. Include images and supporting materials like a bio, CV or artist statement. Structure the proposal with sections on the aim, theory, methods and budget. Get feedback from others and proofread carefully to avoid mistakes. Submit proposals early and often to increase chances of success.
Approaching Galleries & Proposal Writing for ArtistsArtLinks
how to approach commercial galleries and non-profit galleries
being represented at an international level
understanding open submissions
promotion of artistic career
insights into gallery/curatorial practice from the management side and from the artists point of view
The document provides tips and advice for medical students preparing for and attending residency interviews. It includes:
1) General tips such as doing homework on the program, dressing professionally, maintaining good posture and eye contact, asking good questions, and being prepared to discuss strengths and weaknesses.
2) Examples of questions program directors like to hear, such as those showing the student researched the program, and questions about research opportunities.
3) Examples of questions program directors dislike, such as generic questions easily found online or about benefits.
4) Advice on appearance including dressing professionally and conservatively, and displaying polite and respectful behavior.
The document discusses a community focused on innovation and problem solving. It talks about gathering problems from the community and having teams and mentors work together to develop solutions. One example problem mentioned is the length of time it takes to dictate a company's information at a gas station. The community aims to help bring ideas to fruition and provide resources like mentors, education and funding to support startups and keep people in the local area.
The document discusses the basics of using Git version control including making snapshots of files, creating backups at different points in time, optimizing backups by only storing file changes, using branches and merging/rebasing branches, sharing a Git repository remotely by cloning or adding remote connections, and pulling/pushing changes between local and remote repositories.
The document discusses the origins and design of the Ruby programming language. It notes that Ruby was created by Yukihiro Matsumoto as a scripting language that was more powerful than Perl and more object-oriented than Python. It describes key features of Ruby like being interpreted, dynamically typed, and having strong support for meta-programming.
This document discusses test-driven development (TDD). It provides examples of writing tests before code using a red-green-refactor process. First, a test is written and fails (red). Then code is implemented to pass the test (green). The code is then refactored while ensuring tests still pass. The document includes code examples of writing tests for a code review tool, implementing features to pass tests, and refactoring while tests remain passing.
The document provides information about using Ruby gems. It discusses installing rubygems with "sudo apt-get install rubygems", then installing specific gems like git with "gem install git". It provides an example of using the git gem to log commits between two versions. It also briefly mentions HAML, SASS, HPricot, RSpec, Cucumber, and OmniAuth gems.
The document provides information about Rails 3.0 including that it combines Merb and Rails 2.3. It discusses features like Bundler, Rack, HTML5, and Arel. It also covers REST, using resources, and responding to different formats. Views, layouts, partials, helpers, caching and expiration are described.
The document describes how to create relationships between models in a Model-View-Controller framework. It discusses creating one-to-one, one-to-many, and many-to-many relationships between models using associations like belongs_to, has_many, and has_and_belongs_to_many. It also covers fetching, validating, saving, and deleting data from the database through the model layer.
This document provides an overview of Ruby on Rails, including how to install Rails, create a first Rails application, the basic components of Rails applications, and how to configure, develop, and deploy Rails apps. It discusses Model-View-Controller architecture, databases and migrations, documentation, libraries, logging, and more. The goal is to introduce developers to the fundamentals of building web applications with Ruby on Rails.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
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.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
13. Yellow and Red bricks
class YellowBrick < Brick
def initialize
@color = :yellow # @ instance variable (always protected!)
@sockets = 6 # @@ class variable
end
end
class RedBrick < Brick
def initialize
@color = :red
@sockets = 6
end
end
14. Yellow and Red bricks
class YellowBrick < Brick
def initialize
@color = :yellow # @ instance variable (always protected!)
@sockets = 6 # @@ class variable
end
end
> yellowBrick = YellowBrick.new
> redBrick = RedBrick.new
class RedBrick < Brick
def initialize
> p yellowBrick
@color = :red
#<YellowBrick:0x10012ac68
@sockets = 6 @color=:yellow, @sockets=6>
end
end
16. Altering objects
class Brick
attr :color
attr_accessor :sockets
end attr
class Brick
def color
return @color
end
end
# return is not required!
17. Altering objects
class Brick
attr :color
attr_accessor :sockets
end attr attr_accessor
class Brick class Brick
def color def sockets
return @color @sockets
end end
end def sockets= (value)
@sockets = value
# return is not required! end
end
18. Assigning
class Brick
attr :color
attr_writer :sockets
def sockets= (number)
raise Exception.new("Invalid socket number") if number % 2 != 0
raise Exception.new("Too many sockets") unless number <= 10
@sockets = number
end
end
19. Assigning
class Brick
attr :color
attr_writer :sockets
def sockets= (number)
raise Exception.new("Invalid socket number") if number % 2 != 0
raise Exception.new("Too many sockets") = YellowBrick.new 10
> yellowBrick unless number <=
@sockets = number > yellowBrick.sockets = 4
end > puts yellowBrick.sockets
end #4
> yellowBrick.sockets = 5
# Exception: Invalid socket number
20. Box
class Box
def initialize
@items = []
end
def << (item)
@items << item
end
end
21. Box
class Box
def initialize
@items = [] > box = Box.new
end >
> 1.upto 5 do |number|
def << (item) > brick = YellowBrick.new
@items << item > brick.sockets = number * 2
end > box << brick
end > end
> p box
> #<Box:0x10012a650 @items=
[#<YellowBrick:0x10012a498
@color=:yellow, @sockets=2>,
#<YellowBrick...
22. Box
class Box
def initialize
@items = [] > box = Box.new
end >
> 1.upto 5 do |number|
def << (item) > brick = YellowBrick.new
@items << item > brick.sockets = number * 2
end > box << brick
end > end
#<Box:0x10012a650 @items=
> p box
[#<YellowBrick:0x10012a498 @color=:yellow, @sockets=2>,
> #<Box:0x10012a650 @items=
#<YellowBrick:0x10012a510 @color=:yellow, @sockets=4>,
#<YellowBrick:0x10012a4c0 @color=:yellow, @sockets=6>,
[#<YellowBrick:0x10012a498
#<YellowBrick:0x10012a470 @color=:yellow, @sockets=8>,
@color=:yellow, @sockets=2>,
#<YellowBrick:0x10012a448 @color=:yellow, @sockets=10>]>
#<YellowBrick...
23. Searching
class Box
def search (&block)
@items.each do |item|
yield item
end
end
end
24. Searching
class Box
> box = Box.new
def search (&block)
@items.each do |item| >
yield item > 1.upto 5 do |number|
end > brick = YellowBrick.new
end > brick.sockets = number * 2
end > box << brick
> end
> box.search do |brick|
> puts “#{brick.sockets} “
> end
# 2 4 6 8 10
25. Searching
class Box
> box = Box.new
def search (&block)
@items.each do |item| >
yield item > 1.upto 5 do |number|
end > brick = YellowBrick.new
end > brick.sockets = number * 2
end > box << brick
> end
> box.search do |brick|
> puts “#{brick.sockets} “
> end
# 2 4 6 8 10
28. 2.prim?
class Integer
def prim?
myValue = self.to_i
return false if myValue == 1
2.upto myValue-1 do | i |
return false if (myValue % i) == 0
end
return true
end
end
29. 2.prim?
Q
ue
class Integer
st
def prim?
io
myValue = self.to_i
return false if myValue == 1 ns
2.upto myValue-1 do | i |
?
return false if (myValue % i) == 0
end
return true
end
end