The document discusses Jen Lampton's proposal for a new theme layer in Drupal 8 using the Twig templating engine. Some key points:
- The current Drupal 7 theme layer is difficult to learn and use due to issues like mixed data types, multiple ways to print variables, insecure code, and complexity.
- Twig aims to address these issues by providing a simpler, more consistent and secure templating syntax that is closer to HTML.
- Twig would standardize how templates access data and print variables. It would consolidate theme functions into template files and make the code more secure.
- While some challenges like reducing template files remain, Twig has the potential to greatly improve the theme
An introduction to Basho's Riak distributed data store, and the Ripple client in Ruby. Code samples from the demos are here: http://gist.github.com/365791
Using Components to Build Native-Quality HTML5 Appsgraynorton
This document discusses how to build native-quality HTML5 apps using components. Components encapsulate markup, logic, state, and lifecycle management to create reusable UI elements like sliders, labels, and views. As apps are built from these components, they gain consistent look and feel, high performance, and other benefits like maintainability and reusability without reinventing the wheel. The document also explores how emerging web standards like HTML templates, custom elements, and Shadow DOM support building apps from reusable components.
Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love itRyan Weaver
The document discusses the benefits of Drupal 8 over Drupal 7. Drupal 8 embraces modern PHP standards and libraries, allowing for easier code sharing, improved quality, and new possibilities. Key benefits include leveraging libraries like Symfony, Twig and others with no development effort, improved developer experience through object oriented code and standards, and the ability to more easily create new types of applications and distributions. Drupal 8 innovates away from outdated Drupal 7 technologies and practices to build a stronger, more interoperable community.
Creating the interfaces of the future with the APIs of todaygerbille
The document discusses creating futuristic interfaces using web technologies like WebSockets, WebGL, and device APIs. It provides examples of syncing device orientation over WebSockets between clients, accessing the device camera with getUserMedia, and using head tracking with headtrackr.js to control the camera in a 3D scene rendered with three.js. Links are included for related projects on Wiimote control, head tracking examples, and touch tracking demos.
Web Motion: Motion Detection on the Webfisherwebdev
Slides from a talk originally given on April 1, 2013 at the HTML5 Developer Conference in San Francisco
Outline:
1. Overview of competitive landscape.
2. Up close with the LeapJS API
3. How will this fit into web standards?
The document discusses strategies for making peace with Twitter Bootstrap by addressing common problems developers have with it, such as bloat, rigid class names, and inflexibility. It suggests customizing Bootstrap downloads and imports to reduce size, using Bootstrap mixins and variables to allow more flexible styling, and designing components with Bootstrap rather than against it. The goal is to take only what is needed from Bootstrap while using your own class names.
This document discusses cross-platform game development using HTML5. It begins by introducing Ludei, a company that develops games for iOS and Android using HTML5. It then discusses the benefits of using HTML5 for a single codebase that can run across platforms. However, it notes the current status of HTML5 has limitations due to browser fragmentation and performance issues on mobile. It recommends using a game engine and optimizing resources. Ludei offers a solution that runs games outside the browser for a native-like experience across iOS and Android with tools for monetization, social integration and more.
Introducing Rendr: Run your Backbone.js apps on the client and serverSpike Brehm
Rendr is a JavaScript library that allows Backbone.js applications to run on both the client and server sides. It provides common classes and logic that can be reused across both environments, such as BaseView, BaseModel, and routers. On the server, it renders the HTML output using the same application logic. On the client, it hydrates the views by attaching them to the corresponding DOM elements. The goal is to write application logic in a way that is agnostic to the environment, avoiding duplicating code or context switching between client and server implementations.
An introduction to Basho's Riak distributed data store, and the Ripple client in Ruby. Code samples from the demos are here: http://gist.github.com/365791
Using Components to Build Native-Quality HTML5 Appsgraynorton
This document discusses how to build native-quality HTML5 apps using components. Components encapsulate markup, logic, state, and lifecycle management to create reusable UI elements like sliders, labels, and views. As apps are built from these components, they gain consistent look and feel, high performance, and other benefits like maintainability and reusability without reinventing the wheel. The document also explores how emerging web standards like HTML templates, custom elements, and Shadow DOM support building apps from reusable components.
Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love itRyan Weaver
The document discusses the benefits of Drupal 8 over Drupal 7. Drupal 8 embraces modern PHP standards and libraries, allowing for easier code sharing, improved quality, and new possibilities. Key benefits include leveraging libraries like Symfony, Twig and others with no development effort, improved developer experience through object oriented code and standards, and the ability to more easily create new types of applications and distributions. Drupal 8 innovates away from outdated Drupal 7 technologies and practices to build a stronger, more interoperable community.
Creating the interfaces of the future with the APIs of todaygerbille
The document discusses creating futuristic interfaces using web technologies like WebSockets, WebGL, and device APIs. It provides examples of syncing device orientation over WebSockets between clients, accessing the device camera with getUserMedia, and using head tracking with headtrackr.js to control the camera in a 3D scene rendered with three.js. Links are included for related projects on Wiimote control, head tracking examples, and touch tracking demos.
Web Motion: Motion Detection on the Webfisherwebdev
Slides from a talk originally given on April 1, 2013 at the HTML5 Developer Conference in San Francisco
Outline:
1. Overview of competitive landscape.
2. Up close with the LeapJS API
3. How will this fit into web standards?
The document discusses strategies for making peace with Twitter Bootstrap by addressing common problems developers have with it, such as bloat, rigid class names, and inflexibility. It suggests customizing Bootstrap downloads and imports to reduce size, using Bootstrap mixins and variables to allow more flexible styling, and designing components with Bootstrap rather than against it. The goal is to take only what is needed from Bootstrap while using your own class names.
This document discusses cross-platform game development using HTML5. It begins by introducing Ludei, a company that develops games for iOS and Android using HTML5. It then discusses the benefits of using HTML5 for a single codebase that can run across platforms. However, it notes the current status of HTML5 has limitations due to browser fragmentation and performance issues on mobile. It recommends using a game engine and optimizing resources. Ludei offers a solution that runs games outside the browser for a native-like experience across iOS and Android with tools for monetization, social integration and more.
Introducing Rendr: Run your Backbone.js apps on the client and serverSpike Brehm
Rendr is a JavaScript library that allows Backbone.js applications to run on both the client and server sides. It provides common classes and logic that can be reused across both environments, such as BaseView, BaseModel, and routers. On the server, it renders the HTML output using the same application logic. On the client, it hydrates the views by attaching them to the corresponding DOM elements. The goal is to write application logic in a way that is agnostic to the environment, avoiding duplicating code or context switching between client and server implementations.
There is a growing demand to build increasingly complex mobile applications with HTML5, in part due to its cross-platform nature. However delivering these applications is still very challenging. The Montage framework was designed from the ground up to build complex HTML5 applications. This talk will explain how Montage’s reusable and encapsulated Components provides a natural and effective way to write modular, robust, applications by allowing team members to work on different part at the same time.
In Drupal 7, we need to use a whole suite of modules to make our websites multilingual. Drupal 8 core provides much improved support for multilingual. This means that it's much easier/faster to create a multilingual site, and you won't need all those extra contributed modules. In this session, we'll look at:
How the Drupal 8 multilingual modules work
What steps you'll need to get a multilingual website up and running
Setting up multilingual components in Drupal 8
This document introduces the Paragraphs module for Drupal 8, which provides a Paragraph entity type that can be referenced in any content type. The Paragraphs module allows content to be constructed using reusable patterns and blocks, and provides drag-and-drop editing of content. It is a more effective replacement for WYSIWYG editors and allows predefined lists of content items to build landing pages. The document also discusses additional helper modules and addresses questions on placing custom blocks or views within paragraphs.
Automated php unit testing in drupal 8Jay Friendly
An overview of PHPUnit Automated testing in Drupal 8, including a comparison of manual testing vs automated testing, the pros and cons of automated testing, and the types of automated tests available in Drupal 8.
Drupal 8 override: services and pluginsAnton Ivanov
How to override Drupal 8 services and plugins easy and fast.
(Kharkiv Drupal Talks #4, 2017 March 3)
https://www.meetup.com/Kharkiv-Drupal-Cafe/events/237655163/
Drupal 8 brings a lot of changes. Many standby contributed modules are now included with Drupal Core, and many small changes add up to the most exciting Drupal release yet! We'll walk through many of the biggest changes, highlighting how Drupal 8 will accelerate your web development and provide tools to make Drupal the best content management platform on any device.
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...DanBrown980551
This LF Energy webinar took place June 20, 2024. It featured:
-Alex Thornton, LF Energy
-Hallie Cramer, Google
-Daniel Roesler, UtilityAPI
-Henry Richardson, WattTime
In response to the urgency and scale required to effectively address climate change, open source solutions offer significant potential for driving innovation and progress. Currently, there is a growing demand for standardization and interoperability in energy data and modeling. Open source standards and specifications within the energy sector can also alleviate challenges associated with data fragmentation, transparency, and accessibility. At the same time, it is crucial to consider privacy and security concerns throughout the development of open source platforms.
This webinar will delve into the motivations behind establishing LF Energy’s Carbon Data Specification Consortium. It will provide an overview of the draft specifications and the ongoing progress made by the respective working groups.
Three primary specifications will be discussed:
-Discovery and client registration, emphasizing transparent processes and secure and private access
-Customer data, centering around customer tariffs, bills, energy usage, and full consumption disclosure
-Power systems data, focusing on grid data, inclusive of transmission and distribution networks, generation, intergrid power flows, and market settlement data
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor IvaniukFwdays
At this talk we will discuss DDoS protection tools and best practices, discuss network architectures and what AWS has to offer. Also, we will look into one of the largest DDoS attacks on Ukrainian infrastructure that happened in February 2022. We'll see, what techniques helped to keep the web resources available for Ukrainians and how AWS improved DDoS protection for all customers based on Ukraine experience
Session 1 - Intro to Robotic Process Automation.pdfUiPathCommunity
👉 Check out our full 'Africa Series - Automation Student Developers (EN)' page to register for the full program:
https://bit.ly/Automation_Student_Kickstart
In this session, we shall introduce you to the world of automation, the UiPath Platform, and guide you on how to install and setup UiPath Studio on your Windows PC.
📕 Detailed agenda:
What is RPA? Benefits of RPA?
RPA Applications
The UiPath End-to-End Automation Platform
UiPath Studio CE Installation and Setup
💻 Extra training through UiPath Academy:
Introduction to Automation
UiPath Business Automation Platform
Explore automation development with UiPath Studio
👉 Register here for our upcoming Session 2 on June 20: Introduction to UiPath Studio Fundamentals: https://community.uipath.com/events/details/uipath-lagos-presents-session-2-introduction-to-uipath-studio-fundamentals/
High performance Serverless Java on AWS- GoTo Amsterdam 2024Vadym Kazulkin
Java is for many years one of the most popular programming languages, but it used to have hard times in the Serverless community. Java is known for its high cold start times and high memory footprint, comparing to other programming languages like Node.js and Python. In this talk I'll look at the general best practices and techniques we can use to decrease memory consumption, cold start times for Java Serverless development on AWS including GraalVM (Native Image) and AWS own offering SnapStart based on Firecracker microVM snapshot and restore and CRaC (Coordinated Restore at Checkpoint) runtime hooks. I'll also provide a lot of benchmarking on Lambda functions trying out various deployment package sizes, Lambda memory settings, Java compilation options and HTTP (a)synchronous clients and measure their impact on cold and warm start times.
How information systems are built or acquired puts information, which is what they should be about, in a secondary place. Our language adapted accordingly, and we no longer talk about information systems but applications. Applications evolved in a way to break data into diverse fragments, tightly coupled with applications and expensive to integrate. The result is technical debt, which is re-paid by taking even bigger "loans", resulting in an ever-increasing technical debt. Software engineering and procurement practices work in sync with market forces to maintain this trend. This talk demonstrates how natural this situation is. The question is: can something be done to reverse the trend?
"Scaling RAG Applications to serve millions of users", Kevin GoedeckeFwdays
How we managed to grow and scale a RAG application from zero to thousands of users in 7 months. Lessons from technical challenges around managing high load for LLMs, RAGs and Vector databases.
Discover top-tier mobile app development services, offering innovative solutions for iOS and Android. Enhance your business with custom, user-friendly mobile applications.
QA or the Highway - Component Testing: Bridging the gap between frontend appl...zjhamm304
These are the slides for the presentation, "Component Testing: Bridging the gap between frontend applications" that was presented at QA or the Highway 2024 in Columbus, OH by Zachary Hamm.
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
"NATO Hackathon Winner: AI-Powered Drug Search", Taras KlobaFwdays
This is a session that details how PostgreSQL's features and Azure AI Services can be effectively used to significantly enhance the search functionality in any application.
In this session, we'll share insights on how we used PostgreSQL to facilitate precise searches across multiple fields in our mobile application. The techniques include using LIKE and ILIKE operators and integrating a trigram-based search to handle potential misspellings, thereby increasing the search accuracy.
We'll also discuss how the azure_ai extension on PostgreSQL databases in Azure and Azure AI Services were utilized to create vectors from user input, a feature beneficial when users wish to find specific items based on text prompts. While our application's case study involves a drug search, the techniques and principles shared in this session can be adapted to improve search functionality in a wide range of applications. Join us to learn how PostgreSQL and Azure AI can be harnessed to enhance your application's search capability.
There is a growing demand to build increasingly complex mobile applications with HTML5, in part due to its cross-platform nature. However delivering these applications is still very challenging. The Montage framework was designed from the ground up to build complex HTML5 applications. This talk will explain how Montage’s reusable and encapsulated Components provides a natural and effective way to write modular, robust, applications by allowing team members to work on different part at the same time.
In Drupal 7, we need to use a whole suite of modules to make our websites multilingual. Drupal 8 core provides much improved support for multilingual. This means that it's much easier/faster to create a multilingual site, and you won't need all those extra contributed modules. In this session, we'll look at:
How the Drupal 8 multilingual modules work
What steps you'll need to get a multilingual website up and running
Setting up multilingual components in Drupal 8
This document introduces the Paragraphs module for Drupal 8, which provides a Paragraph entity type that can be referenced in any content type. The Paragraphs module allows content to be constructed using reusable patterns and blocks, and provides drag-and-drop editing of content. It is a more effective replacement for WYSIWYG editors and allows predefined lists of content items to build landing pages. The document also discusses additional helper modules and addresses questions on placing custom blocks or views within paragraphs.
Automated php unit testing in drupal 8Jay Friendly
An overview of PHPUnit Automated testing in Drupal 8, including a comparison of manual testing vs automated testing, the pros and cons of automated testing, and the types of automated tests available in Drupal 8.
Drupal 8 override: services and pluginsAnton Ivanov
How to override Drupal 8 services and plugins easy and fast.
(Kharkiv Drupal Talks #4, 2017 March 3)
https://www.meetup.com/Kharkiv-Drupal-Cafe/events/237655163/
Drupal 8 brings a lot of changes. Many standby contributed modules are now included with Drupal Core, and many small changes add up to the most exciting Drupal release yet! We'll walk through many of the biggest changes, highlighting how Drupal 8 will accelerate your web development and provide tools to make Drupal the best content management platform on any device.
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...DanBrown980551
This LF Energy webinar took place June 20, 2024. It featured:
-Alex Thornton, LF Energy
-Hallie Cramer, Google
-Daniel Roesler, UtilityAPI
-Henry Richardson, WattTime
In response to the urgency and scale required to effectively address climate change, open source solutions offer significant potential for driving innovation and progress. Currently, there is a growing demand for standardization and interoperability in energy data and modeling. Open source standards and specifications within the energy sector can also alleviate challenges associated with data fragmentation, transparency, and accessibility. At the same time, it is crucial to consider privacy and security concerns throughout the development of open source platforms.
This webinar will delve into the motivations behind establishing LF Energy’s Carbon Data Specification Consortium. It will provide an overview of the draft specifications and the ongoing progress made by the respective working groups.
Three primary specifications will be discussed:
-Discovery and client registration, emphasizing transparent processes and secure and private access
-Customer data, centering around customer tariffs, bills, energy usage, and full consumption disclosure
-Power systems data, focusing on grid data, inclusive of transmission and distribution networks, generation, intergrid power flows, and market settlement data
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor IvaniukFwdays
At this talk we will discuss DDoS protection tools and best practices, discuss network architectures and what AWS has to offer. Also, we will look into one of the largest DDoS attacks on Ukrainian infrastructure that happened in February 2022. We'll see, what techniques helped to keep the web resources available for Ukrainians and how AWS improved DDoS protection for all customers based on Ukraine experience
Session 1 - Intro to Robotic Process Automation.pdfUiPathCommunity
👉 Check out our full 'Africa Series - Automation Student Developers (EN)' page to register for the full program:
https://bit.ly/Automation_Student_Kickstart
In this session, we shall introduce you to the world of automation, the UiPath Platform, and guide you on how to install and setup UiPath Studio on your Windows PC.
📕 Detailed agenda:
What is RPA? Benefits of RPA?
RPA Applications
The UiPath End-to-End Automation Platform
UiPath Studio CE Installation and Setup
💻 Extra training through UiPath Academy:
Introduction to Automation
UiPath Business Automation Platform
Explore automation development with UiPath Studio
👉 Register here for our upcoming Session 2 on June 20: Introduction to UiPath Studio Fundamentals: https://community.uipath.com/events/details/uipath-lagos-presents-session-2-introduction-to-uipath-studio-fundamentals/
High performance Serverless Java on AWS- GoTo Amsterdam 2024Vadym Kazulkin
Java is for many years one of the most popular programming languages, but it used to have hard times in the Serverless community. Java is known for its high cold start times and high memory footprint, comparing to other programming languages like Node.js and Python. In this talk I'll look at the general best practices and techniques we can use to decrease memory consumption, cold start times for Java Serverless development on AWS including GraalVM (Native Image) and AWS own offering SnapStart based on Firecracker microVM snapshot and restore and CRaC (Coordinated Restore at Checkpoint) runtime hooks. I'll also provide a lot of benchmarking on Lambda functions trying out various deployment package sizes, Lambda memory settings, Java compilation options and HTTP (a)synchronous clients and measure their impact on cold and warm start times.
How information systems are built or acquired puts information, which is what they should be about, in a secondary place. Our language adapted accordingly, and we no longer talk about information systems but applications. Applications evolved in a way to break data into diverse fragments, tightly coupled with applications and expensive to integrate. The result is technical debt, which is re-paid by taking even bigger "loans", resulting in an ever-increasing technical debt. Software engineering and procurement practices work in sync with market forces to maintain this trend. This talk demonstrates how natural this situation is. The question is: can something be done to reverse the trend?
"Scaling RAG Applications to serve millions of users", Kevin GoedeckeFwdays
How we managed to grow and scale a RAG application from zero to thousands of users in 7 months. Lessons from technical challenges around managing high load for LLMs, RAGs and Vector databases.
Discover top-tier mobile app development services, offering innovative solutions for iOS and Android. Enhance your business with custom, user-friendly mobile applications.
QA or the Highway - Component Testing: Bridging the gap between frontend appl...zjhamm304
These are the slides for the presentation, "Component Testing: Bridging the gap between frontend applications" that was presented at QA or the Highway 2024 in Columbus, OH by Zachary Hamm.
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
"NATO Hackathon Winner: AI-Powered Drug Search", Taras KlobaFwdays
This is a session that details how PostgreSQL's features and Azure AI Services can be effectively used to significantly enhance the search functionality in any application.
In this session, we'll share insights on how we used PostgreSQL to facilitate precise searches across multiple fields in our mobile application. The techniques include using LIKE and ILIKE operators and integrating a trigram-based search to handle potential misspellings, thereby increasing the search accuracy.
We'll also discuss how the azure_ai extension on PostgreSQL databases in Azure and Azure AI Services were utilized to create vectors from user input, a feature beneficial when users wish to find specific items based on text prompts. While our application's case study involves a drug search, the techniques and principles shared in this session can be adapted to improve search functionality in a wide range of applications. Join us to learn how PostgreSQL and Azure AI can be harnessed to enhance your application's search capability.
From Natural Language to Structured Solr Queries using LLMsSease
This talk draws on experimentation to enable AI applications with Solr. One important use case is to use AI for better accessibility and discoverability of the data: while User eXperience techniques, lexical search improvements, and data harmonization can take organizations to a good level of accessibility, a structural (or “cognitive” gap) remains between the data user needs and the data producer constraints.
That is where AI – and most importantly, Natural Language Processing and Large Language Model techniques – could make a difference. This natural language, conversational engine could facilitate access and usage of the data leveraging the semantics of any data source.
The objective of the presentation is to propose a technical approach and a way forward to achieve this goal.
The key concept is to enable users to express their search queries in natural language, which the LLM then enriches, interprets, and translates into structured queries based on the Solr index’s metadata.
This approach leverages the LLM’s ability to understand the nuances of natural language and the structure of documents within Apache Solr.
The LLM acts as an intermediary agent, offering a transparent experience to users automatically and potentially uncovering relevant documents that conventional search methods might overlook. The presentation will include the results of this experimental work, lessons learned, best practices, and the scope of future work that should improve the approach and make it production-ready.
"What does it really mean for your system to be available, or how to define w...Fwdays
We will talk about system monitoring from a few different angles. We will start by covering the basics, then discuss SLOs, how to define them, and why understanding the business well is crucial for success in this exercise.
AppSec PNW: Android and iOS Application Security with MobSFAjin Abraham
Mobile Security Framework - MobSF is a free and open source automated mobile application security testing environment designed to help security engineers, researchers, developers, and penetration testers to identify security vulnerabilities, malicious behaviours and privacy concerns in mobile applications using static and dynamic analysis. It supports all the popular mobile application binaries and source code formats built for Android and iOS devices. In addition to automated security assessment, it also offers an interactive testing environment to build and execute scenario based test/fuzz cases against the application.
This talk covers:
Using MobSF for static analysis of mobile applications.
Interactive dynamic security assessment of Android and iOS applications.
Solving Mobile app CTF challenges.
Reverse engineering and runtime analysis of Mobile malware.
How to shift left and integrate MobSF/mobsfscan SAST and DAST in your build pipeline.
AppSec PNW: Android and iOS Application Security with MobSF
Twig & the new theme layer in Drupal 8
1. THE NEW THEME LAYER
IN DRUPAL 8
Jen Lampton
Thursday, April 11, 2013
2. JEN LAMPTON
@jenlampton on twitter
“jenlampton” http://drupal.org/user/85586
www.jenlampton.com
if you forget my name, just Google “Drupal developer”
Thursday, April 11, 2013
3. MY BACKGROUND
Building websites since 1997
Thursday, April 11, 2013
4. MY BACKGROUND
Working with Drupal since 2006
Thursday, April 11, 2013
5. MY BACKGROUND
Consider myself a developer.
Thursday, April 11, 2013
6. MY BACKGROUND
Also a Drupal trainer.
Thursday, April 11, 2013
7. MY BACKGROUND
Accidental Drupal 8 “initiative” leader.
Thursday, April 11, 2013
9. MY “INITIATIVE”
(unofficial)
A new theme layer for Drupal 8
Thursday, April 11, 2013
10. THEME LAYER?
1) Generation of Markup:
•Template files (as close to HTML as possible)
•Preparation of data (for insertion into template files)
•Addition of assets (CSS + JS)
Thursday, April 11, 2013
11. THEME LAYER?
2) System of complete overrides:
•Alteration of HTML in template files
•Alteration of data (before insertion into templates)
•Inclusion of additional assets
(or exclusion of existing assets)
Thursday, April 11, 2013
12. THEME LAYER?
3) System of partial overrides:
•Alteration of HTML in template files
•Alteration of data (before insertion into templates)
•Inclusion of additional assets
(or exclusion of existing assets)
...but only under certain circumstances.
Thursday, April 11, 2013
13. DRUPAL 7 THEME LAYER
but, we have this now!
Thursday, April 11, 2013
14. DRUPAL 7 THEME LAYER
it looks like this (simplified)
Thursday, April 11, 2013
15. DRUPAL 7 THEME LAYER
it feels like this
Thursday, April 11, 2013
24. HARD TO LEARN
Really, it’s insecure.
Thursday, April 11, 2013
25. HARD TO LEARN
Drupal-specific
Drupalism noun Something that only exists in Drupal.
Thursday, April 11, 2013
26. HARD TO LEARN
too many complex subsystems
Thursday, April 11, 2013
27. HARD TO LEARN
because
1. Mixed data types (strings, objects & arrays)
2. Different methods of printing variables (print, render)
3.Two ways to override markup: templates & theme fns
4. Too many template files & Too many theme functions
5. Insecure
6. Drupal-specific
7. A complex mix of subsystems
Thursday, April 11, 2013
28. DRUPAL 8 THEME LAYER
Principals to guide us.
lb.com/twig#principles
Thursday, April 11, 2013
29. DRUPAL 8 THEME LAYER
Principals to guide us
1. Start with nothing
Core default markup should strive for semantic simplicity, with
few HTML elements, added only as needed
lb.com/twig#principles
Thursday, April 11, 2013
30. DRUPAL 8 THEME LAYER
Principals to guide us
1. Start with nothing
2. Build from use cases
We won't assume we know what people want or add features
based on "What-if...?" We will think about the 90% of use cases.
lb.com/twig#principles
Thursday, April 11, 2013
31. DRUPAL 8 THEME LAYER
Principals to guide us
1. Start with nothing
2. Build from use cases
3. Provide tools
Give front-end experts a way to achieve specific goals; goals that
apply to the remaining 10% of use cases.
lb.com/twig#principles
Thursday, April 11, 2013
32. DRUPAL 8 THEME LAYER
Principals to guide us
1. Start with nothing
2. Build from use cases
3. Provide tools
4. Consolidate
Don't make something new when something common can be
used instead. (let’s create a Theme Component Library).
lb.com/twig#principles
Thursday, April 11, 2013
33. DRUPAL 8 THEME LAYER
Principals to guide us
1. Start with nothing
2. Build from use cases
3. Provide tools
4. Consolidate
5. Visibility
You should be able to see what's going on without reading docs.
lb.com/twig#principles
Thursday, April 11, 2013
34. DRUPAL 8 THEME LAYER
Principals to guide us
1. Start with nothing
2. Build from use cases
3. Provide tools
4. Consolidate
5. Visibility
6. Consistency
Do the same things everywhere, follow patterns.
lb.com/twig#principles
Thursday, April 11, 2013
35. DRUPAL 8 THEME LAYER
Principals to guide us
1. Start with nothing
2. Build from use cases
3. Provide tools
4. Consolidate
5. Visibility
6. Consistency
7. Don't dumb it down
Complexity should be reduced but not obscured.
lb.com/twig#principles
Thursday, April 11, 2013
36. DRUPAL 8 THEME LAYER
Principals to guide us
1. Start with nothing
2. Build from use cases
3. Provide tools
4. Consolidate
5. Visibility
6. Consistency
7. Don't dumb it down
8. Organization should be driven by meaning and
semantics over technical convenience
Consider what an element means rather than how it
structurally appears. Theme developers want to see markup in
templates, not abstraction.
Thursday, April 11, 2013
43. TWIG
recognizable syntax
Thursday, April 11, 2013
44. TWIG
by the creator of Symfony, Fabien Potencier
Thursday, April 11, 2013
45. TWIG
what does it look like?
Thursday, April 11, 2013
46. TWIG
what does it look like?
Thursday, April 11, 2013
47. TWIG
print with {{ }}
Thursday, April 11, 2013
48. TWIG
commands with {% %}
Thursday, April 11, 2013
49. TWIG
comments with {# #}
Thursday, April 11, 2013
50. TWIG
drill down into all variables with .
Thursday, April 11, 2013
51. TWIG
All markup is generated in template files.
Thursday, April 11, 2013
52. D7 PAIN POINTS
does Twig help?
1. Mixed data types
2. Different methods of printing variables
3.Two ways to override markup
4. Too many template files & theme functions
5. Insecure
6. Drupal-specific
7. A complex mix of subsystems
Thursday, April 11, 2013
53. D7 PAIN POINTS
does Twig help?
1. Mixed data types
Thursday, April 11, 2013
54. D7 PAIN POINTS
does Twig help?
1. Mixed data types
All template variables are accessed
consistently:
node.nid
content.links
Thursday, April 11, 2013
55. D7 PAIN POINTS
does Twig help?
1. Mixed data types FIXED
Thursday, April 11, 2013
56. D7 PAIN POINTS
does Twig help?
1. Mixed data types FIXED
2. Different methods of printing variables
Thursday, April 11, 2013
57. D7 PAIN POINTS
does Twig help?
1. Mixed data types FIXED
2. Different methods of printing variables
Removed calls to render() from templates:
{{ node.nid }}
{{ content.links }}
Thursday, April 11, 2013
58. D7 PAIN POINTS
does Twig help?
1. Mixed data types FIXED
2. Different methods of printing variables FIXED
Thursday, April 11, 2013
59. D7 PAIN POINTS
does Twig help?
1. Mixed data types FIXED
2. Different methods of printing variables FIXED
3.Two ways to override markup
Thursday, April 11, 2013
60. D7 PAIN POINTS
does Twig help?
1. Mixed data types FIXED
2. Different methods of printing variables FIXED
3.Two ways to override markup
All theme functions become templates.
node.tpl.php becomes node.html.twig
theme_table() becomes table.html.twig
Thursday, April 11, 2013
61. D7 PAIN POINTS
does Twig help?
1. Mixed data types FIXED
2. Different methods of printing variables FIXED
3.Two ways to override markup FIXED
Thursday, April 11, 2013
62. D7 PAIN POINTS
does Twig help?
1. Mixed data types FIXED
2. Different methods of printing variables FIXED
3.Two ways to override markup FIXED
4. Too many template files & theme functions
Thursday, April 11, 2013
63. D7 PAIN POINTS
does Twig help?
1. Mixed data types FIXED
2. Different methods of printing variables FIXED
3.Two ways to override markup FIXED
4. Too many template files & theme functions
We’re working on this right now
Thursday, April 11, 2013
64. D7 PAIN POINTS
does Twig help?
1. Mixed data types FIXED
2. Different methods of printing variables FIXED
3.Two ways to override markup FIXED
4. Too many template files & theme functions @todo
Thursday, April 11, 2013
65. D7 PAIN POINTS
does Twig help?
1. Mixed data types FIXED
2. Different methods of printing variables FIXED
3.Two ways to override markup FIXED
4. Too many template files & theme functions @todo
5. Insecure
Thursday, April 11, 2013
66. D7 PAIN POINTS
does Twig help?
1. Mixed data types FIXED
2. Different methods of printing variables FIXED
3.Two ways to override markup FIXED
4. Too many template files & theme functions @todo
5. Insecure
All variables are *automatically* sanitized
and most PHP functions
cannot be executed in template files.
Thursday, April 11, 2013
67. D7 PAIN POINTS
does Twig help?
1. Mixed data types FIXED
2. Different methods of printing variables FIXED
3.Two ways to override markup FIXED
4. Too many template files & theme functions @todo
5. Insecure FIXED
Thursday, April 11, 2013
68. D7 PAIN POINTS
does Twig help?
1. Mixed data types FIXED
2. Different methods of printing variables FIXED
3.Two ways to override markup FIXED
4. Too many template files & theme functions @todo
5. Insecure FIXED
6. Drupal-specific
Thursday, April 11, 2013
69. D7 PAIN POINTS
does Twig help?
1. Mixed data types FIXED
2. Different methods of printing variables FIXED
3.Two ways to override markup FIXED
4. Too many template files & theme functions @todo
5. Insecure FIXED
6. Drupal-specific
Twig is used elsewhere on the web
is syntactically similar to other languages
and looks a lot more like HTML.
Thursday, April 11, 2013
70. D7 PAIN POINTS
does Twig help?
1. Mixed data types FIXED
2. Different methods of printing variables FIXED
3.Two ways to override markup FIXED
4. Too many template files & theme functions @todo
5. Insecure FIXED
6. Drupal-specific FIXED
Thursday, April 11, 2013
71. D7 PAIN POINTS
does Twig help?
1. Mixed data types FIXED
2. Different methods of printing variables FIXED
3.Two ways to override markup FIXED
4. Too many template files & theme functions @todo
5. Insecure FIXED
6. Drupal-specific FIXED
7. A complex mix of subsystems
Thursday, April 11, 2013
78. D7 PAIN POINTS
does Twig help?
1. Mixed data types FIXED
2. Different methods of printing variables FIXED
3.Two ways to override markup FIXED
4. Too many template files & theme functions @todo
5. Insecure FIXED
6. Drupal-specific FIXED
7. A complex mix of subsystems
We can remove all theme functions, render,
process & (maybe) preprocess too.
Thursday, April 11, 2013
79. D7 PAIN POINTS
does Twig help?
1. Mixed data types FIXED
2. Different methods of printing variables FIXED
3.Two ways to override markup FIXED
4. Too many template files & theme functions @todo
5. Insecure FIXED
6. Drupal-specific FIXED
7. A complex mix of subsystems @todo
Thursday, April 11, 2013
93. TWIG: OTHER WINS
Template inheritance
comment-wrapper.html.twig before
Thursday, April 11, 2013
94. TWIG: OTHER WINS
Template inheritance
comment-wrapper.html.twig after
Thursday, April 11, 2013
95. TWIG: OTHER WINS
Template inheritance
comment-wrapper--forum.html.twig
(child template)
Thursday, April 11, 2013
96. TWIG: OTHER WINS
Possible performance gains (Much TBD)
Thursday, April 11, 2013
97. TWIG: OTHER WINS
Possible performance gains (Much TBD)
• PHPtemplate reads files from disk on every use
(or stat()s them with APC)
• Twig templates are read once & compiled into classes
Thursday, April 11, 2013
98. TWIG: OTHER WINS
Possible performance gains (Much TBD)
• PHPtemplate reads files from disk on every use
(or stat()s them with APC)
• Twig templates are read once & compiled into classes
Rendering should get much faster when the same
content element appears multiple times on the page.
Thursday, April 11, 2013
99. TWIG: OTHER WINS
Possible performance gains (Much TBD)
• PHPtemplate reads files from disk on every use
(or stat()s them with APC)
• Twig templates are read once & compiled into classes
Rendering should get much faster when the same
content element appears multiple times on the page.
Consolidating many similar templates will result in an
additional gain.
Thursday, April 11, 2013
100. TWIG: OTHER WINS
In-browser template editing finally safe.
Thursday, April 11, 2013
101. TWIG: OTHER WINS
In-browser template editing finally safe.
• Saving PHP code in the database is a HUGE no-no.
• Twig is not PHP, and is safe to store!
Thursday, April 11, 2013
102. TWIG: OTHER WINS
In-browser template editing finally safe.
• Saving PHP code in the database is a HUGE no-no.
• Twig is not PHP, and is safe to store!
Modules like ‘Contemplate’ (Content templates) will
finally be safe to use.
Thursday, April 11, 2013
103. TWIG: OTHER WINS
In-browser template editing finally safe.
• Saving PHP code in the database is a HUGE no-no.
• Twig is not PHP, and is safe to store!
Modules like ‘Contemplate’ (Content templates) will
finally be safe to use.
In-browser template editing is something WordPress
users have been asking of Drupal for a very long time.
Thursday, April 11, 2013
104. TWIG: OTHER WINS
Twig template files can be used on the front end, too.
Thursday, April 11, 2013
105. TWIG: OTHER WINS
Twig template files can be used on the front end, too.
One template can return markup for both your PHP-generated
pages, as well as pages generated vi JS in AJAX callbacks.
Thursday, April 11, 2013
106. TWIG: OTHER WINS
Twig template files can be used on the front end, too.
One template can return markup for both your PHP-generated
pages, as well as pages generated vi JS in AJAX callbacks.
We can use other open source libraries like TwigJS.
(https://github.com/schmittjoh/twig.js)
Thursday, April 11, 2013
107. TWIG: OTHER WINS
2-way communication between UI and code.
Thursday, April 11, 2013
108. TWIG: OTHER WINS
2-way communication between UI and code.
No broken UIs.
Thursday, April 11, 2013
109. TWIG: OTHER WINS
2-way communication between UI and code.
No broken UIs.
Template files can be created first, and the Drupal site can build
itself* based on the presence and location of variables in the
templates.
*within reason
Thursday, April 11, 2013
110. THE NEW THEME LAYER
IN DRUPAL 8
looks pretty awesome, right?
Thursday, April 11, 2013