Following up from my recent deep code dive into the less-rails and less-rails-bootstrap gems come some of the best hidden features of the rails asset pipeline. My talk will include a behind the scenes look of what makes the asset pipeline possible, best practices, advanced usage followed by a review of some of the top level CSS frameworks being used.
Steal This Idea: The Robot Curve / By Marty NeumeierLiquid Agency
Ever wonder why your skills are constantly out of date? Why your company is always falling behind competitors? Why so many jobs and projects are being outsourced? The Robot Curve is a simple model of innovation that shows how new processes, businesses, and technologies continuously destroy old ones as they create new opportunities for wealth. Where are you on the curve?
The Dictionary of Brand by Marty NeumeierLiquid Agency
The Dictionary of Brand: Sponsored by Google. Written by Marty Neumeier. Designed by Liquid.
Before Google came on the scene, advertising was little more than one-way communication—companies talking “at” their customers instead of “with” their customers. But thanks to web communications, customers can now “talk back” to companies, turning brand-building into job one for all competitive businesses. Google recently established BrandLab, an innovative workshop-based program and collaborative center dedicated to helping brands get the most out of the web through education, inspiration, and hands-on practice. One of BrandLab’s first acts was to publish The Dictionary of Brand. Google asked Liquid to write and design this groundbreaking book—no easy task in a world where definitions are evolving daily.
Sponsored by Google. Designed in Silicon Valley by Liquid.
Liquid’s Director of Transformation, Marty Neumeier, has written several definitive books on brand strategy, including The Brand Gap, Zag, and The Designful Company. Now he’s written an exciting reference that is destined to join these titles on every brand-builder’s desk: The Dictionary of Brand. The new book—commissioned by Google—is a “relational” glossary containing 500 interconnected terms in brand strategy, advertising, design, innovation, and management. As part of their curriculum to help companies build their brands and connect with global customers, Google BrandLab provides copies of The Dictionary of Brand to every agency and client it collaborates with—a roster that includes companies such as Capital One, Coca-Cola, and Toyota.
Why a dictionary?
Brands are increasingly built by specialists, and specialists can only succeed through collaboration, which depends on a common language. The Dictionary of Brand is the first step in creating a “linguistic foundation”—a set of terms that allow specialists from different disciplines to work together in a larger community of practice. Although many of the terms are widely used by brand specialists, some haven’t yet appeared in other dictionaries. There are no copyright restrictions on republishing any these definitions word for word; all that’s needed is a credit line.
Want a copy, here you go!
As Marty Neumeier says, “Brand is the most powerful business tool since the spreadsheet.” Since we are in the business of helping companies build brand values, we are making The Brand Dictionary—otherwise available only to BrandLab participants—available free online as a SlideShare document. Download your copy of The Brand Dictionary and begin redefining the ways we speak and think about brand experience.
TDC 2012 - Patterns e Anti-Patterns em RubyFabio Akita
Palestra apresentada no The Developers Conference 2012 em São Paulo. Explicação sobre Patterns e Anti-Patterns em Ruby para quem está iniciando a aprender a linguagem.
Rails ORM De-mystifying Active Record has_manyBlazing Cloud
Rails' ORM layer, ActiveRecord, is an elegant solution for keeping model code simple and modular (aka DRY). Demystifying the way Ruby-on-Rails uses runtime method generation opens a doorway for understanding and provides a foundation for the other ways Rails uses simple conventions to allow sophisticated, concise functionality in a declarative style.
Here is big mystery that you'll be equipped to understand better after playing with the slides
-> If honeys is an array - and honeys has a method create! - then why does an array object [] not have create!
Hive.first.honeys.class
=> Array
[].create!
=> NoMethodError
Hive.first.honeys.create!
Steal This Idea: The Robot Curve / By Marty NeumeierLiquid Agency
Ever wonder why your skills are constantly out of date? Why your company is always falling behind competitors? Why so many jobs and projects are being outsourced? The Robot Curve is a simple model of innovation that shows how new processes, businesses, and technologies continuously destroy old ones as they create new opportunities for wealth. Where are you on the curve?
The Dictionary of Brand by Marty NeumeierLiquid Agency
The Dictionary of Brand: Sponsored by Google. Written by Marty Neumeier. Designed by Liquid.
Before Google came on the scene, advertising was little more than one-way communication—companies talking “at” their customers instead of “with” their customers. But thanks to web communications, customers can now “talk back” to companies, turning brand-building into job one for all competitive businesses. Google recently established BrandLab, an innovative workshop-based program and collaborative center dedicated to helping brands get the most out of the web through education, inspiration, and hands-on practice. One of BrandLab’s first acts was to publish The Dictionary of Brand. Google asked Liquid to write and design this groundbreaking book—no easy task in a world where definitions are evolving daily.
Sponsored by Google. Designed in Silicon Valley by Liquid.
Liquid’s Director of Transformation, Marty Neumeier, has written several definitive books on brand strategy, including The Brand Gap, Zag, and The Designful Company. Now he’s written an exciting reference that is destined to join these titles on every brand-builder’s desk: The Dictionary of Brand. The new book—commissioned by Google—is a “relational” glossary containing 500 interconnected terms in brand strategy, advertising, design, innovation, and management. As part of their curriculum to help companies build their brands and connect with global customers, Google BrandLab provides copies of The Dictionary of Brand to every agency and client it collaborates with—a roster that includes companies such as Capital One, Coca-Cola, and Toyota.
Why a dictionary?
Brands are increasingly built by specialists, and specialists can only succeed through collaboration, which depends on a common language. The Dictionary of Brand is the first step in creating a “linguistic foundation”—a set of terms that allow specialists from different disciplines to work together in a larger community of practice. Although many of the terms are widely used by brand specialists, some haven’t yet appeared in other dictionaries. There are no copyright restrictions on republishing any these definitions word for word; all that’s needed is a credit line.
Want a copy, here you go!
As Marty Neumeier says, “Brand is the most powerful business tool since the spreadsheet.” Since we are in the business of helping companies build brand values, we are making The Brand Dictionary—otherwise available only to BrandLab participants—available free online as a SlideShare document. Download your copy of The Brand Dictionary and begin redefining the ways we speak and think about brand experience.
TDC 2012 - Patterns e Anti-Patterns em RubyFabio Akita
Palestra apresentada no The Developers Conference 2012 em São Paulo. Explicação sobre Patterns e Anti-Patterns em Ruby para quem está iniciando a aprender a linguagem.
Rails ORM De-mystifying Active Record has_manyBlazing Cloud
Rails' ORM layer, ActiveRecord, is an elegant solution for keeping model code simple and modular (aka DRY). Demystifying the way Ruby-on-Rails uses runtime method generation opens a doorway for understanding and provides a foundation for the other ways Rails uses simple conventions to allow sophisticated, concise functionality in a declarative style.
Here is big mystery that you'll be equipped to understand better after playing with the slides
-> If honeys is an array - and honeys has a method create! - then why does an array object [] not have create!
Hive.first.honeys.class
=> Array
[].create!
=> NoMethodError
Hive.first.honeys.create!
Programming languages must be implemented in Java or C, everybody knows this. Sure, a prototype in Ruby, but that would be unusable. After all, Ruby is made for web development, right? Hard tasks, like implementing a compiler, have to happen in far more manly languages. But wait, the Rubinius compiler is written completely in Ruby, and it seems to get pretty decent performance, maybe we can use that.
In this talk, we will explore the possibilities of using the Rubinius compiler tool chain to implement our own programming language targeting the Rubinius VM. We get all the hard work that went into Rubinius for free and above all, can do the heavy lifting in Ruby, everyone's favorite programming language.
As an example we'll use Reak, a Smalltalk implementation running on Rubinius.
Open Source Saturday - How can I contribute to Ruby on Rails?Pravin Mishra
Making your first contribution to an open source library can be very daunting. If you’re like me, I was/am nagged by self-doubt and a fear that I would/will “do it wrong.” I worry about the mocking of other developers, all solidified by years of open source contributions.
If you are stuck in the self-doubt phase, but want to jump in, you may be asking “What’s the first step?” or “How do I contribute?” Well, We aim to answer those kinds of questions by walking you through steps.
Querying Riak Just Got Easier - Introducing Secondary IndicesRusty Klophaus
This presentation introduces new Riak KV functionality called Secondary Indexes. Secondary Indices allows a developer to retrieve data by attribute value, rather than by primary key.
Currently, a developer coding outside of Riak’s key/value based access must maintain their own indexes into the data using links, other Riak objects, or external systems. This is straightforward for simple use cases, but can add substantial coding and data modeling for complex applications. By formalizing an approach and building index support directly into Riak KV, we remove this burden from the application developer while preserving Riak’s core benefits, including scalability and tolerance against hardware failure and network partitions.
The presentation covers usage, capabilities, limitations, and lessons learned.
Programming languages must be implemented in Java or C, everybody knows this. Sure, a prototype in Ruby, but that would be unusable. After all, Ruby is made for web development, right? Hard tasks, like implementing a compiler, have to happen in far more manly languages. But wait, the Rubinius compiler is written completely in Ruby, and it seems to get pretty decent performance, maybe we can use that.
In this talk, we will explore the possibilities of using the Rubinius compiler tool chain to implement our own programming language targeting the Rubinius VM. We get all the hard work that went into Rubinius for free and above all, can do the heavy lifting in Ruby, everyone's favorite programming language.
As an example we'll use Reak, a Smalltalk implementation running on Rubinius.
Open Source Saturday - How can I contribute to Ruby on Rails?Pravin Mishra
Making your first contribution to an open source library can be very daunting. If you’re like me, I was/am nagged by self-doubt and a fear that I would/will “do it wrong.” I worry about the mocking of other developers, all solidified by years of open source contributions.
If you are stuck in the self-doubt phase, but want to jump in, you may be asking “What’s the first step?” or “How do I contribute?” Well, We aim to answer those kinds of questions by walking you through steps.
Querying Riak Just Got Easier - Introducing Secondary IndicesRusty Klophaus
This presentation introduces new Riak KV functionality called Secondary Indexes. Secondary Indices allows a developer to retrieve data by attribute value, rather than by primary key.
Currently, a developer coding outside of Riak’s key/value based access must maintain their own indexes into the data using links, other Riak objects, or external systems. This is straightforward for simple use cases, but can add substantial coding and data modeling for complex applications. By formalizing an approach and building index support directly into Riak KV, we remove this burden from the application developer while preserving Riak’s core benefits, including scalability and tolerance against hardware failure and network partitions.
The presentation covers usage, capabilities, limitations, and lessons learned.
Free The Enterprise With Ruby & Master Your Own DomainKen Collins
On the heals of Luis Lavena's RailsConf talk "Infiltrating Ruby Onto The Enterprise Death Star Using Guerilla Tactics" comes a local and frank talk about the current state of Open Source Software (OSS) participation from Windows developers. Learn what OSS is, what motivates its contributors, and how OSS can make you a stronger developer. Be prepared to fall in love with writing software again!
We will start off with a 101 introduction to both the Ruby programming language and the Ruby on Rails web application framework. You will learn about ActiveRecord, a powerful ORM that maps rich objects to your databases, and the latest components to use it with SQL Server. As a Rails core contributor and author of the SQL Server stack, I will give you a modern insight into both that will allow you to leverage your legacy data with Ruby.
Lastly, I will review the bleeding edge tools being actively created for Windows developers to ease the transition to Ruby, Rails and OSS from a POSIX driven world. Many things have changed. It is time to learn and perform some occupational maintenance.
Lessons learned from building HomeMarks native iPhone application to synchronize Core Data with a RESTful backend built using rails 3.0.0.pre. This covers a previous design methodology called the AJAX head pattern which decouples rails applications from the views they present which allowed an easy API foundation for the iPhone application and data sync methods.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Welocme to ViralQR, your best QR code generator.ViralQR
Welcome to ViralQR, your best QR code generator available on the market!
At ViralQR, we design static and dynamic QR codes. Our mission is to make business operations easier and customer engagement more powerful through the use of QR technology. Be it a small-scale business or a huge enterprise, our easy-to-use platform provides multiple choices that can be tailored according to your company's branding and marketing strategies.
Our Vision
We are here to make the process of creating QR codes easy and smooth, thus enhancing customer interaction and making business more fluid. We very strongly believe in the ability of QR codes to change the world for businesses in their interaction with customers and are set on making that technology accessible and usable far and wide.
Our Achievements
Ever since its inception, we have successfully served many clients by offering QR codes in their marketing, service delivery, and collection of feedback across various industries. Our platform has been recognized for its ease of use and amazing features, which helped a business to make QR codes.
Our Services
At ViralQR, here is a comprehensive suite of services that caters to your very needs:
Static QR Codes: Create free static QR codes. These QR codes are able to store significant information such as URLs, vCards, plain text, emails and SMS, Wi-Fi credentials, and Bitcoin addresses.
Dynamic QR codes: These also have all the advanced features but are subscription-based. They can directly link to PDF files, images, micro-landing pages, social accounts, review forms, business pages, and applications. In addition, they can be branded with CTAs, frames, patterns, colors, and logos to enhance your branding.
Pricing and Packages
Additionally, there is a 14-day free offer to ViralQR, which is an exceptional opportunity for new users to take a feel of this platform. One can easily subscribe from there and experience the full dynamic of using QR codes. The subscription plans are not only meant for business; they are priced very flexibly so that literally every business could afford to benefit from our service.
Why choose us?
ViralQR will provide services for marketing, advertising, catering, retail, and the like. The QR codes can be posted on fliers, packaging, merchandise, and banners, as well as to substitute for cash and cards in a restaurant or coffee shop. With QR codes integrated into your business, improve customer engagement and streamline operations.
Comprehensive Analytics
Subscribers of ViralQR receive detailed analytics and tracking tools in light of having a view of the core values of QR code performance. Our analytics dashboard shows aggregate views and unique views, as well as detailed information about each impression, including time, device, browser, and estimated location by city and country.
So, thank you for choosing ViralQR; we have an offer of nothing but the best in terms of QR code services to meet business diversity!
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
9. Tilt
Tilt is a thin interface over a bunch of
different Ruby template engines in an attempt
to make their usage as generic possible. is is
useful for web frameworks, static site
generators, and other systems that support
multiple template engines but don't want to
code for each of them individually.
Sunday, December 18, 11
11. Common Features
Custom template evaluation scopes / bindings.
Sunday, December 18, 11
12. Common Features
Custom template evaluation scopes / bindings.
Ability to pass locals to template evaluation.
Sunday, December 18, 11
13. Common Features
Custom template evaluation scopes / bindings.
Ability to pass locals to template evaluation.
Support for passing a block to template eval for "yield".
Sunday, December 18, 11
14. Common Features
Custom template evaluation scopes / bindings.
Ability to pass locals to template evaluation.
Support for passing a block to template eval for "yield".
Backtraces with correct filenames and line numbers.
Sunday, December 18, 11
15. Common Features
Custom template evaluation scopes / bindings.
Ability to pass locals to template evaluation.
Support for passing a block to template eval for "yield".
Backtraces with correct filenames and line numbers.
Template file caching and reloading.
Sunday, December 18, 11
16. Common Features
Custom template evaluation scopes / bindings.
Ability to pass locals to template evaluation.
Support for passing a block to template eval for "yield".
Backtraces with correct filenames and line numbers.
Template file caching and reloading.
Fast, method-based template source compilation.
Sunday, December 18, 11
22. Sprockets
Rack-based asset packaging for compiling
and serving web assets. It features
declarative dependency management for
JavaScript and CSS assets, as well as a
powerful preprocessor pipeline that allows
you to write assets in languages like
CoffeeScript, Sass, SCSS and LESS.
Sunday, December 18, 11
23. Rack Application
# In config.ru
require 'sprockets'
map '/assets' do
environment = Sprockets::Environment.new
environment.append_path 'app/assets/javascripts'
environment.append_path 'app/assets/stylesheets'
run environment
end
map '/' do
run YourRackApp
end
Sunday, December 18, 11
42. Incomplete
* Advanced Usage
- Where is sprockets.
> Rails.application.assets (helpers can use asset_environment)
- Finding Assets.
#find_asset method (aliased as [])
Notes
Rails.application.assets['shared/modal'] # => Sprockets::BundledAsset
Call to_s on the resulting asset to access its contents, length to get its length in bytes, mtime to
query its last-modified time, and pathname to get its full path on the filesystem.
- Asset Helpers. - image, asset-data-uri, etc.
Move all images to app/assets!!!
Rails.application.assets['site/hmlogo.png']
# => #<Sprockets::StaticAsset:0x3fda99465d08 pathname="/Users/kencollins/Repositories/
homemarks_app/app/assets/images/site/hmlogo.png", mtime=2011-11-16 19:31:44 -0500,
digest="eed9e6f3fd9fa546ccd7ce49edd99f49">
- Custom SASS
- Preprocessors.
- Assets in other assets.
- Precompiling. Fingerprints. When they are used.
- JavaScript Templating with EJS and Eco (read sprockets page)
- JST (define)
- EJS or Eco
- CSS Compressors (:uglifier default, but use :yui for both css/js)
group :assets do
# ...
gem 'yui-compressor', :require => 'yui/compressor'
end
- Your config/application.rb
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require *Rails.groups(:assets => %w(development test))
# If you want your assets lazily compiled in production, use this line
# Bundler.require(:default, :assets, Rails.env)
end
* CSS Frameworks.
- Less
- Stylus
- Sass
- http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#each-directive
- http://github.com/kuroir/SCSS.tmbundle
- Compass
- mate "$(bundle show compass)/frameworks/compass/stylesheets"
Sunday, December 18, 11
43. Thanks!
Ken Collins
metaskills.net
Sunday, December 18, 11