A Complete Guide To Chrome Extension DevelopmentSteven James
Extensions are small software programs that can modify and enhance the functionality of the Chrome browser. Chrome extension can help you browse the web faster or even can increase your productivity. Here we guide how to develop a chrome extension. To develop a chrome extension, visit : http://www.total-toolbar.com/toolbar-development-solutions/extension/chrome-toolbar-extension/
A Complete Guide To Chrome Extension DevelopmentSteven James
Extensions are small software programs that can modify and enhance the functionality of the Chrome browser. Chrome extension can help you browse the web faster or even can increase your productivity. Here we guide how to develop a chrome extension. To develop a chrome extension, visit : http://www.total-toolbar.com/toolbar-development-solutions/extension/chrome-toolbar-extension/
Security @ ecommerce sites are essential as hell, we are living in a a world with ethical and illegal hackers. This presentation will give you insights what we should do to prevent our ecommerce sites from external attacks.
Mobile in Banking and Finance - What Make Sense and What Notr4b
In recent years, the banking & financial services industry has been undergoing rapid changes, reflecting a number of underlying developments. Internet, wireless technology, and global straight-through processing have created a paradigm shift - from brick-and-mortar banks to banking virtually across time zones, geographical locations, access points and delivery channels. Today Mobile revolution has disrupted banking industry and this presentation provides a detailed discussion about issues of Mobile Banking.
Internet based e-commerce has besides, great advantages, posed many threats because of its being what is popularly called faceless and borderless.Privacy has been and continues to be a significant issue of concern for both current and prospective electronic commerce customers. In addition to privacy concerns, other ethical issues are involved with electronic commerce. The Internet offers unprecedented ease of access to a vast array of goods and services. The rapidly expanding arena of "click and mortar" and the largely unregulated cyberspace medium have however prompted concerns about both privacy and data security.
This talk is a generic but comprehensive overview of security mechanism, controls and potential attacks in modern browsers. The talk focuses also on new technologies, such as HTML5 and related APIs to highlight new attack scenario against browsers.
Advanced Data Widgets and Server IntegrationSencha
Ext GWT provides a rich set of data components including lists, trees, and grids. Rather than just covering the client-side implementation, this session will demonstrate how to manage your data and data updates from the server. In addition, you will advanced techniques to customize the display of your data.
Transmogrifier is a tool that gives you the ability to create a configurable pipeline to import and export from various systems. Each section of the pipe can be turned into a re-usable blueprint that can be given back to the community. This gives us the ability to quickly create migration paths for existing systems and maintain them as Python packages.
Buildout is a great tool for creating repeatable environments. But what happens when things change and you are left with a broken buildout? This talk will focus on creating a buildout that can survive the test of time. The talk will cover how to keep your packages pinned so that releases don't cause you headaches. We will also discuss how to set up your own package server in order to make sure that you always have the packages that you need.
Security @ ecommerce sites are essential as hell, we are living in a a world with ethical and illegal hackers. This presentation will give you insights what we should do to prevent our ecommerce sites from external attacks.
Mobile in Banking and Finance - What Make Sense and What Notr4b
In recent years, the banking & financial services industry has been undergoing rapid changes, reflecting a number of underlying developments. Internet, wireless technology, and global straight-through processing have created a paradigm shift - from brick-and-mortar banks to banking virtually across time zones, geographical locations, access points and delivery channels. Today Mobile revolution has disrupted banking industry and this presentation provides a detailed discussion about issues of Mobile Banking.
Internet based e-commerce has besides, great advantages, posed many threats because of its being what is popularly called faceless and borderless.Privacy has been and continues to be a significant issue of concern for both current and prospective electronic commerce customers. In addition to privacy concerns, other ethical issues are involved with electronic commerce. The Internet offers unprecedented ease of access to a vast array of goods and services. The rapidly expanding arena of "click and mortar" and the largely unregulated cyberspace medium have however prompted concerns about both privacy and data security.
This talk is a generic but comprehensive overview of security mechanism, controls and potential attacks in modern browsers. The talk focuses also on new technologies, such as HTML5 and related APIs to highlight new attack scenario against browsers.
Advanced Data Widgets and Server IntegrationSencha
Ext GWT provides a rich set of data components including lists, trees, and grids. Rather than just covering the client-side implementation, this session will demonstrate how to manage your data and data updates from the server. In addition, you will advanced techniques to customize the display of your data.
Transmogrifier is a tool that gives you the ability to create a configurable pipeline to import and export from various systems. Each section of the pipe can be turned into a re-usable blueprint that can be given back to the community. This gives us the ability to quickly create migration paths for existing systems and maintain them as Python packages.
Buildout is a great tool for creating repeatable environments. But what happens when things change and you are left with a broken buildout? This talk will focus on creating a buildout that can survive the test of time. The talk will cover how to keep your packages pinned so that releases don't cause you headaches. We will also discuss how to set up your own package server in order to make sure that you always have the packages that you need.
Mobile Development with uPortal and Infusioncolinbdclark
A half-day, code-oriented workshop teaching developers how to build mobile applications using Infusion and the mobile Fluid Skinning System. Includes advice on performance optimization and techniques for using the open Web to reach more users on more devices.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Welcome to the first live UiPath Community Day Dubai! Join us for this unique occasion to meet our local and global UiPath Community and leaders. You will get a full view of the MEA region's automation landscape and the AI Powered automation technology capabilities of UiPath. Also, hosted by our local partners Marc Ellis, you will enjoy a half-day packed with industry insights and automation peers networking.
📕 Curious on our agenda? Wait no more!
10:00 Welcome note - UiPath Community in Dubai
Lovely Sinha, UiPath Community Chapter Leader, UiPath MVPx3, Hyper-automation Consultant, First Abu Dhabi Bank
10:20 A UiPath cross-region MEA overview
Ashraf El Zarka, VP and Managing Director MEA, UiPath
10:35: Customer Success Journey
Deepthi Deepak, Head of Intelligent Automation CoE, First Abu Dhabi Bank
11:15 The UiPath approach to GenAI with our three principles: improve accuracy, supercharge productivity, and automate more
Boris Krumrey, Global VP, Automation Innovation, UiPath
12:15 To discover how Marc Ellis leverages tech-driven solutions in recruitment and managed services.
Brendan Lingam, Director of Sales and Business Development, Marc Ellis
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
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/
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
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!
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
6. What can I use this for?
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
7. Productivity
Stylish, Greasemonkey
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
8. Printing
JS Print Setup
https://addons.mozilla.org/en-US/firefox/addon/8966/
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
9. Mail
Mail redirection
https://developer.mozilla.org/en/Web-based_protocol_handlers
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
10. Developer Tools
CSS Reloader, Firebug, Proxies
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
11. Contacts
W3C Contacts spec
http://mozillalabs.com/blog/2010/03/contacts-in-the-browser/
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
12. Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
13. AdBlock Plus Delicious
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
14. .xul
.js
Install.rdf .css
Chrome.manifest .png
XPI
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
15. Huh?
.xul
.js
Install.rdf .css
Chrome.manifest .png
XPI
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
16. cssreloader.js
cssreloader.xul
Install.rdf
content locale skin
crome.manifest
/chrome
Folder Structure
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
17. Text
XUL
http://www.csie.ntu.edu.tw/~piaip/docs/CreateMozApp/mozilla-chp-1.html
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
19. Extension
Firefox Extension
Extension
Architecture
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
20. Standard JavaScript fuelIBookmark.*
DOM API’s fuelIBrowserTab.*
XMLHttpRequest extIApplication.*
HTML5 API’s extIConsole.*
extIPreference.*
Text (XPCOM)
APIʼs
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
21. <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>cssreloader@kenneth.io</em:id>
<em:name>CSS Reloader</em:name>
<em:version>1.0.2</em:version>
<em:description>Reload your CSS without reloading the page. Use F9, o... </em:description>
<em:creator>Kenneth Auchenberg</em:creator>
<em:homepageURL>http://kenneth.io/</em:homepageURL>
<!-- Firefox -->
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>3.5</em:minVersion>
<em:maxVersion>3.6.*</em:maxVersion>
</Description>
</em:targetApplication>
</Description>
</RDF>
Install.rdf
(metadata)
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
22. <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>cssreloader@kenneth.io</em:id>
<em:name>CSS Reloader</em:name>
<em:version>1.0.2</em:version>
<em:description>Reload your CSS without reloading the page. Use F9, o... </em:description>
<em:creator>Kenneth Auchenberg</em:creator>
<em:homepageURL>http://kenneth.io/</em:homepageURL>
<!-- Firefox -->
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>3.5</em:minVersion>
<em:maxVersion>3.6.*</em:maxVersion>
</Description>
</em:targetApplication>
</Description>
</RDF>
Install.rdf
(metadata)
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
23. content
cssreloader
chrome/content/
overlay
chrome://browser/content/browser.xul
chrome://cssreloader/content/cssreloader.xul
locale
cssreloader
en-US
chrome://cssreloader/locale/en-US
style
chrome://browser/content/browser.xul
chrome://cssreloader/skin/style.css
chrome.manifest
(file references)
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
26. CSSreloader = function() {
function reload() {
var elements = window.content.document.querySelectorAll('link[rel=stylesheet][href]');
elements.forEach(function(element, index, array) {
var h = element.href.replace(/[?&]cssReloader=([^&$]*)/,'');
element.href = h + (h.indexOf('?')>=0?'&':'?') + 'cssReloader=' + (new Date().valueOf());
});
}
return {
reload : reload
}
}();
JavaScript
(crazy stuff)
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
27. CSSreloader = function() {
function reload() {
var elements = window.content.document.querySelectorAll('link[rel=stylesheet][href]');
elements.forEach(function(element, index, array) {
var h = element.href.replace(/[?&]cssReloader=([^&$]*)/,'');
element.href = h + (h.indexOf('?')>=0?'&':'?') + 'cssReloader=' + (new Date().valueOf());
});
}
return {
reload : reload
}
Yup, that’s all
}();
JavaScript
(crazy stuff)
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
28. Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
29. .htm
.js
.css
manifest.json
.png
CRX
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
30. messages.json
en fr de
_locales
manifest.json cssreloader.js
/
Folder Structure
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
31. Architecture
http://code.google.com/chrome/extensions/overview.html
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
32. Standard JavaScript chrome.extension.*
DOM API’s chrome.browserAction.*
XMLHttpRequest chrome.pageAction.*
WebSockets chrome.bookmarks.*
HTML5 API’s chrome.tabs.*
Webkit API’s Text chrome.windows.*
APIʼs
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
33. {
"name": "CSS Reloader",
"version": "1.0",
"description": "CSS Reloader is an extension that allows you to reload all the .... ",
"permissions": [
"http://*/*",
"https://*/*"
],
"icons": {
"48": "cssreloader_icon_48.png",
"128": "cssreloader_icon_128.png"
},
"content_scripts": [
{
"matches": ["http://*/*", "https://*/*"],
"js": ["cssreloader.js"]
}
]
}
manifest.json
(metadata)
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
34. CSSreloader = function() {
function initialize() {
document.addEventListener("keyup", onWindowKeyUp, false);
}
function reload() {
var elements = document.querySelectorAll('link[rel=stylesheet][href]');
for (var i = 0, element; element = elements[i]; i++) {
var href = element.href.replace(/[?&]cssReloader=([^&$]*)/,'');
element.href = href + (href.indexOf('?')>=0?'&':'?') + 'cssReloader=' + (new Date().valueOf());
}
}
function onWindowKeyUp(event) {
if(event.keyCode == 120) {
reload();
}
}
return {
reload : reload, Content Script
initialize: initialize
} (here it goes)
}();
CSSreloader.initialize();
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
35. Chrome vs. Firefox
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
36. XUL vs. HTML
Chrome vs. Content
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
38. // Content Scripts
function rewriteMailtosOnPage() {
// Find all the A mailto links.
var result = document.evaluate(
'//a[contains(@href, "mailto:")]',
document, null, XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null);
rewriteMailtos(result);
// Find all the AREA mailto links.
var result = document.evaluate(
'//area[contains(@href, "mailto:")]',
document, null, XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null);
rewriteMailtos(result);
}
function rewriteMailtos(allofthem) {
var item;
var nodes = [];
// cannot change the NODE_ITERATOR nodes' attributes in this loop itself
// since iterateNext will invalidate the state; Need to store temporarily.
while (item = allofthem.iterateNext()) {
nodes.push(item);
}
for (var i = 0; i < nodes.length; i++) {
var mailtoStr = nodes[i].getAttribute('href'); Protocol handler (mailto links)
mailtoStr = rewriteMailtoToGMailUrl(mailtoStr);
nodes[i].setAttribute('href', mailtoStr); (Chrome)
nodes[i].setAttribute('target', "_blank"); http://github.com/Jacopo/chrome-gmail-no-button/
nodes[i].setAttribute('rel', 'noreferrer');
}
}
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
45. 526 users 298 weekly installs
7. january 2010!
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
46. Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
47. Browser as a platform.
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
48. CSS3 HTML5
WebGL WebSockets
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
49. CSS3
CSS3
Site Specific Browsers
SSBʼs
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
50. CSS3
CSS3
Site Specific Browsers
SSBʼs
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
51. CSS3
CSS3
Google Chrome Apps
Demo
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
52. {
"name": "Community Day 2010",
"version": "3",
"icons": { "24": "24.png", "128": "128.png" },
"launch": {
"web_url": "http://communityday.in/copenhagen"
},
"permissions": ["geolocation"],
"web_content": {
"enabled": true,
"origin": "http://communityday.in",
"paths": [
"/copenhagen/"
]
}
}
manifest.json
(web app metadata)
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
53. Music
“Jotify” Spotify client
http://jotify.felixbruns.de//
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
54. Getting started
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
55. addons.mozilla.org/en-US/developers
code.google.com/chrome/extensions
github.com/auchenberg/css-reloader
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010
56. Be the cool kid
Browser extensions at Community Day 2010 @auchenberg kenneth.io
Friday, May 28, 2010