doT.py is a python implementation of a famous micro javascript template engine doT.js. It is tiny, fast and support all features for doT.js via precompile template on python based server side.
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
Lone StarPHP 2013 - Building Web Apps from a New AnglePablo Godel
AngularJS is a new JavaScript framework, backed by Google, for building powerful, complex and rich client-side web applications. We will go over the features and basics of building a web application with AngularJS and we will demonstrate how to communitate with a REST server built with PHP.
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
Lone StarPHP 2013 - Building Web Apps from a New AnglePablo Godel
AngularJS is a new JavaScript framework, backed by Google, for building powerful, complex and rich client-side web applications. We will go over the features and basics of building a web application with AngularJS and we will demonstrate how to communitate with a REST server built with PHP.
Tek 2013 - Building Web Apps from a New Angle with AngularJSPablo Godel
AngularJS is a new JavaScript framework, backed by Google, for building powerful, complex and rich client-side web applications. We will go over the features and basics of building a web application with AngularJS and we will demonstrate how to communicate with a REST server built with PHP.
Get up and running with google app engine in 60 minutes or lesszrok
This is an intro into google app engine for developers. By the end of the presentation you will be able to create your first real app on app engine. The tutorial shows code samples for creating and deploying an app while covering app engine basics.
Jeff Scudder, Eric Bidelman
The number of APIs made available for Google products has exploded from a handful to a slew! Get
the big picture on what is possible with the APIs for everything from YouTube, to Spreadsheets, to
Search, to Translate. We'll go over a few tools to help you get started and the things these APIs share
in common. After this session picking up new Google APIs will be a snap.
Web components: A simpler and faster reactChris Lorenzo
React pioneered the component based frontend and revolutionized how we think about building a web application. Let’s leverage the patterns we learned from React with the latest web primitives and see if we can #UseThePlatform to build a better web.
We’ll discuss how to simplify your application while we compare React to Web Components with Google Polymer. As mobile becomes the dominant experience, we'll see why now more than ever initialization time & overall performance matters. Lastly, you’ll get to hear how Comcast is building its next generation single page apps for millions of customers using the latest browser APIs, Redux and Web Components with Google Polymer. You’ll walk away from this talk feeling motivated and empowered to simplify your architecture. - Chris Lorenzo
Discussion of WordPress performance optimizations pitfalls, remedies and tips. Also some discussion of search engine optimization and social media optimization tips.
JBUG 11 - Django-The Web Framework For Perfectionists With DeadlinesTikal Knowledge
Django is a Python Web Framework gaining popularity among developers all over the world, due to its power & simplicity. In this session we will describe what makes the framework so attractive, and why you should consider it for your next Web application.
Presentation & Featured Video in Full Version.
Modern Web Apps should be focused, rich, and gorgeous, but they also need to be FAST. After all, being rich and beautiful isn't always enough!
With web apps, faster is always better; nobody will ever complain that your site is too fast!
Meet web components - a new draft spec proposed by Google and used to write reusable and encapsulated widgets that can be attached to DOM isolated.
by Anna Khabibullina, Co-Founder at DA-14
for Kharkiv JS&UI Meetup #1
Tek 2013 - Building Web Apps from a New Angle with AngularJSPablo Godel
AngularJS is a new JavaScript framework, backed by Google, for building powerful, complex and rich client-side web applications. We will go over the features and basics of building a web application with AngularJS and we will demonstrate how to communicate with a REST server built with PHP.
Get up and running with google app engine in 60 minutes or lesszrok
This is an intro into google app engine for developers. By the end of the presentation you will be able to create your first real app on app engine. The tutorial shows code samples for creating and deploying an app while covering app engine basics.
Jeff Scudder, Eric Bidelman
The number of APIs made available for Google products has exploded from a handful to a slew! Get
the big picture on what is possible with the APIs for everything from YouTube, to Spreadsheets, to
Search, to Translate. We'll go over a few tools to help you get started and the things these APIs share
in common. After this session picking up new Google APIs will be a snap.
Web components: A simpler and faster reactChris Lorenzo
React pioneered the component based frontend and revolutionized how we think about building a web application. Let’s leverage the patterns we learned from React with the latest web primitives and see if we can #UseThePlatform to build a better web.
We’ll discuss how to simplify your application while we compare React to Web Components with Google Polymer. As mobile becomes the dominant experience, we'll see why now more than ever initialization time & overall performance matters. Lastly, you’ll get to hear how Comcast is building its next generation single page apps for millions of customers using the latest browser APIs, Redux and Web Components with Google Polymer. You’ll walk away from this talk feeling motivated and empowered to simplify your architecture. - Chris Lorenzo
Discussion of WordPress performance optimizations pitfalls, remedies and tips. Also some discussion of search engine optimization and social media optimization tips.
JBUG 11 - Django-The Web Framework For Perfectionists With DeadlinesTikal Knowledge
Django is a Python Web Framework gaining popularity among developers all over the world, due to its power & simplicity. In this session we will describe what makes the framework so attractive, and why you should consider it for your next Web application.
Presentation & Featured Video in Full Version.
Modern Web Apps should be focused, rich, and gorgeous, but they also need to be FAST. After all, being rich and beautiful isn't always enough!
With web apps, faster is always better; nobody will ever complain that your site is too fast!
Meet web components - a new draft spec proposed by Google and used to write reusable and encapsulated widgets that can be attached to DOM isolated.
by Anna Khabibullina, Co-Founder at DA-14
for Kharkiv JS&UI Meetup #1
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.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...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 the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
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.
7. Template
function anonymous(it) { var
out='Name:<h1>'+(it.name)+'</
h1>Msg:<h2>'+(it.msg)+'</h2>';return out; }
Name: <h1>{{name}}</h1>
Msg: <h2>{{msg}}</h2>
Representation/Template
name: David
msg: I love python!
Name: <h1>David</h1>
Msg: <h2>I love python!</h2>
ResultTemplate Engine
name: Mary
msg: I hate php!
Name: <h1>Mary</h1>
Msg: <h2>I hate php!</h2>
Content / Data
Monday, 27 May, 13
8. Template
function anonymous(it) { var
out='Name:<h1>'+(it.name)+'</
h1>Msg:<h2>'+(it.msg)+'</h2>';return out; }
Name: <h1>{{name}}</h1>
Msg: <h2>{{msg}}</h2>
Representation/Template
name: David
msg: I love python!
Name: <h1>David</h1>
Msg: <h2>I love python!</h2>
ResultTemplate Engine
name: Mary
msg: I hate php!
Name: <h1>Mary</h1>
Msg: <h2>I hate php!</h2>
Content / Data
{{? it.name }}
<div>Oh, I love your name, {{=it.name}}!</div>
{{?? it.age === 0}}
<div>Guess nobody named you yet!</div>
{{??}}
You are {{=it.age}} and still don't have a name?
{{?}}
Monday, 27 May, 13
9. Template
Name: <h1>{{name}}</h1>
Msg: <h2>{{msg}}</h2>
Representation/Template
name: David
msg: I love python!
Name: <h1>David</h1>
Msg: <h2>I love python!</h2>
ResultTemplate Engine
name: Mary
msg: I hate php!
Name: <h1>Mary</h1>
Msg: <h2>I hate php!</h2>
Content / Data
{{? it.name }}
<div>Oh, I love your name, {{=it.name}}!</div>
{{?? it.age === 0}}
<div>Guess nobody named you yet!</div>
{{??}}
You are {{=it.age}} and still don't have a name?
{{?}}
Monday, 27 May, 13
10. A lot of template Engine exists
http://garann.github.io/template-chooser/
Monday, 27 May, 13
11. Requirement
For Internet Ads, we ask
Be the fastest template engine
Be the smallest template engine
Don’t need complex function
Support both logic and logicless
Monday, 27 May, 13
12. doT.py
doT.js is the fastest javascript template engine
doT.py is its python implementation
v.s. mustache
1. Performance: > 200x
2. Size: < 1/10
3. Support both logic and logicless usage
https://github.com/lucemia/doT
Monday, 27 May, 13
13. Usage
Pre-Compiled to javascript (Convert)
<script type=”text/javascript”>
var pagefn = {{ js_template("templates/ad/layout/layout_h_org.html") }};
var result = pagefn(data);
</script>
DoT.py
Monday, 27 May, 13
14. Usage
Pre-Compiled to javascript (Convert)
Name: <h1>{{name}}</h1>
Msg: <h2>{{msg}}</h2>
<script type=”text/javascript”>
var pagefn = {{ js_template("templates/ad/layout/layout_h_org.html") }};
var result = pagefn(data);
</script>
DoT.py
Monday, 27 May, 13
15. Usage
Pre-Compiled to javascript (Convert)
Name: <h1>{{name}}</h1>
Msg: <h2>{{msg}}</h2>
<script type=”text/javascript”>
var pagefn = {{ js_template("templates/ad/layout/layout_h_org.html") }};
var result = pagefn(data);
</script>
DoT.py
Monday, 27 May, 13
16. Usage
function anonymous(it) { var
out='Name:<h1>'+(it.name)+'</
h1>Msg:<h2>'+(it.msg)+'</
h2>';return out; }
Pre-Compiled to javascript (Convert)
Name: <h1>{{name}}</h1>
Msg: <h2>{{msg}}</h2>
<script type=”text/javascript”>
var pagefn = {{ js_template("templates/ad/layout/layout_h_org.html") }};
var result = pagefn(data);
</script>
DoT.py
Monday, 27 May, 13
17. Usage
function anonymous(it) { var
out='Name:<h1>'+(it.name)+'</
h1>Msg:<h2>'+(it.msg)+'</
h2>';return out; }
Pre-Compiled to javascript (Convert)
Name: <h1>{{name}}</h1>
Msg: <h2>{{msg}}</h2>
<script type=”text/javascript”>
var pagefn = {{ js_template("templates/ad/layout/layout_h_org.html") }};
var result = pagefn(data);
</script>
DoT.py
Monday, 27 May, 13
18. Usage
function anonymous(it) { var
out='Name:<h1>'+(it.name)+'</
h1>Msg:<h2>'+(it.msg)+'</
h2>';return out; }
Pre-Compiled to javascript (Convert)
Name: <h1>{{name}}</h1>
Msg: <h2>{{msg}}</h2>
<script type=”text/javascript”>
var pagefn = {{ js_template("templates/ad/layout/layout_h_org.html") }};
var result = pagefn(data);
</script>
No Template Engine in Runtime
DoT.py
Monday, 27 May, 13
19. Server Side Template Engine
Server
Client
(browser)
1. No dependency on client side
2. Fast initial load
3. Control over user experience
Template
Data
Template Engine
Result
Result
Request
Response
Monday, 27 May, 13
20. Client Side Template Engine
1. Save bandwidth (Json vs. Html)
2. Reduce server load
3. Single endpoint (flexible)
Server
Client
(browser)
Template Data
Template Engine
Result Data
Monday, 27 May, 13
21. doT.py
Server
Client
(browser)
Data
preomplied template
Result Data
A python implementation of doT.js, compile template to pure
javascript function
1. No template and template engine in runtime
2. Template engine only execute once while deploy
Template
preomplied template
doT.py
Monday, 27 May, 13
22. “to be super fast, super light-
weight client side template”
pre-compiled
super fast (only execute one pure javascript function)
super lightweight (no dependency, no template engine)
super useful (logic or logicless, as you wish!)
Monday, 27 May, 13
23. What’s next?
Client side template is HOT, but
Tweet decided move back to server side because performance
issue. more important, usability.
“To improve the twitter.com experience for everyone, we've
been working to take back control of our front-end
performance by moving the rendering to the server. This has
allowed us to drop our initial page load times to 1/5th of what
they were previously and reduce differences in performance
across browsers.”
http://openmymind.net/2012/5/30/Client-Side-vs-Server-Side-Rendering/
http://engineering.twitter.com/2012/05/improving-performance-on-twittercom.html
Monday, 27 May, 13