Becoming a more productive Rails DeveloperJohn McCaffrey
A presentation by John McCaffrey of RailsPerformance.com on how to manage technical information, ask technical questions, expand Ruby and Rails knowledge, and work on interesting side projects for open source, non-profits or as a freelancer
A walkthrough of various application performance tuning tools and a good workflow for where to start, from a presentation at WindyCityRails 2011 in Chicago, IL.
See the video, and more Web and Ruby/Rails Performance info at www.RailsPerformance.com
-John McCaffrey
LeanStartup:Research is cheaper than developmentJohn McCaffrey
The document discusses the importance of conducting thorough research before beginning development on a new project. It argues that research is cheaper than development and can help define the problem, understand existing terminology and solutions, identify target customers, and find market trends. Both primary and secondary research methods are covered, including interviews, online searches, social bookmarking, and polling forums. The presentation provides tips for creating a project profile and researching problems, customers, influencers, and monitoring competitors. It emphasizes gathering useful data and testing hypotheses before taking action.
The document provides advice on building APIs based on the author's experience building WIB APIs. Some key points include:
- Use Ruby on Rails for its RESTful design, ease of development, and ability to scale horizontally.
- Implement OAuth2 for authentication and authorization for its simplicity.
- Return errors and limit data in standardized JSON formats for consistency.
- Abstract the API into layers and keep it DRY to improve scalability and extensibility.
- Prioritize documentation, testing, monitoring, and following standards used by other successful APIs.
This document summarizes the evolution of using MySQL in AWS, from initial small deployments to more complex architectures with high availability and geo-redundancy needs. It describes starting with basic RDS instances, scaling to handle more reads with read replicas, and the limitations of multi-AZ deployments that require rolling your own HA solutions using tools like Pacemaker and mysqlfailover. As needs grow further, it discusses exploring synchronous replication and geo-redundancy across locations.
IronRuby has been around for a while. This presentation is about the practical uses of IronRuby. It contains several different use cases that you can immediately go and use to enhance your everyday work.
This document discusses customizing the WordPress loop to display content. It introduces different loop methods like WP_Query, query_posts(), and get_posts(), explaining that WP_Query is the best option. Code examples are provided for custom loops on the homepage, sidebar, and pages to categorize and style content differently.
Becoming a more productive Rails DeveloperJohn McCaffrey
A presentation by John McCaffrey of RailsPerformance.com on how to manage technical information, ask technical questions, expand Ruby and Rails knowledge, and work on interesting side projects for open source, non-profits or as a freelancer
A walkthrough of various application performance tuning tools and a good workflow for where to start, from a presentation at WindyCityRails 2011 in Chicago, IL.
See the video, and more Web and Ruby/Rails Performance info at www.RailsPerformance.com
-John McCaffrey
LeanStartup:Research is cheaper than developmentJohn McCaffrey
The document discusses the importance of conducting thorough research before beginning development on a new project. It argues that research is cheaper than development and can help define the problem, understand existing terminology and solutions, identify target customers, and find market trends. Both primary and secondary research methods are covered, including interviews, online searches, social bookmarking, and polling forums. The presentation provides tips for creating a project profile and researching problems, customers, influencers, and monitoring competitors. It emphasizes gathering useful data and testing hypotheses before taking action.
The document provides advice on building APIs based on the author's experience building WIB APIs. Some key points include:
- Use Ruby on Rails for its RESTful design, ease of development, and ability to scale horizontally.
- Implement OAuth2 for authentication and authorization for its simplicity.
- Return errors and limit data in standardized JSON formats for consistency.
- Abstract the API into layers and keep it DRY to improve scalability and extensibility.
- Prioritize documentation, testing, monitoring, and following standards used by other successful APIs.
This document summarizes the evolution of using MySQL in AWS, from initial small deployments to more complex architectures with high availability and geo-redundancy needs. It describes starting with basic RDS instances, scaling to handle more reads with read replicas, and the limitations of multi-AZ deployments that require rolling your own HA solutions using tools like Pacemaker and mysqlfailover. As needs grow further, it discusses exploring synchronous replication and geo-redundancy across locations.
IronRuby has been around for a while. This presentation is about the practical uses of IronRuby. It contains several different use cases that you can immediately go and use to enhance your everyday work.
This document discusses customizing the WordPress loop to display content. It introduces different loop methods like WP_Query, query_posts(), and get_posts(), explaining that WP_Query is the best option. Code examples are provided for custom loops on the homepage, sidebar, and pages to categorize and style content differently.
This document discusses IronRuby on Rails. It begins with an introduction to Ruby on Rails and IronRuby. The main concepts of Rails like MVC, REST, routing, and testability are then covered. Finally, information on getting started with IronRuby on Rails is provided.
6 reasons Jubilee could be a Rubyist's new best friendForrest Chang
(Video here: http://confreaks.com/videos/5014-RubyConf2014-6-reasons-jubilee-could-be-a-rubyist-s-new-best-friend or https://www.youtube.com/watch?feature=player_embedded&v=FFR0G89WXI8)
Rubyconf 2014 talk on Jubilee, a Vert.x module that runs rack apps.
Alternate titles
Beyond Rails while using Rails
Rails can't do everything I want and <fill> makes me want to cry
Rubyconf abstract
Do you do web development in Ruby? Have you been forced to go to node or other technologies just for concurrency/websockets etc. Do miss your gems, and tire of functionality you have to implement from scratch? Do you hate javascript?
Well no need to switch languages/platforms, Jubilee could be your new best friend.
Jubilee, a rack server on top of Vert.x gives you
* Concurrency
* Speed
* Easy Websockets support
* Shared Memory
* Access to the JVM ecosystem
* Ability to reuse your existing Ruby knowledge and gems
"Say Hello to your new friend" - Al Pacino
RoR是Ruby on Rails的缩写,是一个用于编写Web应用的框架。他基于Ruby语言,给开发人员提供了强大便利的框架支持。Ruby有很多优点,但是一直以来其流行范围仅局限于日本。2004年,当Rails框架横空出世,让人们认识到了一个更符合实际需要并且高效的web框架,在其出现不久就受到了业内的广泛关注。吕国宁将结合自己三年的Rails开发经验,给大家介绍一些Rails的优点,背后的设计文化,以及Rails的前景发展等内容。
This document discusses the benefits of using the Ruby on Rails (ROR) web framework. It notes that Rails allows developers to build applications with less code and in less time compared to other technologies like Java. Specific points made include that a basic blog application can be created in Rails in just 15 minutes, and that Rails applications generally have significantly less lines of code and configuration compared to equivalent Java applications. The document also promotes upcoming Rails events in China and provides contact information for the founder of the Shanghai Rails meetup group.
- The team created a content inventory spreadsheet to audit and organize all website content. This involved building a sitemap, indexing documents, and identifying duplicates.
- They used Mercurial for version control due to its ease of use, cross-platform support, and ability to clone repositories for branching.
- A CSS style guide was created as a reference for developers, demonstrating classes and IDs without being a full framework or coding specification.
This document summarizes Chris Skardon's experience migrating the database for his competition running site Tournr from SQL to document and graph databases. It describes how the initial database choice of SQL Server became limiting and led to migrations first to RavenDB, a document database, and then to Neo4j, a graph database. Both migrations required reworking the data model and code but provided performance and flexibility benefits. While challenging, the migrations were worthwhile as the graph model better fit Tournr's needs.
This document provides an overview of functional programming concepts using Ruby. It discusses some of the problems with object-oriented programming like side effects and sharing of data and code. It then presents some ways to adopt a more functional style in Ruby, such as treating loops and data structures as functions. The document also introduces the Functional Ruby gem which adds features inspired by languages like Erlang and Haskell, including pattern matching, immutability and memoization. Overall, the document aims to demonstrate how functional programming principles can be applied in Ruby.
The document discusses the history and benefits of test-driven development (TDD). It notes that practices like agile development, extreme programming, and open source helped popularize TDD. TDD emphasizes writing tests before code, continuous integration, refactoring, loose coupling, and testing all new code. The document acknowledges research showing TDD may take longer initially but finds fewer bugs. It provides examples of Ruby testing tools and frameworks that facilitate TDD. The overall message is that the software development community now widely accepts and uses TDD.
[Rakuten TechConf2014] [C-2] Big Data for eBooks and eReadersRakuten Group, Inc.
This document discusses Kobo's use of big data analytics for ebooks and ereaders. It describes how Kobo uses technologies like Hadoop, Storm, and Solix to process, store, and analyze streaming data from ebooks. Kobo's big data team analyzes this data to power search and recommendations functions, perform content analysis tasks like related items and adult content filtering, and extract metadata from books to link to online information. Kobo's optimization of webpage layouts also utilizes big data approaches to test configurations and maximize user engagement.
In programming you can choose sides. You can choose the front or back end and if you really can’t choose you can be Switzerland and choose full stack.
For this meetup at the ANWB we've sided with front end and we had 3 Girl Coders who led us through different tech and aspects of front end coding.
Presentations:
- "Intro about Girl Code" by Ineke Scheffers
- "Intro about ANWB" by Xiaolin Song
- “Mixing UX with code: on being a Front Ender who also designs” by Hanny Verkerk
- “My first adventure with Elm: An introduction and comparison with AngularJS” by Anne van den Berg
- "How Bootstrap makes your Front End life easier" by Chantal Sloep
- The document evaluates criteria for choosing between NoSQL technologies like MongoDB and Redis.
- It discusses two use cases at Offers.com and how Redis was chosen for the first use case due to its fast reads/writes and data persistence, while MongoDB was chosen for the second use case due to its document-oriented data model and flexibility.
- Some downsides discussed are lack of data safety guarantees in MongoDB and lack of abstraction between NoSQL systems.
This document discusses ASP.NET MVC, which is a new project type for ASP.NET that separates concerns and allows for cleaner URLs and full control over markup. It follows the model-view-controller pattern, with the request first going to the controller, then the model, and then the view, which renders the response. The speaker discusses the benefits of this approach and notes that future versions will improve productivity, AJAX support, and extensibility.
I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)Kevin Bruce
One month I was a web designer, the next I co-owned an existing tech media company. php[architect] is a boutique publishing brand that is well known in the PHP developer world. When our newly-minted four person company was asked to take over the brand (because the founder wanted to move on), we jumped at the opportunity. We took over a monthly magazine, tech books, training and two national conferences. As the sole designer in a band of developers, I was the most concerned. After several months, we worked out a content workflow (that ended in both digital and print) that made it possible for just four people to run a thriving boutique media company. This is how we did it.
This document provides an agenda and overview for a class on websites and design skills. It discusses using GitHub for collaboration, technologies that power websites like HTML and CSS, search engine optimization, business models, and an upcoming project involving designing a website business. Students are asked to review an existing website for SEO and business factors for homework.
Customizing the custom loop wordcamp 2012-jeffJeff Marx
This document discusses customizing WordPress loops to display content in non-standard ways. It introduces different loop methods like WP_Query, get_posts(), and query_posts() and recommends using WP_Query to build custom loops. Examples are provided of custom loops for the homepage, sidebar, and pages to categorize and style content beyond the default loop.
Michael Koby presented lessons learned from developing real world Rails applications. Some of the key lessons included: don't fear using scaffolding early on to quickly generate the basic structure; bundle your gems to manage dependencies; don't reinvent the wheel and leverage existing libraries; you can test functionality before building the full user interface; migrations are important for managing database schema changes; and seed data helps provide sample data for testing and demonstrations. Koby solicited questions and discussion at the end of the presentation.
This document provides an overview and introduction to the Ruby on Rails web framework. It discusses the following key points:
- Rails was developed by 37signals to build their BaseCamp application. It uses convention over configuration and opinionated defaults to provide a productive environment for web development.
- The MVC pattern organizes a Rails app into models, views, and controllers. Models manage data, views display it, and controllers handle requests and coordinate between models and views.
- Rails makes data access very simple with ActiveRecord. Models map directly to database tables, and CRUD (create, read, update, delete) operations are straightforward.
- Features like the rails console and built-in
This document discusses the benefits of using the Ruby on Rails (ROR) web framework. Some key points made include:
- ROR allows developers to build applications faster and with less code compared to other frameworks like Java.
- ROR follows conventions that reduce configuration needs and promote rapid development.
- A live demo shows how to create a basic blog application in Rails in just 15 minutes.
- ROR is well-suited for building RESTful and agile web applications.
- The Shanghai Ruby on Rails user group helps promote Rails adoption in China through meetups and conferences like RubyConfChina.
The document discusses best practices for testing with mocks in Ruby on Rails applications. It recommends that tests run fast by avoiding loading Rails and using factories, and that mocks should assert messages rather than state. Tests become more maintainable by mocking roles instead of concrete objects, and by isolating code into single responsibility classes rather than putting logic in fat models. When code is well-encapsulated with messages, mocks can make tests clearer; but mocks may indicate problems when they are difficult to set up or when tests become brittle.
This document discusses IronRuby on Rails. It begins with an introduction to Ruby on Rails and IronRuby. The main concepts of Rails like MVC, REST, routing, and testability are then covered. Finally, information on getting started with IronRuby on Rails is provided.
6 reasons Jubilee could be a Rubyist's new best friendForrest Chang
(Video here: http://confreaks.com/videos/5014-RubyConf2014-6-reasons-jubilee-could-be-a-rubyist-s-new-best-friend or https://www.youtube.com/watch?feature=player_embedded&v=FFR0G89WXI8)
Rubyconf 2014 talk on Jubilee, a Vert.x module that runs rack apps.
Alternate titles
Beyond Rails while using Rails
Rails can't do everything I want and <fill> makes me want to cry
Rubyconf abstract
Do you do web development in Ruby? Have you been forced to go to node or other technologies just for concurrency/websockets etc. Do miss your gems, and tire of functionality you have to implement from scratch? Do you hate javascript?
Well no need to switch languages/platforms, Jubilee could be your new best friend.
Jubilee, a rack server on top of Vert.x gives you
* Concurrency
* Speed
* Easy Websockets support
* Shared Memory
* Access to the JVM ecosystem
* Ability to reuse your existing Ruby knowledge and gems
"Say Hello to your new friend" - Al Pacino
RoR是Ruby on Rails的缩写,是一个用于编写Web应用的框架。他基于Ruby语言,给开发人员提供了强大便利的框架支持。Ruby有很多优点,但是一直以来其流行范围仅局限于日本。2004年,当Rails框架横空出世,让人们认识到了一个更符合实际需要并且高效的web框架,在其出现不久就受到了业内的广泛关注。吕国宁将结合自己三年的Rails开发经验,给大家介绍一些Rails的优点,背后的设计文化,以及Rails的前景发展等内容。
This document discusses the benefits of using the Ruby on Rails (ROR) web framework. It notes that Rails allows developers to build applications with less code and in less time compared to other technologies like Java. Specific points made include that a basic blog application can be created in Rails in just 15 minutes, and that Rails applications generally have significantly less lines of code and configuration compared to equivalent Java applications. The document also promotes upcoming Rails events in China and provides contact information for the founder of the Shanghai Rails meetup group.
- The team created a content inventory spreadsheet to audit and organize all website content. This involved building a sitemap, indexing documents, and identifying duplicates.
- They used Mercurial for version control due to its ease of use, cross-platform support, and ability to clone repositories for branching.
- A CSS style guide was created as a reference for developers, demonstrating classes and IDs without being a full framework or coding specification.
This document summarizes Chris Skardon's experience migrating the database for his competition running site Tournr from SQL to document and graph databases. It describes how the initial database choice of SQL Server became limiting and led to migrations first to RavenDB, a document database, and then to Neo4j, a graph database. Both migrations required reworking the data model and code but provided performance and flexibility benefits. While challenging, the migrations were worthwhile as the graph model better fit Tournr's needs.
This document provides an overview of functional programming concepts using Ruby. It discusses some of the problems with object-oriented programming like side effects and sharing of data and code. It then presents some ways to adopt a more functional style in Ruby, such as treating loops and data structures as functions. The document also introduces the Functional Ruby gem which adds features inspired by languages like Erlang and Haskell, including pattern matching, immutability and memoization. Overall, the document aims to demonstrate how functional programming principles can be applied in Ruby.
The document discusses the history and benefits of test-driven development (TDD). It notes that practices like agile development, extreme programming, and open source helped popularize TDD. TDD emphasizes writing tests before code, continuous integration, refactoring, loose coupling, and testing all new code. The document acknowledges research showing TDD may take longer initially but finds fewer bugs. It provides examples of Ruby testing tools and frameworks that facilitate TDD. The overall message is that the software development community now widely accepts and uses TDD.
[Rakuten TechConf2014] [C-2] Big Data for eBooks and eReadersRakuten Group, Inc.
This document discusses Kobo's use of big data analytics for ebooks and ereaders. It describes how Kobo uses technologies like Hadoop, Storm, and Solix to process, store, and analyze streaming data from ebooks. Kobo's big data team analyzes this data to power search and recommendations functions, perform content analysis tasks like related items and adult content filtering, and extract metadata from books to link to online information. Kobo's optimization of webpage layouts also utilizes big data approaches to test configurations and maximize user engagement.
In programming you can choose sides. You can choose the front or back end and if you really can’t choose you can be Switzerland and choose full stack.
For this meetup at the ANWB we've sided with front end and we had 3 Girl Coders who led us through different tech and aspects of front end coding.
Presentations:
- "Intro about Girl Code" by Ineke Scheffers
- "Intro about ANWB" by Xiaolin Song
- “Mixing UX with code: on being a Front Ender who also designs” by Hanny Verkerk
- “My first adventure with Elm: An introduction and comparison with AngularJS” by Anne van den Berg
- "How Bootstrap makes your Front End life easier" by Chantal Sloep
- The document evaluates criteria for choosing between NoSQL technologies like MongoDB and Redis.
- It discusses two use cases at Offers.com and how Redis was chosen for the first use case due to its fast reads/writes and data persistence, while MongoDB was chosen for the second use case due to its document-oriented data model and flexibility.
- Some downsides discussed are lack of data safety guarantees in MongoDB and lack of abstraction between NoSQL systems.
This document discusses ASP.NET MVC, which is a new project type for ASP.NET that separates concerns and allows for cleaner URLs and full control over markup. It follows the model-view-controller pattern, with the request first going to the controller, then the model, and then the view, which renders the response. The speaker discusses the benefits of this approach and notes that future versions will improve productivity, AJAX support, and extensibility.
I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)Kevin Bruce
One month I was a web designer, the next I co-owned an existing tech media company. php[architect] is a boutique publishing brand that is well known in the PHP developer world. When our newly-minted four person company was asked to take over the brand (because the founder wanted to move on), we jumped at the opportunity. We took over a monthly magazine, tech books, training and two national conferences. As the sole designer in a band of developers, I was the most concerned. After several months, we worked out a content workflow (that ended in both digital and print) that made it possible for just four people to run a thriving boutique media company. This is how we did it.
This document provides an agenda and overview for a class on websites and design skills. It discusses using GitHub for collaboration, technologies that power websites like HTML and CSS, search engine optimization, business models, and an upcoming project involving designing a website business. Students are asked to review an existing website for SEO and business factors for homework.
Customizing the custom loop wordcamp 2012-jeffJeff Marx
This document discusses customizing WordPress loops to display content in non-standard ways. It introduces different loop methods like WP_Query, get_posts(), and query_posts() and recommends using WP_Query to build custom loops. Examples are provided of custom loops for the homepage, sidebar, and pages to categorize and style content beyond the default loop.
Michael Koby presented lessons learned from developing real world Rails applications. Some of the key lessons included: don't fear using scaffolding early on to quickly generate the basic structure; bundle your gems to manage dependencies; don't reinvent the wheel and leverage existing libraries; you can test functionality before building the full user interface; migrations are important for managing database schema changes; and seed data helps provide sample data for testing and demonstrations. Koby solicited questions and discussion at the end of the presentation.
This document provides an overview and introduction to the Ruby on Rails web framework. It discusses the following key points:
- Rails was developed by 37signals to build their BaseCamp application. It uses convention over configuration and opinionated defaults to provide a productive environment for web development.
- The MVC pattern organizes a Rails app into models, views, and controllers. Models manage data, views display it, and controllers handle requests and coordinate between models and views.
- Rails makes data access very simple with ActiveRecord. Models map directly to database tables, and CRUD (create, read, update, delete) operations are straightforward.
- Features like the rails console and built-in
This document discusses the benefits of using the Ruby on Rails (ROR) web framework. Some key points made include:
- ROR allows developers to build applications faster and with less code compared to other frameworks like Java.
- ROR follows conventions that reduce configuration needs and promote rapid development.
- A live demo shows how to create a basic blog application in Rails in just 15 minutes.
- ROR is well-suited for building RESTful and agile web applications.
- The Shanghai Ruby on Rails user group helps promote Rails adoption in China through meetups and conferences like RubyConfChina.
The document discusses best practices for testing with mocks in Ruby on Rails applications. It recommends that tests run fast by avoiding loading Rails and using factories, and that mocks should assert messages rather than state. Tests become more maintainable by mocking roles instead of concrete objects, and by isolating code into single responsibility classes rather than putting logic in fat models. When code is well-encapsulated with messages, mocks can make tests clearer; but mocks may indicate problems when they are difficult to set up or when tests become brittle.
This document provides information on contributing to the Ruby on Rails framework. It discusses why developers should contribute (e.g. giving back to an open source project they use), what types of contributions are needed (e.g. fixing bugs, writing documentation), and how to get started (e.g. setting up their development environment, downloading the Rails source code, and running tests). The document also lists some specific contribution tasks and resources for learning more about the contribution process.
Apache Solr for TYPO3 at TYPO3 Usergroup Day NetherlandsIngo Renner
Presentation of an extension to integrate Apache Solr for TYPO3. Apache Solr is an enterprise search server, TYPO3 is a mid-to large size enterprise Content Management System; combining both results in great user search experience.
This document summarizes the speaker's experience working with a Rails application for 3 years. It discusses how they improved the app over time by migrating to newer Rails versions, adding tests, upgrading gems, and implementing new features while reducing technical debt. It also provides tips for file structure, migrations, version control, and staying up to date with the Rails community through blogs and conferences. The speaker expresses appreciation for what Rails has given them and their view that it remains a good framework going forward.
My Site is slow - Drupal Camp London 2013hernanibf
Drupal is a powerful and flexible tool to create web applications without building everything from scratch. This ability can drive developers to build complex websites without understanding what is Drupal doing behind the scenes.
The majority of Drupal performance talks mostly focus in aspects like infrastructure changes, caching strategies or comparisons between modules and architectures. Unfortunately when performance problems occur, development teams also follow strategies to replace different aspects of the platform looking only to standard aspects like slow queries without understanding and profiling the real problem.
The majority of times it is fundamental to measure and analyze what is the application is actually doing to understand te real problems. Drupal is a platform used by million of websites worlwide and its performance can in most cases be compared after measured.
In Acquia we do dozens of performance assessments per year, and even in most clients we find the same problems, often we find situations that only can be detected when measured and analized when looking to a profiler report.
In this session, I will explain how to detect performance problems looking to simple data, from logs to profiler data and providing some nice targets that can be analyzed to understand what is causing the uncommon bad performance of a site.
Drupal is a powerful and flexible platform to build websites with rich funcionalities without building almost anything from scratch. This flexibility brought by the usage of a powerful framework and the work of a super active community can abstract people to understand what is Drupal doing behind the scenes.
Most of performance talks regarding Drupal focus on aspects like infrastructure changes, caching strategies, and comparison of performance between modules or platforms. Unfortunately when performance problems occur, development teams also follow several strategies to replace several aspects in their platforms, jump directly to look for slow queries before trying really to understand where is the bottleneck.
However, most of the times what really needs to be done is to look to what the application is doing and understanding why is it taking so long to do it. Drupal is a platform used by million of websites worldwide and its performance is easy to measure and compare.
At Acquia we have done dozens of performance assessments, and even if we usually face the same problems, sometimes we found weird situations that are only possible to be detected when measured. Measuring and profiling is the only way to understand performance problems in a site and provide valid fixes.
In this talk I will explain how to detect problems regarding performance in Drupal, using simple modules like devel, profilers like XhProf and looking to logs to understand the impact done on the application.
This document summarizes Neil Bowers' process for reviewing CPAN modules. He begins reviews by searching for existing modules on a topic and writing sections comparing the modules. He aims to submit fixes and improvements, get involved in maintenance, and publish reviews iteratively. The reviews have led Neil to make contributions to CPAN and improve his own practices, like benchmarking and reducing dependencies. He encourages others to search CPAN before writing new modules and to improve documentation.
BSides Lisbon 2013 - All your sites belong to BurpTiago Mendo
This talk is going to be all about Burp. I will explain why is such a great tool and how it compares with similar ones.
Its going to have a quick walkthrough of its main features, but the juicy part is going to be about how to fully explore its main tools, such as the scanner, intruder and sequencer, to increase the number and type of vulnerabilities found.
In addition, I will provide an overview of the Burp Extender Interface and how to easily and quickly take advantage of extensions to increase its awesomeness. I will show how easy is for an pentester to translate an idea to a extension and (I hope) publicly release one plugin to further help pentesters.
The talks objective is to increase your efficiency while using Burp, either by taking advantage of its excellent tools or by adding that feature that really need.
Presented at BSides Lisbon at 04/10/13 (http://bsideslisbon.org)
This document discusses test-driven development (TDD) and strategies for testing Sitecore applications. It covers:
1. The basics of TDD including writing unit tests first, making them pass, and then refactoring code. This helps ensure code always works and allows for safe refactoring.
2. Isolating dependencies by using interfaces, dependency injection with AutoFac, and fake objects with NSubstitute to isolate code from external systems.
3. Strategies for isolating and testing Sitecore code, including using Glass Mapper to map Sitecore items to lightweight objects and the Sitecore.FakeDB library for faking Sitecore data.
4. Tools for testing Sitecore itself
Intro to SharePoint 2010 development for .NET developersJohn Ferringer
While its very true that SharePoint’s development model is firmly rooted in the .NET development world, at the same time SharePoint can be appear to be a completely alien beast to even the most experienced of .NET developers. In this session, John will introduce the fundamental practices that a .NET developer should understand about SharePoint and needs to follow when building custom solutions for the platform, whether its creating web parts or building complex workflows and Line of Business applications for deployment within a SharePoint farm.
A short talk on Elixir adoption in RabbitMQ, a multi-protocol open source messaging broker: the motivation, how it compares to Erlang for our needs, and what we've learnt about 1 year into it.
Tommi Reiman discusses optimizing Clojure performance and abstractions. He shares lessons learned from optimizing middleware performance and JSON serialization. Data-driven approaches can enable high performance while maintaining abstraction. Reitit is a new routing library that aims to have the fastest performance through techniques like compiled routing data. Middleware can also benefit from data-driven approaches without runtime penalties. Overall performance should be considered but not obsessively, as many apps do not require extreme optimization.
The document discusses testing sad paths at Teespring, which sells t-shirts. It notes that while happy paths are usually tested first, sad paths involving errors can be overlooked. It identifies three types of failures - those caused by user errors, system errors, and transient errors. It provides things to consider when testing for each type, such as defining valid vs invalid input, preventing vs handling failures, and how to communicate errors to users. The document recommends defensive coding, logging errors, and isolating failures to test sad paths thoroughly.
This document discusses scaling applications and services. It recommends taking a vertical approach by breaking monolithic applications into microservices that communicate through APIs. The Swagger framework is presented as a way to document and test APIs. Swagger can generate client libraries and helps services scale by enabling asynchronous communication through websockets. Taking this vertical, microservices approach with Swagger improves scalability by allowing dedicated teams to own individual services and improves performance through asynchronous communication protocols.
Digital Publishing with the OSCI Toolkit - Workshop MCN 2012graybowman
This document provides an agenda for a digital publishing workshop using the Open Scholarship Initiative Toolkit (OSCI). It discusses getting started with the OSCI toolkit, authoring and publishing content, creating custom web publications, and APIs for user notes, search, citations, and figures. Recommended ePub viewing and conversion tools are also listed. The document aims to demonstrate the capabilities and customization options of the OSCI toolkit for digital publishing.
Oxford DrupalCamp 2012 - The things we found in your websitehernanibf
The document discusses various issues found on a website during an audit. It describes symptoms of problems with content architecture like duplicate content types and unused fields. It also outlines issues with site architecture such as custom modules that are not well designed or reusable, unnecessary complexity from unused features, and basic security vulnerabilities around outdated software, permissions, and injection attacks. The document provides guidance on how to further investigate and address these problems.
Not Everything is an Object - Rocksolid Tour 2013Gary Short
This document provides an overview of the history of programming languages and object-oriented development. It discusses some of the limitations of the object-oriented paradigm, such as complexity, brittle hierarchies, and difficulties modeling real-world objects. The document then introduces Clojure as a functional programming language that avoids these issues by using immutable data and focusing on equality rather than object identity. It provides examples of Clojure's features like persistent collections, and discusses how Clojure code is evaluated through its reader and evaluator.
Birdpie is a web application that aggregates all tweeted links from a Twitter user and allows the user to manage those links. It auto-tags the links, categorizes them, and resolves shortened URLs to show the full link and page title. Users can sign in through Twitter OAuth to access their tweeted links. Birdpie uses a background worker architecture with Resque and Redis to crawl, resolve, tag, and update link counts.
The document contains data in bar and pie charts, with the bar chart showing orange at 100, blue at 76, and green at 35, and the pie chart showing data points of 30, 70, and 11. It also mentions a nice beach.
A Taste of TDD: The basics of TDD, why it is hard and how to do it betterJohn McCaffrey
A Taste of TDD: Basic overview of Agile Testing, TDD in practice, Pros/Cons of Test Driven Development, Recent TDD Controversey (DHH, Kent Beck, Martin Fowler), and some strategies for doing it well.
This is a lead in to a full Agile Workshop on Scrum/XP, TDD, and Pairing
Becoming a more Productive Rails DeveloperJohn McCaffrey
Tips and tricks for how to accelerate your technical learning, take better notes, search in the right places, get help faster, solidify your understanding and hold on to what you've learned.
John McCaffrey gives a presentation on cloud tools for development. He discusses terminology related to hosting and deploying applications. Some hosting options he covers include self-hosting, Amazon Web Services, EngineYard, Heroku, and AppHarbor. John then demonstrates deploying applications to Heroku and monitoring tools. He finishes by discussing collaboration tools like email, chat, screen sharing, and code repositories on services like GitHub.
Web Performance tuning presentation given at http://www.chippewavalleycodecamp.com/
Covers basic http flow, measuring performance, common changes to improve performance now, and several tools and techniques you can use now.
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...John McCaffrey
(reposting with clearer title)
Performance tuning presentation from WindyCityRails 2010.
Why performance matters
The right way to approach it
Front end testing tools
Automated testing tools
Common problems and the ways to solve them in Rails
Rails specific tools
bullet
slim_scrooge
rack bug
request log analyzer
rails indexes
improving the performance of Rails web ApplicationsJohn McCaffrey
This presentation is the first in a series on Improving Rails application performance. This session covers the basic motivations and goals for improving performance, the best way to approach a performance assessment, and a review of the tools and techniques that will yield the best results. Tools covered include: Firebug, yslow, page speed, speed tracer, dom monster, request log analyzer, oink, rack bug, new relic rpm, rails metrics, showslow.org, msfast, webpagetest.org and gtmetrix.org.
The upcoming sessions will focus on:
Improving sql queries, and active record use
Improving general rails/ruby code
Improving the front-end
And a final presentation will cover how to be a more efficient and effective developer!
This series will be compressed into a best of session for the 2010 http://windycityRails.org conference
PDF Generation in Rails with Prawn and Prawn-to: John McCaffreyJohn McCaffrey
breakdown of the most commonly used pdf libraries in rails projects,and an in depth review of prawn
example pdfs and code can be seen at prawn.heroku.com
More info at www.RailsPerformance.com
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
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
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...alexjohnson7307
Predictive maintenance is a proactive approach that anticipates equipment failures before they happen. At the forefront of this innovative strategy is Artificial Intelligence (AI), which brings unprecedented precision and efficiency. AI in predictive maintenance is transforming industries by reducing downtime, minimizing costs, and enhancing productivity.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxSitimaJohn
Ocean Lotus cyber threat actors represent a sophisticated, persistent, and politically motivated group that poses a significant risk to organizations and individuals in the Southeast Asian region. Their continuous evolution and adaptability underscore the need for robust cybersecurity measures and international cooperation to identify and mitigate the threats posed by such advanced persistent threat groups.
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
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on automated letter generation for Bonterra Impact Management using Google Workspace or Microsoft 365.
Interested in deploying letter generation automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Irb Tips and Tricks
1. Irb Tips and Tricks
John McCaffrey
Freelance Consultant
@J_McCaffrey
RailsPerformance.net
2. Here we go!
• Irb is awesome
• Common Usage patterns
• Customizing Irb
• Rails Console
• References
3. In case I don’t finish...
• IRB is extremely powerful and Customizable
• A useful tool in your toolkit
• Worth finding ways to improve your usage
• Ask your friends, share your ideas
• ....some compatibility issues in Rails 3