A PDF version of my slidedeck for the closing keynote at PHP|tek titled "Chinese Proverbs" and given at PHP|tek Chicago in May 2009.
There was no abstract for this talk.
The document discusses trends among Indian youth aged 16-25 based on a small survey. It finds that youth are excited by fashionable clothing and accessories, social media, fitness, travel, and a variety of foods. They enjoy the latest mobile phones, cars, laptops, and other technology. Youth are heavily influenced by Bollywood and international entertainment. They aspire to study abroad and pursue new career paths with opportunities for quick growth, exposure, and entrepreneurship.
Three thousand children smoke their first cigarette each day, and 20% of American teens smoke. Teenage smoking can lead to serious health issues like decreased lung function and premature death. Peer pressure and stress are factors that may lead teens to start smoking. Doctors should screen teens for smoking and suggest interventions like counseling or nicotine replacement therapy to help them quit.
The document discusses the characteristics and behaviors of Indian youth. It notes that they hold a dual cultural identity, are heavily influenced by media and technology, and have high aspirations. While socially conscious and motivated, the youth also show disrespect and demand instant rewards. The document provides advice to the youth such as pursuing education, spending time in nature, and respecting elders. It emphasizes qualities like courage, creativity, and hard work that the youth should embrace to achieve success and help their nation progress.
Ruby Programming Language - IntroductionKwangshin Oh
Ruby is an interpreted, object-oriented, and dynamically typed programming language. It was created in the 1990s by Yukihiro Matsumoto to enhance programmer productivity and have fun. Some key aspects include everything being an object, duck typing where objects are identified by their methods/attributes rather than type, and a focus on simplicity, readability, and productivity for programmers.
This document summarizes Adam Keys' presentation "Six Easy Pieces (Twice Over)", where he discusses important concepts for software developers based on Richard Feynman's lectures. The presentation is divided into two acts, where the first act from 2006 introduced non-syntactic aspects of Ruby and Rails, and the second act extracts the most important bits and argues they are applicable to all programmers. The concepts discussed include that programming should not suck, languages should make developers feel clever and powerful, the importance of building software with a balance of top-down and bottom-up approaches, keeping things simple, avoiding duplication, using testing as feedback, and how other languages can be borrowed from to write better code.
The document introduces Ruby and Rails. It discusses that Ruby is an object-oriented scripting language created by Matz to bring joy to programming. Rails is a web framework that makes building database-driven web applications easy through conventions like MVC, templates, and ORMs. The document then provides an overview of major Ruby features like objects, variables, arrays, hashes, symbols, blocks and iterators. It also demonstrates building a simple class in Ruby. Finally, it shows a quick demo of generating a TODO list application in Rails.
A PDF version of my slidedeck for the closing keynote at PHP|tek titled "Chinese Proverbs" and given at PHP|tek Chicago in May 2009.
There was no abstract for this talk.
The document discusses trends among Indian youth aged 16-25 based on a small survey. It finds that youth are excited by fashionable clothing and accessories, social media, fitness, travel, and a variety of foods. They enjoy the latest mobile phones, cars, laptops, and other technology. Youth are heavily influenced by Bollywood and international entertainment. They aspire to study abroad and pursue new career paths with opportunities for quick growth, exposure, and entrepreneurship.
Three thousand children smoke their first cigarette each day, and 20% of American teens smoke. Teenage smoking can lead to serious health issues like decreased lung function and premature death. Peer pressure and stress are factors that may lead teens to start smoking. Doctors should screen teens for smoking and suggest interventions like counseling or nicotine replacement therapy to help them quit.
The document discusses the characteristics and behaviors of Indian youth. It notes that they hold a dual cultural identity, are heavily influenced by media and technology, and have high aspirations. While socially conscious and motivated, the youth also show disrespect and demand instant rewards. The document provides advice to the youth such as pursuing education, spending time in nature, and respecting elders. It emphasizes qualities like courage, creativity, and hard work that the youth should embrace to achieve success and help their nation progress.
Ruby Programming Language - IntroductionKwangshin Oh
Ruby is an interpreted, object-oriented, and dynamically typed programming language. It was created in the 1990s by Yukihiro Matsumoto to enhance programmer productivity and have fun. Some key aspects include everything being an object, duck typing where objects are identified by their methods/attributes rather than type, and a focus on simplicity, readability, and productivity for programmers.
This document summarizes Adam Keys' presentation "Six Easy Pieces (Twice Over)", where he discusses important concepts for software developers based on Richard Feynman's lectures. The presentation is divided into two acts, where the first act from 2006 introduced non-syntactic aspects of Ruby and Rails, and the second act extracts the most important bits and argues they are applicable to all programmers. The concepts discussed include that programming should not suck, languages should make developers feel clever and powerful, the importance of building software with a balance of top-down and bottom-up approaches, keeping things simple, avoiding duplication, using testing as feedback, and how other languages can be borrowed from to write better code.
The document introduces Ruby and Rails. It discusses that Ruby is an object-oriented scripting language created by Matz to bring joy to programming. Rails is a web framework that makes building database-driven web applications easy through conventions like MVC, templates, and ORMs. The document then provides an overview of major Ruby features like objects, variables, arrays, hashes, symbols, blocks and iterators. It also demonstrates building a simple class in Ruby. Finally, it shows a quick demo of generating a TODO list application in Rails.
The document discusses moving away from focusing solely on Ruby and instead embracing service-oriented architecture (SOA) and diversifying programming languages. It argues that picking the best tool for each job rather than sticking with just one language like Ruby will allow for more reuse between projects and easier upgrades. Specific alternatives mentioned include using Go for backends instead of Ruby and moving away from JavaScript for frontends.
This document introduces a book that teaches object-oriented programming concepts in Ruby by making everything an object. The book uses examples and dialogues between two characters to gradually build understanding. It assumes some programming knowledge but not necessarily in an object-oriented language. The examples can be run in the Ruby interpreter irb and are available online. The book is inspired by The Little Lisper but takes a different approach using exercise examples rather than food. It aims to show the ideas in object-oriented programming are interesting intellectually rather than just for practical programming.
This document introduces a book that teaches object-oriented programming concepts in Ruby by making everything an object. The book uses examples and dialogues between two characters to gradually build understanding. It assumes some programming knowledge but not necessarily in an object-oriented language. The examples can be run in the Ruby interpreter irb and are available online. The book is inspired by The Little Lisper but takes a different approach using Ruby rather than food examples.
Little words of wisdom for the developer - Guillaume Laforge (Pivotal)jaxLondonConference
Presented at JAX London 2013 Community Night
Through some famous quotes and pictures that will make you think, Guillaume Laforge, Head of Groovy Development for SpringSource, will illustrate some simple principles that he has followed on the projects he’s worked on, and walk through the lessons he’s learned throughout the journey. Guillaume is the official Groovy Project Manager, and the spec lead of JSR-241, the JSR that standardizes the Groovy dynamic language.
This document provides an overview of JRuby, a Ruby implementation that runs on the Java Virtual Machine. It begins with an agenda that covers Ruby and JRuby basics, real-world JRuby applications including graphics, games, and web applications, and an opportunity for questions. It then introduces the JRuby developers and provides a brief Ruby tutorial covering classes, blocks, modules and more. Examples are given of JRuby being used for graphics, games, Rails web applications, and GUI programming. The presentation concludes by thanking the audience and providing links for more information.
This document provides an overview of JRuby, a Ruby implementation that runs on the Java Virtual Machine. It begins with an agenda, introduces the JRuby developers, provides a brief Ruby tutorial, demonstrates JRuby usage for graphics/games and web applications like Rails, and concludes with a thank you.
The document discusses the history and principles of object-oriented programming (OOP). It notes that while OOP concepts like objects communicating by passing messages have existed since the 1970s, OOP languages like C++ and Java that supported these techniques did not emerge until the 1990s. The document also summarizes several principles of object-oriented design like single responsibility and avoiding tight coupling between objects. It questions whether ActiveRecord models in Rails appropriately separate concerns between domain logic and data persistence.
Programming is hard, but we can magnify our efforts with excellent API design. Let’s explore how, as we consider compactness, orthogonality, consistency, safety, coupling, state handling, layering, and more, illustrated with practical examples (and gruesome mistakes!) from several popular Python libraries.
ORUG - Sept 2014 - Lesson When Learning Ruby/Railsdanielrsmith
This document summarizes 10 things the author learned when switching to Ruby on Rails. 1) Ruby is not the same as Rails, and many people don't understand the difference between the language and framework. 2) It's important to understand how ActiveRecord works and the relationships between models and the database. 3) In Ruby, classes and modules are objects themselves. 4) Code in Ruby should read like English using blocks and following conventions like the Rails way.
The document provides wisdom and advice for programmers from Sung-Kook Han. It discusses many principles and best practices for programming, including:
- Fully define the problem before starting to program.
- Use a top-down approach, draw diagrams, and think through the design before coding.
- Keep things simple, avoid duplication, and minimize complexity.
- Practice abstraction, single responsibility, and defensive programming.
- Iterate and refine through repeated programming.
- Choose tools and languages carefully and get continuous learning.
This document introduces Ruby as an open-source, multi-paradigm programming language created by Yukihiro Matsumoto. Ruby is interpreted, which means code is read and executed by an interpreter rather than being pre-compiled. The document provides instructions for installing Ruby on Windows, Mac OS X, and Linux. It recommends text editors for writing Ruby code and introduces the irb interactive shell for testing code. A simple "Hello, World" program is presented to demonstrate running Ruby code.
The document discusses object-oriented programming and homoiconic programming languages. It argues that Ruby's implementation of OOP differs from Alan Kay's original conception, focusing more on messaging between objects rather than treating them as data structures. Homoiconic languages like Lisp are also discussed, where the code is represented as regular data in the language, enabling powerful metaprogramming capabilities. Examples are given showing how macros and declarative programming are enabled through homoiconicity.
The document discusses metaprogramming in Ruby. It provides an overview of Ruby's metaprogramming capabilities and how they enable dynamically modifying classes at runtime. This allows enhancing core classes like Array as well as building powerful frameworks like Ruby on Rails. The document also describes how Trellis, an experimental web framework created by the author, leverages metaprogramming techniques to provide component-based programming.
The blogs "Dynamic Language Weenies Victorious After All (http://diagrammes-modernes.blogspot.com/2007/07/dynamic-language-weenies-in-default.html)" and "Invasion of the dynamic language weenies? (http://blogs.adobe.com/shebanation/2007/03/invasion_of_the_dynamic_langua.html)" are based on “Invasion Of The Dynamic Language Weenies (http://www.hacknot.info/hacknot/action/showEntry?eid=93)”. Unfortunately http://www.hacknot.info/hacknot/action/showEntry?eid=93 is no longer easily accessible. I could manage to retrieve the article from Internet Archive (http://www.archive.org/).
Ruby is a dynamic, open source programming language that was created in 1993 by Yukihiro Matsumoto who wanted to ensure that programming is simple, practical and enjoyable. It combines object-oriented and imperative programming and provides automatic memory management. Some key aspects of Ruby include being dynamically typed, following the principle of least surprise, and being multi-paradigm supporting object-oriented, functional and imperative programming.
This document provides an introduction to Ruby and Rails. It discusses key differences between Ruby and Rails, with Ruby being an object-oriented scripting language and Rails being a web application framework built on Ruby. It also covers some basic Ruby concepts like variables, data types, methods and iteration. Resources for learning Ruby on Rails are provided, including free options like Codecademy as well as local meetup groups for support.
Inheritance Versus Roles - The In-Depth VersionCurtis Poe
This is the paper to accompany my slides explaining what's wrong with inheritance and how traits (roles) help to solve these issues: http://www.slideshare.net/Ovid/inheritance-versus-roles
Top 10+ Things .NET Developers Should Know About RubyJeff Cohen
This document outlines 11 things that every .NET developer should know about Ruby. It provides a brief history of Ruby and its philosophy of prioritizing what feels natural over what is possible. It also summarizes key Ruby concepts like IRB, conventions, objects always being objects, blocks, dynamic typing, metaprogramming, and more. The document encourages .NET developers to try Ruby and notes some differences from .NET like how classes are open and types are deduced at runtime rather than compile time.
Elasticsearch is a distributed, RESTful search and analytics engine capable of searching, analyzing, and storing large volumes of data. It allows for flexible configuration via a REST API and JSON documents and is scalable, versatile in search capabilities including text analytics, and open source. Elasticsearch can index data in flexible schemas and supports various data modeling approaches like flat structures with separate indexes or denormalized structures to optimize search performance at the cost of update efficiency.
More Related Content
Similar to Spoiling The Youth With Ruby (Euruko 2010)
The document discusses moving away from focusing solely on Ruby and instead embracing service-oriented architecture (SOA) and diversifying programming languages. It argues that picking the best tool for each job rather than sticking with just one language like Ruby will allow for more reuse between projects and easier upgrades. Specific alternatives mentioned include using Go for backends instead of Ruby and moving away from JavaScript for frontends.
This document introduces a book that teaches object-oriented programming concepts in Ruby by making everything an object. The book uses examples and dialogues between two characters to gradually build understanding. It assumes some programming knowledge but not necessarily in an object-oriented language. The examples can be run in the Ruby interpreter irb and are available online. The book is inspired by The Little Lisper but takes a different approach using exercise examples rather than food. It aims to show the ideas in object-oriented programming are interesting intellectually rather than just for practical programming.
This document introduces a book that teaches object-oriented programming concepts in Ruby by making everything an object. The book uses examples and dialogues between two characters to gradually build understanding. It assumes some programming knowledge but not necessarily in an object-oriented language. The examples can be run in the Ruby interpreter irb and are available online. The book is inspired by The Little Lisper but takes a different approach using Ruby rather than food examples.
Little words of wisdom for the developer - Guillaume Laforge (Pivotal)jaxLondonConference
Presented at JAX London 2013 Community Night
Through some famous quotes and pictures that will make you think, Guillaume Laforge, Head of Groovy Development for SpringSource, will illustrate some simple principles that he has followed on the projects he’s worked on, and walk through the lessons he’s learned throughout the journey. Guillaume is the official Groovy Project Manager, and the spec lead of JSR-241, the JSR that standardizes the Groovy dynamic language.
This document provides an overview of JRuby, a Ruby implementation that runs on the Java Virtual Machine. It begins with an agenda that covers Ruby and JRuby basics, real-world JRuby applications including graphics, games, and web applications, and an opportunity for questions. It then introduces the JRuby developers and provides a brief Ruby tutorial covering classes, blocks, modules and more. Examples are given of JRuby being used for graphics, games, Rails web applications, and GUI programming. The presentation concludes by thanking the audience and providing links for more information.
This document provides an overview of JRuby, a Ruby implementation that runs on the Java Virtual Machine. It begins with an agenda, introduces the JRuby developers, provides a brief Ruby tutorial, demonstrates JRuby usage for graphics/games and web applications like Rails, and concludes with a thank you.
The document discusses the history and principles of object-oriented programming (OOP). It notes that while OOP concepts like objects communicating by passing messages have existed since the 1970s, OOP languages like C++ and Java that supported these techniques did not emerge until the 1990s. The document also summarizes several principles of object-oriented design like single responsibility and avoiding tight coupling between objects. It questions whether ActiveRecord models in Rails appropriately separate concerns between domain logic and data persistence.
Programming is hard, but we can magnify our efforts with excellent API design. Let’s explore how, as we consider compactness, orthogonality, consistency, safety, coupling, state handling, layering, and more, illustrated with practical examples (and gruesome mistakes!) from several popular Python libraries.
ORUG - Sept 2014 - Lesson When Learning Ruby/Railsdanielrsmith
This document summarizes 10 things the author learned when switching to Ruby on Rails. 1) Ruby is not the same as Rails, and many people don't understand the difference between the language and framework. 2) It's important to understand how ActiveRecord works and the relationships between models and the database. 3) In Ruby, classes and modules are objects themselves. 4) Code in Ruby should read like English using blocks and following conventions like the Rails way.
The document provides wisdom and advice for programmers from Sung-Kook Han. It discusses many principles and best practices for programming, including:
- Fully define the problem before starting to program.
- Use a top-down approach, draw diagrams, and think through the design before coding.
- Keep things simple, avoid duplication, and minimize complexity.
- Practice abstraction, single responsibility, and defensive programming.
- Iterate and refine through repeated programming.
- Choose tools and languages carefully and get continuous learning.
This document introduces Ruby as an open-source, multi-paradigm programming language created by Yukihiro Matsumoto. Ruby is interpreted, which means code is read and executed by an interpreter rather than being pre-compiled. The document provides instructions for installing Ruby on Windows, Mac OS X, and Linux. It recommends text editors for writing Ruby code and introduces the irb interactive shell for testing code. A simple "Hello, World" program is presented to demonstrate running Ruby code.
The document discusses object-oriented programming and homoiconic programming languages. It argues that Ruby's implementation of OOP differs from Alan Kay's original conception, focusing more on messaging between objects rather than treating them as data structures. Homoiconic languages like Lisp are also discussed, where the code is represented as regular data in the language, enabling powerful metaprogramming capabilities. Examples are given showing how macros and declarative programming are enabled through homoiconicity.
The document discusses metaprogramming in Ruby. It provides an overview of Ruby's metaprogramming capabilities and how they enable dynamically modifying classes at runtime. This allows enhancing core classes like Array as well as building powerful frameworks like Ruby on Rails. The document also describes how Trellis, an experimental web framework created by the author, leverages metaprogramming techniques to provide component-based programming.
The blogs "Dynamic Language Weenies Victorious After All (http://diagrammes-modernes.blogspot.com/2007/07/dynamic-language-weenies-in-default.html)" and "Invasion of the dynamic language weenies? (http://blogs.adobe.com/shebanation/2007/03/invasion_of_the_dynamic_langua.html)" are based on “Invasion Of The Dynamic Language Weenies (http://www.hacknot.info/hacknot/action/showEntry?eid=93)”. Unfortunately http://www.hacknot.info/hacknot/action/showEntry?eid=93 is no longer easily accessible. I could manage to retrieve the article from Internet Archive (http://www.archive.org/).
Ruby is a dynamic, open source programming language that was created in 1993 by Yukihiro Matsumoto who wanted to ensure that programming is simple, practical and enjoyable. It combines object-oriented and imperative programming and provides automatic memory management. Some key aspects of Ruby include being dynamically typed, following the principle of least surprise, and being multi-paradigm supporting object-oriented, functional and imperative programming.
This document provides an introduction to Ruby and Rails. It discusses key differences between Ruby and Rails, with Ruby being an object-oriented scripting language and Rails being a web application framework built on Ruby. It also covers some basic Ruby concepts like variables, data types, methods and iteration. Resources for learning Ruby on Rails are provided, including free options like Codecademy as well as local meetup groups for support.
Inheritance Versus Roles - The In-Depth VersionCurtis Poe
This is the paper to accompany my slides explaining what's wrong with inheritance and how traits (roles) help to solve these issues: http://www.slideshare.net/Ovid/inheritance-versus-roles
Top 10+ Things .NET Developers Should Know About RubyJeff Cohen
This document outlines 11 things that every .NET developer should know about Ruby. It provides a brief history of Ruby and its philosophy of prioritizing what feels natural over what is possible. It also summarizes key Ruby concepts like IRB, conventions, objects always being objects, blocks, dynamic typing, metaprogramming, and more. The document encourages .NET developers to try Ruby and notes some differences from .NET like how classes are open and types are deduced at runtime rather than compile time.
Similar to Spoiling The Youth With Ruby (Euruko 2010) (20)
Elasticsearch is a distributed, RESTful search and analytics engine capable of searching, analyzing, and storing large volumes of data. It allows for flexible configuration via a REST API and JSON documents and is scalable, versatile in search capabilities including text analytics, and open source. Elasticsearch can index data in flexible schemas and supports various data modeling approaches like flat structures with separate indexes or denormalized structures to optimize search performance at the cost of update efficiency.
The document provides an overview of using Elasticsearch. It demonstrates how to install Elasticsearch, index and update documents, perform searches, add nodes to the cluster, and configure shards and clusters. It also covers JSON and HTTP usage, different search types (terms, phrases, wildcards), filtering and boosting searches, and the JSON query DSL. Faceted searching is demonstrated using terms and terms_stats facets. Advanced topics like mapping, analyzing, and features above the basic search capabilities are also briefly mentioned.
Realtime Analytics With Elasticsearch [New Media Inspiration 2013]Karel Minarik
A presentation from the New Media Inspiration 2013 conference (http://www.tuesday.cz/akce/new-media-inspiration-2013/) about using Elasticsearch's faceting features for realtime analytics of big data.
Elasticsearch and Ruby document summarized in 3 sentences:
Elasticsearch is an open source search and analytics engine built on Apache Lucene that provides scalable searching and analyzing of big data. It is a great fit for dynamic languages like Ruby and web-oriented workflows due to its REST API and JSON DSL. The document provides examples of using the Ruby library Tire to interface with Elasticsearch to perform searches and facets from Ruby applications and Rails frameworks.
Shell's Kitchen: Infrastructure As Code (Webexpo 2012)Karel Minarik
Slides for the tutorial by Karel Minarik and Vojtech Hyza at the Webexpo 2012 conference.
Please see the GitHub repositories for the code:
* http://git.io/chef-solo-hello-world
* http://git.io/chef-hello-cloud
The document discusses search and how it works under the hood. It begins with an overview of common search problems and limitations. It then demonstrates how search works by indexing documents into an inverted index of tokens and associated document references. Key steps include analyzing text by splitting, downcasing, and removing stopwords, and then storing the token postings in the index. Search queries can then be executed by looking up token postings in the index. A Ruby example class demonstrates indexing sample documents and searching the generated index.
Your Data, Your Search, ElasticSearch (EURUKO 2011)Karel Minarik
The document discusses search implementation and ElasticSearch. It begins with an overview of how search works by indexing documents into an inverted index of tokens and associated document postings. It then provides a Ruby implementation of a basic search index and demonstrates indexing documents and searching the index. The document concludes by describing features of ElasticSearch like its use of HTTP and JSON, schema-free indexing, distributed search capabilities, and Ruby integration.
Redis — The AK-47 of Post-relational DatabasesKarel Minarik
Redis is described as the "AK-47 of post-relational databases" due to its simplicity, reliability, and versatility. It provides data structures like strings, lists, sets, sorted sets and hashes that allow for features like caching, sessions, pub/sub, and more. Operations are fast due to operating entirely in memory. Redis is simple to install, learn, and use for a wide range of common data services and aggregation tasks.
Apache CouchDB is a distributed, fault-tolerant, and schema-free document-oriented database that is accessible via a RESTful HTTP/JSON API, stores data in JSON documents with dynamic schemas, and uses HTTP for all operations. It allows for querying and analyzing the documents with JavaScript map/reduce functions. CouchDB is highly available, concurrent, and can scale horizontally on commodity hardware or cloud infrastructures.
Efektivni vyvoj webovych aplikaci v Ruby on Rails (Webexpo)Karel Minarik
The document is a presentation about effective web application development using Ruby on Rails. It discusses what Rails is, why use a web framework, and the key components of Rails including ActiveRecord, generators, MVC pattern, and associations.
This document provides an introduction to Ruby on Rails. It discusses what Rails is, why to use a web framework, and key aspects of Rails including its model-view-controller architecture, ActiveRecord object-relational mapping, routing, and more. It also provides additional resources for learning Rails such as books, websites, and the Ruby programming language.
This document discusses Ruby on Rails, a web application framework written in Ruby. It introduces some of the key components of Ruby on Rails, including the Model-View-Controller framework, ActiveRecord, ActiveSupport, ActionController, ActionView, ActionMailer and ActiveResource. It also discusses why Ruby on Rails is popular, noting that it favors conventions over configuration, best practices, and has a strong community.
This document contains code for modeling different animals like dogs and sheep as objects in Ruby. It defines an Animal class with attributes like name and position and methods like walk, run, feed. It then defines Dog and Sheep classes that inherit from Animal and override methods like talk to be animal-specific. The code creates a Dog object, sets its attributes, and calls methods to have it talk, fetch things. This provides a concise 3 sentence summary of the key aspects and purpose of the code sample.
Úvod do programování 3 (to be continued)Karel Minarik
The document provides an introduction to programming concepts in Czech language including basic data types, operations, loops, and conditions. It discusses different programming paradigms such as procedural, object-oriented, and functional programming. It also presents short histories and examples of popular programming languages like Perl, Java, PHP, and Ruby.
The document discusses the history of programming languages and algorithms. It defines a programming language as an artificial language used to formally write algorithms. Algorithms are defined as a finite set of well-defined instructions to solve a problem from an initial state to a final state. The document also notes that computers do exactly what they are told, not what we want them to do. It provides examples of algorithm descriptions and implementations in Java and Ruby programming languages.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
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
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.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...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.
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Zilliz
Join us to introduce Milvus Lite, a vector database that can run on notebooks and laptops, share the same API with Milvus, and integrate with every popular GenAI framework. This webinar is perfect for developers seeking easy-to-use, well-integrated vector databases for their GenAI apps.
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
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.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
2. Karel Minařík
→ Independent web designer and developer („Have Ruby — Will Travel“)
→ Ruby, Rails, Git and CouchDB propagandista in .cz
→ Previously: Flash Developer; Art Director; Information Architect;… (see LinkedIn)
→ @karmiq at Twitter
→ karmi.cz
Spoiling the Youth With Ruby
3. I have spent couple of last years introducing spoiling
humanities students to with the basics of PR0GR4MM1NG.
(As a PhD student)
I’d like to share why and how I did it.
And what I myself have learned in the process.
Spoiling the Youth With Ruby
4. I don’t know if I’m right.
Spoiling the Youth With Ruby
5. But a bunch of n00bz was able to:
‣ Do simple quantitative text analysis (count number of pages, etc)
‣ Follow the development of a simple Wiki web application and
write code on their own
‣ Understand what $ curl ‐i ‐v http://example.com does
‣ And were quite enthusiastic about it
5 in 10 have „some experience“ with HTML
1 in 10 have „at last minimal experience“ with programming (PHP, C, …)
Spoiling the Youth With Ruby
7. Socrates is guilty of spoling the youth (ἀδικεῖν τούϛ τε νέουϛ
διαφθείροντα) and not acknowledging the gods that the city
does, but some other new divinities (ἓτερα δὲ δαιμόνια καινά).
— Plato, Apology, 24b9
Spoiling the Youth With Ruby
8. Some of our city DAIMONIA:
Students should learn C or Java or Lisp…
Web is for hobbyists…
You should write your own implementation of quick sort…
Project management is for „managers“…
UML is mightier than Zeus…
Design patterns are mightier than UML…
Test-driven development is some other new divinity…
Ruby on Rails is some other new divinity…
NoSQL databases are some other new divinities…
(etc ad nauseam)
Spoiling the Youth With Ruby
10. 1 Why Teach Programming (to non-programmers)?
Spoiling the Youth With Ruby
11. „To use a tool on a computer, you need do little more than
point and click; to create a tool, you must understand the
arcane art of computer programming“
— John Maeda, Creative Code
Spoiling the Youth With Ruby
18. Literacy
To most of my students, this:
File.read('pride_and_prejudice.txt').
split(' ').
sort.
uniq
is an ultimate, OMG this is soooooo cool hack
Although it really does not „work“ that well. That’s part of the explanation.
Spoiling the Youth With Ruby
19. 2 Ruby as an „Ideal” Programming Language?
Spoiling the Youth With Ruby
20. There are only two hard things in Computer Science:
cache invalidation and naming things.
— Phil Karlton
Spoiling the Youth With Ruby
21. The limits of my language mean the limits of my world
(Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt)
— Ludwig Wittgenstein, Tractatus Logico-Philosophicus 5.6
Spoiling the Youth With Ruby
22. Ruby as an „Ideal” Programming Language?
We use Ruby because it’s…
Expressive
Flexible and dynamic
Not tied to a specific paradigm
Well designed (cf. Enumerable)
Powerful
(etc ad nauseam)
Spoiling the Youth With Ruby
23. All those reasons are valid
for didactic purposes as well.
Spoiling the Youth With Ruby
24. Ruby as an „Ideal” Programming Language?
Of course… not only Ruby…
Spoiling the Youth With Ruby
25. Ruby as an „Ideal” Programming Language?
www.headfirstlabs.com/books/hfprog/
Spoiling the Youth With Ruby
27. Ruby as an „Ideal” Programming Language?
5.times do
print "Hello. "
end
Spoiling the Youth With Ruby
28. Ruby as an „Ideal” Programming Language?
Let’s start with the basics...
Spoiling the Youth With Ruby
29. An algorithm is a sequence of well defined and
finite instructions. It starts from an initial state
and terminates in an end state.
— Wikipedia
Spoiling the Youth With Ruby
30. Algorithms and kitchen recipes
1. Pour oil in the pan
2. Light the gas
3. Take some eggs
4. ...
Spoiling the Youth With Ruby
31. SIMPLE ALGORITHM EXAMPLE
Finding the largest number from unordered list
1. Let’s assume, that the first number in the list is the largest.
2. Let’s look on every other number in the list, in succession. If it’s larger
then previous number, let’s write it down.
3. When we have stepped through all the numbers, the last number
written down is the largest one.
http://en.wikipedia.org/wiki/Algorithm#Example Spoiling the Youth With Ruby
32. Finding the largest number from unordered list
FORMAL DESCRIPTION IN ENGLISH
Input: A non‐empty list of numbers L
Output: The largest number in the list L
largest ← L0
for each item in the list L≥1, do
if the item > largest, then
largest ← the item
return largest
Spoiling the Youth With Ruby
33. Finding the largest number from unordered list
DESCRIPTION IN PROGRAMMING LANGUAGE C
1 #include <stdio.h>
2 #define SIZE 11
3 int main()
4 {
5 int input[SIZE] = {1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19};
6 int largest = input[0];
7 int i;
8 for (i = 1; i < SIZE; i++) {
9 if (input[i] > largest)
10 largest = input[i];
11 }
12 printf("Largest number is: %dn", largest);
13 return 0;
14 }
Spoiling the Youth With Ruby
34. Finding the largest number from unordered list
DESCRIPTION IN PROGRAMMING LANGUAGE Java
1 class MaxApp {
2 public static void main (String args[]) {
3 int[] input = {1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19};
4 int largest = input[0];
5 for (int i = 0; i < input.length; i++) {
6 if (input[i] > largest)
7 largest = input[i];
8 }
9 System.out.println("Largest number is: " + largest + "n");
10 }
11 }
Spoiling the Youth With Ruby
35. Finding the largest number from unordered list
DESCRIPTION IN PROGRAMMING LANGUAGE Ruby
1 input = [1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19]
2 largest = input.first
3 input.each do |i|
4 largest = i if i > largest
5 end
6 print "Largest number is: #{largest} n"
Spoiling the Youth With Ruby
36. Finding the largest number from unordered list
1 input = [1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19]
2 largest = input.first
3 input.each do |i|
4 largest = i if i > largest
5 end
6 print "Largest number is: #{largest} n"
largest ← L0
for each item in the list L≥1, do
if the item > largest, then
largest ← the item
return largest
Spoiling the Youth With Ruby
37. What can we explain with this example?
‣ Input / Output
‣ Variable
‣ Basic composite data type: an array (a list of items)
‣ Iterating over collection
‣ Block syntax
‣ Conditions
# find_largest_number.rb
‣ String interpolation input = [3, 6, 9, 1]
largest = input.shift
input.each do |i|
largest = i if i > largest
end
print "Largest number is: #{largest} n"
Spoiling the Youth With Ruby
39. BUT, YOU CAN EXPLAIN ALSO…
The concept of a function (method)…
# Function definition:
def max(input)
largest = input.shift
input.each do |i|
largest = i if i > largest
end
return largest
end
# Usage:
puts max( [3, 6, 9, 1] )
# => 9
Spoiling the Youth With Ruby
40. BUT, YOU CAN EXPLAIN ALSO…
… the concept of polymorphy
def max(*input)
largest = input.shift
input.each do |i|
largest = i if i > largest
end
return largest
end
# Usage
puts max( 4, 3, 1 )
puts max( 'lorem', 'ipsum', 'dolor' )
puts max( Time.mktime(2010, 1, 1),
Time.now,
Time.mktime(1970, 1, 1) )
puts max( Time.now, 999 ) #=> (ArgumentError: comparison of Fixnum with Time failed)
Spoiling the Youth With Ruby
41. BUT, YOU CAN EXPLAIN ALSO…
… that you’re doing it wrong — most of the time :)
# Enumerable#max
puts [3, 6, 9, 1].max
Spoiling the Youth With Ruby
42. WHAT I HAVE LEARNED
Pick an example and stick with it
Switching contexts is distracting
What’s the difference between “ and ‘ quote?
What does the @ mean in a @variable ?
„OMG what is a class and an object?“
Spoiling the Youth With Ruby
43. Interactive Ruby console at http://tryruby.org
"hello".reverse
[1, 14, 7, 3].max
["banana", "lemon", "ananas"].size
["banana", "lemon", "ananas"].sort
["banana", "lemon", "ananas"].sort.last
["banana", "lemon", "ananas"].sort.last.capitalize
5.times do
print "Hello. "
end
Spoiling the Youth With Ruby
47. Ruby will grow with you („The Evolution of a Ruby Programmer“)
1 def sum(list)
total = 0
4 def sum(list)
total = 0
for i in 0..list.size-1 list.each{|i| total += i}
total = total + list[i] total
end end
total
end 5 def sum(list)
list.inject(0){|a,b| a+b}
2 def sum(list) end
total = 0
list.each do |item| 6 class Array
total += item def sum
end inject{|a,b| a+b}
total end
end end
3 def test_sum_empty
sum([]) == 0
7 describe "Enumerable objects should sum themselve
end it 'should sum arrays of floats' do
[1.0, 2.0, 3.0].sum.should == 6.0
# ... end
# ...
end
# ...
www.entish.org/wordpress/?p=707 Spoiling the Youth With Ruby
48. WHAT I HAVE LEARNED
If you’re teaching/training, try to learn
something you’re really bad at.
‣ Playing a musical instrument
‣ Drawing
‣ Dancing
‣ Martial arts
‣ …
It gives you the beginner’s perspective
Spoiling the Youth With Ruby
49. 3 Web as a Platform
Spoiling the Youth With Ruby
52. But wait! Almost all of us are doing
web applications today.
Spoiling the Youth With Ruby
53. Why web is a great platform?
Transparent: view-source all the way
Simple to understand
Simple and free development tools
Low barrier of entry
Extensive documentation
Rich platform (HTML5, „jQuery“, …)
Advanced development platforms (Rails, Django, …)
Ubiquitous
(etc ad nauseam)
Spoiling the Youth With Ruby
54. All those reasons are valid
for didactic purposes as well.
Spoiling the Youth With Ruby
55. CODED LIVE IN CLASS, THEN CLEANED UP AND PUT ON GITHUB
http://github.com/stunome/kiwi/
Spoiling the Youth With Ruby
56. Why a Wiki?
Well known and understood piece of software with minimal
and well defined feature set (www.c2.com/cgi/wiki?WikiPrinciples)
Used on a daily basis (Wikipedia)
Feature set could be expanded based on individual skills
Spoiling the Youth With Ruby
58. Sinatra.rb
Why choose Sinatra?
Expose HTTP! GET / → get("/") { ... }
Simple to install and run $ ruby myapp.rb
Simple to write „Hello World“ applications
Spoiling the Youth With Ruby
59. Expose HTTP
$ curl --include --verbose http://www.example.com
* About to connect() to example.com port 80 (#0)
* Trying 192.0.32.10... connected
* Connected to example.com (192.0.32.10) port 80 (#0)
> GET / HTTP/1.1
...
< HTTP/1.1 200 OK
...
<
<HTML>
<HEAD>
<TITLE>Example Web Page</TITLE>
...
* Closing connection #0
Spoiling the Youth With Ruby
65. The difference between theory and practice
is bigger in practice then in theory.
(Jan L. A. van de Snepscheut or Yogi Berra, paraphrase)
Spoiling the Youth With Ruby
66. What I had no time to cover (alas)
Automated testing and test-driven development
Cucumber
Deployment (Heroku.com)
Spoiling the Youth With Ruby
67. What would be great to have
A common curriculum for teaching Ruby
(for inspiration, adaptation, discussion, …)
Code shared on GitHub
TeachingRuby (RailsBridge) (http://teachingkids.railsbridge.org)
Try Camping (http://github.com/judofyr/try-camping)
http://testfirst.org ?
Spoiling the Youth With Ruby