The slides for a presentation of mine on various aspects of Ruby code and things to look for to help improve the readability, efficiency, and maintainability of ones code.
This document discusses using Ruby code in the browser through a Ruby to JavaScript compiler called Opal. Opal allows you to write Ruby code and compile it to JavaScript, enabling the use of Ruby concepts and syntax directly in web applications. Some key points covered include how Opal maps Ruby concepts like self, nil, and truthy values to their JavaScript equivalents, a demo of a calculator application built with Opal, and answers to common questions about whether and how Ruby and JavaScript can interact when using Opal. Benchmarks are also mentioned comparing performance of Ruby code compiled to JS versus interpreting Ruby directly in the browser.
This document provides an overview of common technologies used to build websites, including programming languages (PHP, Ruby, Python), frameworks (Ruby on Rails, Django, Lift), databases (MySQL, MongoDB), markup languages (HTML, XML), styling (CSS), and servers (Apache, Nginx). It discusses the roles of these technologies and how they interact through examples like LAMP stacks. The document seeks to teach others the "language of the web" by explaining the purposes and relationships between these foundational web development tools.
My Top 10 Secret Weapons for Frontend DevelopmentGeoffrey Plitt
The document is a presentation by Geoffrey Plitt about his 10 secret weapons for frontend development. It introduces Plitt as a former Google engineer and current CTO who will discuss tools like Slim for better HTML, SASS for better CSS, CoffeeScript for better JavaScript, and CodeKit for putting it all together. The presentation promotes additional tools like Knockout for better MVC, HeadJS for better JavaScript loading, Proxino for JavaScript error handling, and PubNub for better fan-out capabilities. It concludes by thanking the audience and encouraging them to follow Plitt online.
This document provides an overview of React including what it is, who uses it, its core concepts, and why one should use React. React is a library for building user interfaces that uses a component-based approach and virtual DOM for declarative programming. It allows components to be written once and used on the web, mobile, and beyond. Core concepts include components, virtual DOM, and unidirectional data flow. Benefits of React include the ability to write code once and deploy anywhere, fast rendering with virtual DOM, and the growing demand for React skills.
IBM InterConnect 2015: Dax 5162-C-ing is Believing:
Finding talent for C/C++ development for Unix systems can be a challenge. However, it does not have to be so difficult. Using Rational Developer, you can have more junior developers, or cross-skilled developers do the kind of slick development that punches above their weight class. See how the productivity features of the editors far exceed what vi can do. See how static code analysis can reduce your defect cycle time, improve code maintenance, and performance of your applications.
Refactoring is changing code without altering its external behavior but improving its internal structure and design. It makes code more maintainable, understandable and flexible. Some signs that refactoring is needed include duplicated code, long methods, large classes, and code that is difficult to modify. Common refactoring techniques include extracting methods, moving methods between classes, introducing new classes/objects, and simplifying conditional statements. Refactoring helps developers write better code more quickly and prevents design deterioration over time.
This document summarizes a presentation on refactoring and code quality given by Peter Kofler. The presentation covers topics such as code smells, refactoring techniques like extract method, using tools like PHPStorm for refactoring, and practicing refactoring through coding dojos and katas. The goal is to help developers improve code quality, design and productivity through iterative refactoring.
This document discusses refactoring code to improve its design without changing its external behavior. It defines refactoring as changing code structure without modifying functionality. The author is an experienced PHP developer who gives tips on when and how to refactor code, including drivers like preventing decay, reducing duplication, and improving maintainability. Examples are provided of code smells that indicate refactoring may be helpful, like duplicate code, long methods, and large classes. The document concludes by emphasizing the importance of testing before and after refactoring.
This document discusses using Ruby code in the browser through a Ruby to JavaScript compiler called Opal. Opal allows you to write Ruby code and compile it to JavaScript, enabling the use of Ruby concepts and syntax directly in web applications. Some key points covered include how Opal maps Ruby concepts like self, nil, and truthy values to their JavaScript equivalents, a demo of a calculator application built with Opal, and answers to common questions about whether and how Ruby and JavaScript can interact when using Opal. Benchmarks are also mentioned comparing performance of Ruby code compiled to JS versus interpreting Ruby directly in the browser.
This document provides an overview of common technologies used to build websites, including programming languages (PHP, Ruby, Python), frameworks (Ruby on Rails, Django, Lift), databases (MySQL, MongoDB), markup languages (HTML, XML), styling (CSS), and servers (Apache, Nginx). It discusses the roles of these technologies and how they interact through examples like LAMP stacks. The document seeks to teach others the "language of the web" by explaining the purposes and relationships between these foundational web development tools.
My Top 10 Secret Weapons for Frontend DevelopmentGeoffrey Plitt
The document is a presentation by Geoffrey Plitt about his 10 secret weapons for frontend development. It introduces Plitt as a former Google engineer and current CTO who will discuss tools like Slim for better HTML, SASS for better CSS, CoffeeScript for better JavaScript, and CodeKit for putting it all together. The presentation promotes additional tools like Knockout for better MVC, HeadJS for better JavaScript loading, Proxino for JavaScript error handling, and PubNub for better fan-out capabilities. It concludes by thanking the audience and encouraging them to follow Plitt online.
This document provides an overview of React including what it is, who uses it, its core concepts, and why one should use React. React is a library for building user interfaces that uses a component-based approach and virtual DOM for declarative programming. It allows components to be written once and used on the web, mobile, and beyond. Core concepts include components, virtual DOM, and unidirectional data flow. Benefits of React include the ability to write code once and deploy anywhere, fast rendering with virtual DOM, and the growing demand for React skills.
IBM InterConnect 2015: Dax 5162-C-ing is Believing:
Finding talent for C/C++ development for Unix systems can be a challenge. However, it does not have to be so difficult. Using Rational Developer, you can have more junior developers, or cross-skilled developers do the kind of slick development that punches above their weight class. See how the productivity features of the editors far exceed what vi can do. See how static code analysis can reduce your defect cycle time, improve code maintenance, and performance of your applications.
Refactoring is changing code without altering its external behavior but improving its internal structure and design. It makes code more maintainable, understandable and flexible. Some signs that refactoring is needed include duplicated code, long methods, large classes, and code that is difficult to modify. Common refactoring techniques include extracting methods, moving methods between classes, introducing new classes/objects, and simplifying conditional statements. Refactoring helps developers write better code more quickly and prevents design deterioration over time.
This document summarizes a presentation on refactoring and code quality given by Peter Kofler. The presentation covers topics such as code smells, refactoring techniques like extract method, using tools like PHPStorm for refactoring, and practicing refactoring through coding dojos and katas. The goal is to help developers improve code quality, design and productivity through iterative refactoring.
This document discusses refactoring code to improve its design without changing its external behavior. It defines refactoring as changing code structure without modifying functionality. The author is an experienced PHP developer who gives tips on when and how to refactor code, including drivers like preventing decay, reducing duplication, and improving maintainability. Examples are provided of code smells that indicate refactoring may be helpful, like duplicate code, long methods, and large classes. The document concludes by emphasizing the importance of testing before and after refactoring.
The document discusses how the entropy of Ruby codebases increases over time if changes are not limited, making future changes more difficult. It advocates for writing specs to establish confidence in code and observing trends in metrics like code coverage, complexity, and churn to catch signs of rising entropy early. Sticking to conventions but knowing when to deviate, and focusing on principles over mechanics can help limit a codebase's entropy.
An overview of Ruby, jRuby, Rails, Torquebox, and PostgreSQL that was presented as a 3 hour class to other programmers at The Ironyard (http://theironyard.com) in Greenville, SC in July of 2013. The Rails specific sections are mostly code samples that were explained during the session so the real focus of the slides is Ruby, "the rails way" / workflow / differentiators and PostgreSQL.
Dapper: the microORM that will change your lifeDavide Mauri
ORM or Stored Procedures? Code First or Database First? Ad-Hoc Queries? Impedance Mismatch? If you're a developer or you are a DBA working with developers you have heard all this terms at least once in your life…and usually in the middle of a strong discussion, debating about one or the other. Well, thanks to StackOverflow's Dapper, all these fights are finished. Dapper is a blazing fast microORM that allows developers to map SQL queries to classes automatically, leaving (and encouraging) the usage of stored procedures, parameterized statements and all the good stuff that SQL Server offers (JSON and TVP are supported too!) In this session I'll show how to use Dapper in your projects from the very basis to some more complex usages that will help you to create *really fast* applications without the burden of huge and complex ORMs. The days of Impedance Mismatch are finally over!
A great idea can be built with almost any technology. The success or failure of your project has more to do with vision, leadership, execution, and market than technological choices.
Besides the vision, a lot of startups focus on culture. what isn’t often mentioned is that the technical decisions will have a direct effect on the company culture. Great things have been built with each of the technologies. But they do come with a culture.
The purpose of this presentation is to help developers, managers, founders, etc. to make an insightful decision about the framework they want to use to create their product.
Zack Hubert gave a presentation on the Go programming language. He discussed how Go was created by Rob Pike, Ken Thompson, and Robert Griesemer to be a fast, modern, and simplified language. Go aims for speed through compilation while feeling like an interpreted language. It also supports concurrency through lightweight processes and channels. The language is designed to be simple with features like garbage collection and a small standard library to support modern web development.
Go After 4 Years in Production - QCon 2015Travis Reeder
Being one of the first companies (Iron.io) to use Go in production, the first to publicly hire Go developers and organizers of the largest Go meetup in the world, Travis has a unique perspective on the language and the community around it. Since we started using it, it has become one of the fastest growing languages and is being used in almost all startups (and non-startups) in some way or another. After making the switch from Ruby to Go - there’s plenty to be said after 4 years. A discussion on performance, memory, concurrency, reliability, and deployment are key to exploring Go and it’s value in Production. See how it’s worked for Iron.io, strategies for finding talent and explore the community.
Dynamic SQL: How to Build Fast Multi-Parameter Stored ProceduresBrent Ozar
This document discusses best practices for building fast stored procedures that accept multiple parameters. It begins by describing a common business need to build a search page and outlines four approaches to building the stored procedure: 1) using OR conditions, 2) COALESCE, 3) dynamic SQL, 4) combining OR and dynamic SQL. Each approach is demonstrated with examples and limitations are discussed. While dynamic SQL allows for different execution plans per parameter combination, it can lead to bloating the plan cache and potential parameter sniffing issues. The document recommends techniques for troubleshooting dynamic SQL like using comments and debug variables.
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
This document discusses the benefits of polyglot and poly-paradigm programming approaches for building more agile applications. It describes how using multiple languages and programming paradigms can optimize both performance and developer productivity. Specifically, it suggests that statically-typed compiled languages be used for core application components while dynamically-typed scripting languages connect and customize these components. This approach allows optimizing areas that require speed/efficiency separately from those requiring flexibility. The document also advocates aspects and functional programming to address cross-cutting concerns and concurrency challenges that arise in modern applications.
This document summarizes an introductory computer science class that teaches Ruby programming. It introduces the course, resources, instructors, and covers data types, variables, math operations, string methods, printing to the screen, comments, and naming conventions. The class assumes no prior experience and aims to teach programming fundamentals in Ruby, an easy-to-learn and widely used language.
Javascript is actually called ECMAScript. The document provides an overview of JavaScript including how it interacts with the DOM in the browser, using JavaScript in web pages, syntax, control structures like loops and conditionals, objects as hashes, functions as first-class objects, loose typing, closures, prototypes, JSON, cross-domain AJAX, libraries like jQuery, and resources for learning more. The global scope in JavaScript is discussed and the importance of using var is emphasized to avoid polluting the global namespace.
The document compares PHP and Ruby, and the web frameworks CakePHP and Ruby on Rails. It discusses the key features and differences between PHP and Ruby, and demonstrates how a simple blog application can be created from scratch in under a minute using Ruby on Rails with no coding required, compared to the additional coding needed in CakePHP. The document argues that Ruby on Rails is more productive and fully-featured compared to CakePHP.
What would your own version of Ruby look like?Hung Wu Lo
Goby is an object-oriented scripting language inspired by Ruby that is written in Go. The creator's visions for Goby are to make it highly productive, extensible, and predictable. Productivity is emphasized through readability, consistency enforced by strict syntax rules and official style guidance, and predictability through limiting the scope of features like method_missing and making the target of super explicit. Extensibility is enabled by allowing Go libraries to be used in Goby and facilitating the porting of Ruby gems. The language is still in early development but aims to provide a Ruby-like experience with the performance benefits of Go's concurrency features.
The document discusses how Ruby's dynamic and reflective nature allows for meta-programming techniques that Rails leverages heavily, such as enhancing classes and using code as data, to accomplish its "magic" of providing a domain-specific language for building database-backed web applications with an integrated and seamless front-to-back stack. Ruby's meta-programming capabilities like open classes and meta-classes are key to how Rails accomplishes convention over configuration and allows terse and expressive code to generate advanced web application behavior.
1. JavaScript is a programming language built into web browsers that allows for source code, algorithms, and input/output of data. Variants include ActionScript and JScript.
2. jQuery is a JavaScript library that makes complex tasks easier by providing functions to simplify things like DOM manipulation.
3. Debugging tools built into browsers can help proofread markup languages for errors by catching problems as the page loads. While coding standards help, computers don't always behave predictably so issues may still occur.
WordCamp Nashville: Clean Code for WordPressmtoppa
Slides from my talk at WordCamp Nashville, including notes. Covers why clean code is important, and provides 10 tips to make your code cleaner, for WordPress and beyond
Rake can be used as a build management tool for developers and project managers. It is based on Ruby and allows calling Ant tasks, as well as offering improvements over Ant like direct use of Ruby methods and objects. Using Rake for initial project setup and configuration can automate tasks, standardize processes, and improve the experience for new team members.
Sambit Mohapatra is seeking a challenging position as a Software Professional. He has 2.6 years of experience in web application development using Java, AngularJS, HTML5, and databases like MySQL. He has worked on projects in e-learning including Scholastic Learning Zone and HMH, developing REST APIs, email functionality, front ends, test cases, and ensuring code quality. He is a flexible team player who can work under pressure to meet deadlines.
There has been lots of talk on the importance of writing good and manageable code – code whose inherent beauty bring tears to the eyes of the developer that looks at it. This talk is not like that. This talk will focus on the techniques that are used by millions across the world to bring tears to the eyes of the maintaining developer, as well as a graphic stream of profanities.We will investigate some of the most common anti-patterns and half-measures that occur in real live code, and will marvel at the ingenuity and outright creativity necessary to create ugly messes of unmaintainable code that still manages to work for it’s users.
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:
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.
The document discusses how the entropy of Ruby codebases increases over time if changes are not limited, making future changes more difficult. It advocates for writing specs to establish confidence in code and observing trends in metrics like code coverage, complexity, and churn to catch signs of rising entropy early. Sticking to conventions but knowing when to deviate, and focusing on principles over mechanics can help limit a codebase's entropy.
An overview of Ruby, jRuby, Rails, Torquebox, and PostgreSQL that was presented as a 3 hour class to other programmers at The Ironyard (http://theironyard.com) in Greenville, SC in July of 2013. The Rails specific sections are mostly code samples that were explained during the session so the real focus of the slides is Ruby, "the rails way" / workflow / differentiators and PostgreSQL.
Dapper: the microORM that will change your lifeDavide Mauri
ORM or Stored Procedures? Code First or Database First? Ad-Hoc Queries? Impedance Mismatch? If you're a developer or you are a DBA working with developers you have heard all this terms at least once in your life…and usually in the middle of a strong discussion, debating about one or the other. Well, thanks to StackOverflow's Dapper, all these fights are finished. Dapper is a blazing fast microORM that allows developers to map SQL queries to classes automatically, leaving (and encouraging) the usage of stored procedures, parameterized statements and all the good stuff that SQL Server offers (JSON and TVP are supported too!) In this session I'll show how to use Dapper in your projects from the very basis to some more complex usages that will help you to create *really fast* applications without the burden of huge and complex ORMs. The days of Impedance Mismatch are finally over!
A great idea can be built with almost any technology. The success or failure of your project has more to do with vision, leadership, execution, and market than technological choices.
Besides the vision, a lot of startups focus on culture. what isn’t often mentioned is that the technical decisions will have a direct effect on the company culture. Great things have been built with each of the technologies. But they do come with a culture.
The purpose of this presentation is to help developers, managers, founders, etc. to make an insightful decision about the framework they want to use to create their product.
Zack Hubert gave a presentation on the Go programming language. He discussed how Go was created by Rob Pike, Ken Thompson, and Robert Griesemer to be a fast, modern, and simplified language. Go aims for speed through compilation while feeling like an interpreted language. It also supports concurrency through lightweight processes and channels. The language is designed to be simple with features like garbage collection and a small standard library to support modern web development.
Go After 4 Years in Production - QCon 2015Travis Reeder
Being one of the first companies (Iron.io) to use Go in production, the first to publicly hire Go developers and organizers of the largest Go meetup in the world, Travis has a unique perspective on the language and the community around it. Since we started using it, it has become one of the fastest growing languages and is being used in almost all startups (and non-startups) in some way or another. After making the switch from Ruby to Go - there’s plenty to be said after 4 years. A discussion on performance, memory, concurrency, reliability, and deployment are key to exploring Go and it’s value in Production. See how it’s worked for Iron.io, strategies for finding talent and explore the community.
Dynamic SQL: How to Build Fast Multi-Parameter Stored ProceduresBrent Ozar
This document discusses best practices for building fast stored procedures that accept multiple parameters. It begins by describing a common business need to build a search page and outlines four approaches to building the stored procedure: 1) using OR conditions, 2) COALESCE, 3) dynamic SQL, 4) combining OR and dynamic SQL. Each approach is demonstrated with examples and limitations are discussed. While dynamic SQL allows for different execution plans per parameter combination, it can lead to bloating the plan cache and potential parameter sniffing issues. The document recommends techniques for troubleshooting dynamic SQL like using comments and debug variables.
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
This document discusses the benefits of polyglot and poly-paradigm programming approaches for building more agile applications. It describes how using multiple languages and programming paradigms can optimize both performance and developer productivity. Specifically, it suggests that statically-typed compiled languages be used for core application components while dynamically-typed scripting languages connect and customize these components. This approach allows optimizing areas that require speed/efficiency separately from those requiring flexibility. The document also advocates aspects and functional programming to address cross-cutting concerns and concurrency challenges that arise in modern applications.
This document summarizes an introductory computer science class that teaches Ruby programming. It introduces the course, resources, instructors, and covers data types, variables, math operations, string methods, printing to the screen, comments, and naming conventions. The class assumes no prior experience and aims to teach programming fundamentals in Ruby, an easy-to-learn and widely used language.
Javascript is actually called ECMAScript. The document provides an overview of JavaScript including how it interacts with the DOM in the browser, using JavaScript in web pages, syntax, control structures like loops and conditionals, objects as hashes, functions as first-class objects, loose typing, closures, prototypes, JSON, cross-domain AJAX, libraries like jQuery, and resources for learning more. The global scope in JavaScript is discussed and the importance of using var is emphasized to avoid polluting the global namespace.
The document compares PHP and Ruby, and the web frameworks CakePHP and Ruby on Rails. It discusses the key features and differences between PHP and Ruby, and demonstrates how a simple blog application can be created from scratch in under a minute using Ruby on Rails with no coding required, compared to the additional coding needed in CakePHP. The document argues that Ruby on Rails is more productive and fully-featured compared to CakePHP.
What would your own version of Ruby look like?Hung Wu Lo
Goby is an object-oriented scripting language inspired by Ruby that is written in Go. The creator's visions for Goby are to make it highly productive, extensible, and predictable. Productivity is emphasized through readability, consistency enforced by strict syntax rules and official style guidance, and predictability through limiting the scope of features like method_missing and making the target of super explicit. Extensibility is enabled by allowing Go libraries to be used in Goby and facilitating the porting of Ruby gems. The language is still in early development but aims to provide a Ruby-like experience with the performance benefits of Go's concurrency features.
The document discusses how Ruby's dynamic and reflective nature allows for meta-programming techniques that Rails leverages heavily, such as enhancing classes and using code as data, to accomplish its "magic" of providing a domain-specific language for building database-backed web applications with an integrated and seamless front-to-back stack. Ruby's meta-programming capabilities like open classes and meta-classes are key to how Rails accomplishes convention over configuration and allows terse and expressive code to generate advanced web application behavior.
1. JavaScript is a programming language built into web browsers that allows for source code, algorithms, and input/output of data. Variants include ActionScript and JScript.
2. jQuery is a JavaScript library that makes complex tasks easier by providing functions to simplify things like DOM manipulation.
3. Debugging tools built into browsers can help proofread markup languages for errors by catching problems as the page loads. While coding standards help, computers don't always behave predictably so issues may still occur.
WordCamp Nashville: Clean Code for WordPressmtoppa
Slides from my talk at WordCamp Nashville, including notes. Covers why clean code is important, and provides 10 tips to make your code cleaner, for WordPress and beyond
Rake can be used as a build management tool for developers and project managers. It is based on Ruby and allows calling Ant tasks, as well as offering improvements over Ant like direct use of Ruby methods and objects. Using Rake for initial project setup and configuration can automate tasks, standardize processes, and improve the experience for new team members.
Sambit Mohapatra is seeking a challenging position as a Software Professional. He has 2.6 years of experience in web application development using Java, AngularJS, HTML5, and databases like MySQL. He has worked on projects in e-learning including Scholastic Learning Zone and HMH, developing REST APIs, email functionality, front ends, test cases, and ensuring code quality. He is a flexible team player who can work under pressure to meet deadlines.
There has been lots of talk on the importance of writing good and manageable code – code whose inherent beauty bring tears to the eyes of the developer that looks at it. This talk is not like that. This talk will focus on the techniques that are used by millions across the world to bring tears to the eyes of the maintaining developer, as well as a graphic stream of profanities.We will investigate some of the most common anti-patterns and half-measures that occur in real live code, and will marvel at the ingenuity and outright creativity necessary to create ugly messes of unmaintainable code that still manages to work for it’s users.
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:
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.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
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
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
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
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.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
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
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
2. Me
Polyglot :
C, C++, Ruby, Java, Scala, JavaScript, Go, Python, etc.
Senior Software Engineer :
Over 13 years of experience professionally.
Math Nerd :
Discrete Math (Graph Theory, Number Theory, Information Theory,
Model Design, Algorithm Analysis & Design
Daniel Marvin daniel@cloudpack.io
http://daniel.cloudpack.io
Amateur Wormhole Theorist :
The speed of light just isn’t fast enough.
http://capterra.com
3. In Computer Science, as we evaluate and analyze
algorithms, we consistently ask ourselves, “Can we
do better?”
We will ask ourselves a similar question in regards to
refactoring.
But what is our goal? Why does it even matter?
Can We Do Better?
4. What’s the Point?
While huge improvements have been made with tools
for solving problems, we want to ensure we get the
most out of our code.
We want to make sure that others can read and
understand our code — including others like our
abstract self — days, weeks, or months after having
written the code.
We want to make sure that we can easily add to our
code without needing to re-write massive portions.
9. Many Ways
Ruby offers us numerous ways to accomplish the
same tasks and this can be good or bad.
!
All code is just code.
!
However, somethings you don’t want to do.
10. Improper use of globals
Class name in class methods
One or two character variables
Unnecessary iterations
Multi-purpose methods
Things to NOT do
11. Classes as data structures
Object misuse
Memory abuse
Less Obvious Bad
12.
13.
14.
15.
16. Memory Usage
Because Ruby makes things very easy for us, it is also easy
to take for granted not needing to manage memory, however
when it comes to optimizing code, it is very helpful to have an
understanding of the Garbage Collector, how Ruby objects
function under-the-hood, and how data is moved around.
17. PbV or PbR? Not beer.
One important thing to know is how Ruby passes around data.
!
Pass-by-value : A copy is made.
Pass-by-reference: The memory location is referenced.
!
C Ruby does a combination of both!
!
J Ruby does a combination of both too, however the way the
JVM’s GC works is a bit different, so we’re not going to chat
about that today.
18.
19. value = “this is a string”
value.class #=> String
value.object_id #=> 70198768696180
printf("0x%X", (value.object_id << 1)) #=> 0x7FB0D957F6E8
MEMORY BLOCK: 0x7FB0D957F6E8
We Have Ways Of Making Objects Talk