SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Moving from C++ to Ruby
Leslie Brown
Career “Path”
• MIT - Aerospace Engineering
• Lockheed Martin - Systems Engineer
• Freedom High School - Math Teacher
• SimiGon - Software Engineer (more C++)
• Modernmeal - Ruby on Rails / Ember.js
C++
• Statically Typed
• Compiled
• Runs fast!
• Dynamically Typed
• Interpreted
• Relatively slow
Ruby
Ruby was written in C
What are they used for?
C++
Ruby
–Henry Maddocks
“Learn Ruby and C. With Ruby you can write
programs fast, with C you can write fast
programs.”
–Paul Lutus
“C++ is only efficient when it is running. It is not
efficient when you have a deadline to finish a
project and deliver working code.”
Different Strengths
Different Uses
Both powerful, but in different ways
First Impressions
• I don’t have to compile my code?
• Where are the header files?
• Where are the semicolons?
• I don’t have to declare the data type?
• Where are the constructors and destructors?
• Duck type?!?
Little Things
Ruby C++
nil NULL
this self
. ->
< :
require #include
Little Things (cont.)
• .any? .gsub!
• puts(“Hello World”) or puts “Hello World”
• 0 evaluates to true
• attributes / public member variables
• modules / namespaces
More Substantial Differences
• Can add and redefine methods and variables at
runtime
• No explicit references: a variable is an
automatically dereferenced name for an object
• No multiple inheritance (but mixins exist)
• Everything is an object
• Everything has a value (even if it’s nil)
Everything is an object
irb(main):004:0> 123.class
=> Fixnum
irb(main):005:0> 123.class.superclass
=> Integer
irb(main):006:0> 123.class.superclass.superclass
=> Numeric
irb(main):007:0> 123.class.superclass.superclass.superclass
=> Object
Everything has a value
(even if it’s nil)
irb(main):001:0> 3 + 5
=> 8
irb(main):002:0> if true then "thingy" end
=> "thingy"
irb(main):003:0> if false then "thingy" end
=> nil
irb(main):004:0> x = 3
=> 3
Everything has a value
x = 5
y = 10
z = if x > y
true
else
false
end
z #=> false
Making Life Easier
• irb is great
• Enumerable mixin
• vector<T>::const_iterator iter vs .each
• select, sort, include? map, inject/reduce
• Strings: trim, to_s, #{}, split, regex …
side by side code
Hello World
C++ Ruby
FizzBuzz
C++ Ruby
String Reverse
C++ Ruby
Substring Search
C++ Ruby
Person Class
C++
RubyC++
C++
Thanks to Dr. Graham Roberts for this example
Habits to Break
even_array = []
array.each do |i|
even_array << i if i % 2 == 0
end
even_array = array.select{ |i| i % 2 == 0 }
Habits to Break
sum = 0
for i in 0..array.length-1
sum += array[i]
end
sum = 0
array.each do |a|
sum += a
end
array.reduce(0) { |sum, i| sum + i }
array.reduce { |sum, i| sum + i }
array.reduce(0, :+)
array.reduce(:+)
Good Riddance
• linker errors
• writing getters and setters
• pointers … allocation / deallocation
• windows tithe day
• IDE?
Culture
My People
http://andrewvos.com/2011/02/21/amount-of-profanity-in-git-
commit-messages-per-programming-language/
Final Thoughts
• C++ before Ruby
• Appreciate Ruby!
• The Ruby Way
• OOP
References / Further Reading
• To Ruby From C and C++ https://www.ruby-
lang.org/en/documentation/ruby-from-other-
languages/to-ruby-from-c-and-cpp
• The Road to Ruby from C++ http://
www.devx.com/RubySpecialReport/Article/
34497
• ruby-talk thread https://www.ruby-forum.com/
topic/88609
• http://www.ibm.com/developerworks/linux/library/os-
sixrubyfeatures/index.html
• http://blog.petersobot.com/rewriting-in-cpp-for-fun-
speed-and-masochism
• http://blog.flatironschool.com/the-road-to-ruby-from-c
• http://chrismdp.com/2012/01/why-i-switched-from-
ruby-back-to-c-plus-plus
• Bjarne Stroustrup’s list of C++ Applications http://
www.stroustrup.com/applications.html
Comparing Languages
• http://rosettacode.org
• http://web.archive.org/web/20100420080552/http://
www.dmh2000.com/cjpr/
• http://www.dmoz.org/Computers/Programming/
Languages/Comparison_and_Review/
• http://www0.cs.ucl.ac.uk/staff/G.Roberts/
courses2005_6/1008/Slides3.pdf
• http://www.hammerprinciple.com/therighttool/items/
ruby/c-2

Más contenido relacionado

La actualidad más candente

Introduction to BOOTSTRAP
Introduction to BOOTSTRAPIntroduction to BOOTSTRAP
Introduction to BOOTSTRAPJeanie Arnoco
 
Cascading style sheet
Cascading style sheetCascading style sheet
Cascading style sheetMichael Jhon
 
Loops PHP 04
Loops PHP 04Loops PHP 04
Loops PHP 04Spy Seat
 
TypeScript Best Practices
TypeScript Best PracticesTypeScript Best Practices
TypeScript Best Practicesfelixbillon
 
Data Structures in javaScript 2015
Data Structures in javaScript 2015Data Structures in javaScript 2015
Data Structures in javaScript 2015Nir Kaufman
 
HTML/CSS Crash Course (april 4 2017)
HTML/CSS Crash Course (april 4 2017)HTML/CSS Crash Course (april 4 2017)
HTML/CSS Crash Course (april 4 2017)Daniel Friedman
 
(Fast) Introduction to HTML & CSS
(Fast) Introduction to HTML & CSS (Fast) Introduction to HTML & CSS
(Fast) Introduction to HTML & CSS Dave Kelly
 
Jquery Complete Presentation along with Javascript Basics
Jquery Complete Presentation along with Javascript BasicsJquery Complete Presentation along with Javascript Basics
Jquery Complete Presentation along with Javascript BasicsEPAM Systems
 

La actualidad más candente (20)

Bootstrap grids
Bootstrap gridsBootstrap grids
Bootstrap grids
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
Java script array
Java script arrayJava script array
Java script array
 
Introduction to BOOTSTRAP
Introduction to BOOTSTRAPIntroduction to BOOTSTRAP
Introduction to BOOTSTRAP
 
Cascading style sheet
Cascading style sheetCascading style sheet
Cascading style sheet
 
Loops PHP 04
Loops PHP 04Loops PHP 04
Loops PHP 04
 
Bootstrap 4 ppt
Bootstrap 4 pptBootstrap 4 ppt
Bootstrap 4 ppt
 
HTML iframe
HTML iframeHTML iframe
HTML iframe
 
TypeScript Best Practices
TypeScript Best PracticesTypeScript Best Practices
TypeScript Best Practices
 
Data Structures in javaScript 2015
Data Structures in javaScript 2015Data Structures in javaScript 2015
Data Structures in javaScript 2015
 
HTML Forms
HTML FormsHTML Forms
HTML Forms
 
HTML/CSS Crash Course (april 4 2017)
HTML/CSS Crash Course (april 4 2017)HTML/CSS Crash Course (april 4 2017)
HTML/CSS Crash Course (april 4 2017)
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
Loops in java script
Loops in java scriptLoops in java script
Loops in java script
 
Flex box
Flex boxFlex box
Flex box
 
(Fast) Introduction to HTML & CSS
(Fast) Introduction to HTML & CSS (Fast) Introduction to HTML & CSS
(Fast) Introduction to HTML & CSS
 
Jquery Complete Presentation along with Javascript Basics
Jquery Complete Presentation along with Javascript BasicsJquery Complete Presentation along with Javascript Basics
Jquery Complete Presentation along with Javascript Basics
 
HTML 5 Canvas & SVG
HTML 5 Canvas & SVGHTML 5 Canvas & SVG
HTML 5 Canvas & SVG
 
Html
HtmlHtml
Html
 
Javascript essentials
Javascript essentialsJavascript essentials
Javascript essentials
 

Destacado

The Other Side of HTML
The Other Side of HTMLThe Other Side of HTML
The Other Side of HTMLCarlin Scuderi
 
SWIG Hello World
SWIG Hello WorldSWIG Hello World
SWIG Hello Worlde8xu
 
Planificacion de poyectos
Planificacion de poyectosPlanificacion de poyectos
Planificacion de poyectosKarlytaLopez
 
Cuestionario De Creacion De Ambientes 2
Cuestionario De Creacion De Ambientes 2Cuestionario De Creacion De Ambientes 2
Cuestionario De Creacion De Ambientes 2Dannysiita
 
Командний успіх. Практичні поради з власного досвіду.
Командний успіх. Практичні поради з власного досвіду.Командний успіх. Практичні поради з власного досвіду.
Командний успіх. Практичні поради з власного досвіду.Ruslan Savchyshyn
 
成功するデジタルクリエイティブのプロデュース術 - マスメディアンセミナー20150211
成功するデジタルクリエイティブのプロデュース術 - マスメディアンセミナー20150211成功するデジタルクリエイティブのプロデュース術 - マスメディアンセミナー20150211
成功するデジタルクリエイティブのプロデュース術 - マスメディアンセミナー20150211Mariko Nishimura
 
Судьба леопарда
Судьба леопардаСудьба леопарда
Судьба леопардаoreshko
 
Tietojärjestelmät vanhuspalveluissa - tulevaisuuden visioita
Tietojärjestelmät vanhuspalveluissa - tulevaisuuden visioitaTietojärjestelmät vanhuspalveluissa - tulevaisuuden visioita
Tietojärjestelmät vanhuspalveluissa - tulevaisuuden visioitaJyrki Kasvi
 
9/16 Top 5 Deep Learning
9/16 Top 5 Deep Learning9/16 Top 5 Deep Learning
9/16 Top 5 Deep LearningNVIDIA
 
Adobe Digital Index: State Of Banking Report
Adobe Digital Index: State Of Banking ReportAdobe Digital Index: State Of Banking Report
Adobe Digital Index: State Of Banking ReportAdobe
 
Social Media Report - Brokerage Houses (India) September - October 2016
Social Media Report - Brokerage Houses (India) September - October 2016Social Media Report - Brokerage Houses (India) September - October 2016
Social Media Report - Brokerage Houses (India) September - October 2016Unmetric
 
Leveraging Enterprise-Wide HR Shared Services in Higher Education
Leveraging Enterprise-Wide HR Shared Services in Higher EducationLeveraging Enterprise-Wide HR Shared Services in Higher Education
Leveraging Enterprise-Wide HR Shared Services in Higher EducationChazey Partners
 

Destacado (18)

The Other Side of HTML
The Other Side of HTMLThe Other Side of HTML
The Other Side of HTML
 
SWIG Hello World
SWIG Hello WorldSWIG Hello World
SWIG Hello World
 
الضغوط
الضغوطالضغوط
الضغوط
 
Planificacion de poyectos
Planificacion de poyectosPlanificacion de poyectos
Planificacion de poyectos
 
Cuestionario De Creacion De Ambientes 2
Cuestionario De Creacion De Ambientes 2Cuestionario De Creacion De Ambientes 2
Cuestionario De Creacion De Ambientes 2
 
Командний успіх. Практичні поради з власного досвіду.
Командний успіх. Практичні поради з власного досвіду.Командний успіх. Практичні поради з власного досвіду.
Командний успіх. Практичні поради з власного досвіду.
 
Zaragoza turismo-53
Zaragoza turismo-53Zaragoza turismo-53
Zaragoza turismo-53
 
成功するデジタルクリエイティブのプロデュース術 - マスメディアンセミナー20150211
成功するデジタルクリエイティブのプロデュース術 - マスメディアンセミナー20150211成功するデジタルクリエイティブのプロデュース術 - マスメディアンセミナー20150211
成功するデジタルクリエイティブのプロデュース術 - マスメディアンセミナー20150211
 
AD_CV_15_08
AD_CV_15_08AD_CV_15_08
AD_CV_15_08
 
Судьба леопарда
Судьба леопардаСудьба леопарда
Судьба леопарда
 
Who You Gonna Call #SLIDEBUSTERS!
Who You Gonna Call #SLIDEBUSTERS!Who You Gonna Call #SLIDEBUSTERS!
Who You Gonna Call #SLIDEBUSTERS!
 
planificacion de hora clase
planificacion de hora claseplanificacion de hora clase
planificacion de hora clase
 
Tietojärjestelmät vanhuspalveluissa - tulevaisuuden visioita
Tietojärjestelmät vanhuspalveluissa - tulevaisuuden visioitaTietojärjestelmät vanhuspalveluissa - tulevaisuuden visioita
Tietojärjestelmät vanhuspalveluissa - tulevaisuuden visioita
 
RFP_サンプル
RFP_サンプルRFP_サンプル
RFP_サンプル
 
9/16 Top 5 Deep Learning
9/16 Top 5 Deep Learning9/16 Top 5 Deep Learning
9/16 Top 5 Deep Learning
 
Adobe Digital Index: State Of Banking Report
Adobe Digital Index: State Of Banking ReportAdobe Digital Index: State Of Banking Report
Adobe Digital Index: State Of Banking Report
 
Social Media Report - Brokerage Houses (India) September - October 2016
Social Media Report - Brokerage Houses (India) September - October 2016Social Media Report - Brokerage Houses (India) September - October 2016
Social Media Report - Brokerage Houses (India) September - October 2016
 
Leveraging Enterprise-Wide HR Shared Services in Higher Education
Leveraging Enterprise-Wide HR Shared Services in Higher EducationLeveraging Enterprise-Wide HR Shared Services in Higher Education
Leveraging Enterprise-Wide HR Shared Services in Higher Education
 

Similar a Moving from C++ to Ruby

مقایسه و بررسی چهارچوب ریلز
مقایسه و بررسی چهارچوب ریلزمقایسه و بررسی چهارچوب ریلز
مقایسه و بررسی چهارچوب ریلزrailsbootcamp
 
Dapper: the microORM that will change your life
Dapper: the microORM that will change your lifeDapper: the microORM that will change your life
Dapper: the microORM that will change your lifeDavide Mauri
 
How to really obfuscate your pdf malware
How to really obfuscate   your pdf malwareHow to really obfuscate   your pdf malware
How to really obfuscate your pdf malwarezynamics GmbH
 
How to really obfuscate your pdf malware
How to really obfuscate your pdf malwareHow to really obfuscate your pdf malware
How to really obfuscate your pdf malwarezynamics GmbH
 
Code for Startup MVP (Ruby on Rails) Session 2
Code for Startup MVP (Ruby on Rails) Session 2Code for Startup MVP (Ruby on Rails) Session 2
Code for Startup MVP (Ruby on Rails) Session 2Henry S
 
The Art of Refactoring
The Art of RefactoringThe Art of Refactoring
The Art of Refactoringdrizzlo
 
Intro to Clojure lightningtalk
Intro to Clojure lightningtalkIntro to Clojure lightningtalk
Intro to Clojure lightningtalkNola Stowe
 
Intro to Ruby on Rails
Intro to Ruby on RailsIntro to Ruby on Rails
Intro to Ruby on Railsrschmukler
 
Rapid Application Development using Ruby on Rails
Rapid Application Development using Ruby on RailsRapid Application Development using Ruby on Rails
Rapid Application Development using Ruby on RailsSimobo
 
MacRuby: What is it? and why should you care?
MacRuby: What is it? and why should you care?MacRuby: What is it? and why should you care?
MacRuby: What is it? and why should you care?Joshua Ballanco
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Killing Shark-Riding Dinosaurs with ORM
Killing Shark-Riding Dinosaurs with ORMKilling Shark-Riding Dinosaurs with ORM
Killing Shark-Riding Dinosaurs with ORMOrtus Solutions, Corp
 
Lua. The Splendors and Miseries of Game Scripting
Lua. The Splendors and Miseries of Game ScriptingLua. The Splendors and Miseries of Game Scripting
Lua. The Splendors and Miseries of Game ScriptingDevGAMM Conference
 
ITB2017 - Slaying the ORM dragons with cborm
ITB2017 - Slaying the ORM dragons with cbormITB2017 - Slaying the ORM dragons with cborm
ITB2017 - Slaying the ORM dragons with cbormOrtus Solutions, Corp
 
A tale of 3 databases
A tale of 3 databasesA tale of 3 databases
A tale of 3 databasesChris Skardon
 

Similar a Moving from C++ to Ruby (20)

مقایسه و بررسی چهارچوب ریلز
مقایسه و بررسی چهارچوب ریلزمقایسه و بررسی چهارچوب ریلز
مقایسه و بررسی چهارچوب ریلز
 
Children of Ruby
Children of RubyChildren of Ruby
Children of Ruby
 
Dapper: the microORM that will change your life
Dapper: the microORM that will change your lifeDapper: the microORM that will change your life
Dapper: the microORM that will change your life
 
How to really obfuscate your pdf malware
How to really obfuscate   your pdf malwareHow to really obfuscate   your pdf malware
How to really obfuscate your pdf malware
 
How to really obfuscate your pdf malware
How to really obfuscate your pdf malwareHow to really obfuscate your pdf malware
How to really obfuscate your pdf malware
 
Code for Startup MVP (Ruby on Rails) Session 2
Code for Startup MVP (Ruby on Rails) Session 2Code for Startup MVP (Ruby on Rails) Session 2
Code for Startup MVP (Ruby on Rails) Session 2
 
The Art of Refactoring
The Art of RefactoringThe Art of Refactoring
The Art of Refactoring
 
Intro to Clojure lightningtalk
Intro to Clojure lightningtalkIntro to Clojure lightningtalk
Intro to Clojure lightningtalk
 
Intro to Ruby on Rails
Intro to Ruby on RailsIntro to Ruby on Rails
Intro to Ruby on Rails
 
Rapid Application Development using Ruby on Rails
Rapid Application Development using Ruby on RailsRapid Application Development using Ruby on Rails
Rapid Application Development using Ruby on Rails
 
MacRuby: What is it? and why should you care?
MacRuby: What is it? and why should you care?MacRuby: What is it? and why should you care?
MacRuby: What is it? and why should you care?
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Killing Shark-Riding Dinosaurs with ORM
Killing Shark-Riding Dinosaurs with ORMKilling Shark-Riding Dinosaurs with ORM
Killing Shark-Riding Dinosaurs with ORM
 
Swift for-rubyists
Swift for-rubyistsSwift for-rubyists
Swift for-rubyists
 
Lua. The Splendors and Miseries of Game Scripting
Lua. The Splendors and Miseries of Game ScriptingLua. The Splendors and Miseries of Game Scripting
Lua. The Splendors and Miseries of Game Scripting
 
How to-node-core
How to-node-coreHow to-node-core
How to-node-core
 
ITB2017 - Slaying the ORM dragons with cborm
ITB2017 - Slaying the ORM dragons with cbormITB2017 - Slaying the ORM dragons with cborm
ITB2017 - Slaying the ORM dragons with cborm
 
MacRuby
MacRubyMacRuby
MacRuby
 
A tale of 3 databases
A tale of 3 databasesA tale of 3 databases
A tale of 3 databases
 
Revenge of the ORMs
Revenge of the ORMsRevenge of the ORMs
Revenge of the ORMs
 

Último

Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadIvo Andreev
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorShane Coughlan
 
Vectors are the new JSON in PostgreSQL (SCaLE 21x)
Vectors are the new JSON in PostgreSQL (SCaLE 21x)Vectors are the new JSON in PostgreSQL (SCaLE 21x)
Vectors are the new JSON in PostgreSQL (SCaLE 21x)Jonathan Katz
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageDista
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...OnePlan Solutions
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampVICTOR MAESTRE RAMIREZ
 
React 19: Revolutionizing Web Development
React 19: Revolutionizing Web DevelopmentReact 19: Revolutionizing Web Development
React 19: Revolutionizing Web DevelopmentBOSC Tech Labs
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?AmeliaSmith90
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024Mind IT Systems
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilVICTOR MAESTRE RAMIREZ
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIIvo Andreev
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesShyamsundar Das
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyRaymond Okyere-Forson
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeNeo4j
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxAutus Cyber Tech
 
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze IncEnterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Incrobinwilliams8624
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsJaydeep Chhasatia
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionsNirav Modi
 

Último (20)

Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS Calculator
 
Vectors are the new JSON in PostgreSQL (SCaLE 21x)
Vectors are the new JSON in PostgreSQL (SCaLE 21x)Vectors are the new JSON in PostgreSQL (SCaLE 21x)
Vectors are the new JSON in PostgreSQL (SCaLE 21x)
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
 
React 19: Revolutionizing Web Development
React 19: Revolutionizing Web DevelopmentReact 19: Revolutionizing Web Development
React 19: Revolutionizing Web Development
 
Salesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptxSalesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptx
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in Trivandrum
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AI
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security Challenges
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human Beauty
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptx
 
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze IncEnterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Inc
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
 

Moving from C++ to Ruby