SlideShare a Scribd company logo
CSS3 and GWT
in perfect harmony
GWT.create 2015
JULIEN DRAMAIX
Julien Dramaix
Software Engineer
at Arcbees
+JulienDramaix
@jDramaix
What is this about?
New syntax for
CssResource based on GSS
What is this about ?
Why?
DRY principle
is missing with CSS.
Why ?
Missing
CSS3 support.
Why ?
What is Closure-
stylesheets?
What is Closure-stylesheets?
It’s an extension
to CSS
What is Closure-stylesheets?
Write gss
and compile
to CSS
It’s an extension
to CSS
Support variables,
conditionals, mixing...
What is Closure-stylesheets?
Support minification,
linting, RTL flipping,
renaming
What is Closure-stylesheets?
Full CSS3
support!
What is Closure-stylesheets?
Open Source project
written and maintained
by Google!
What is Closure-stylesheets?
Example:
@def BG_COLOR rgb(235, 239, 249);
@defmixin size(WIDTH, HEIGHT) {
width: WIDTH;
height: HEIGHT;
}
body {
background-color: BG_COLOR;
}
.logo {
@mixin size(150px, 55px);
background-image: url('http://www.google.com/images/logo_sm.gif');
}
Compile to:
body {
background-color: #ebeff9;
}
.logo {
width: 150px;
height: 55px;
background-image: url('http://www.google.
com/images/logo_sm.gif');
}
How to use it?
1. Create
a GSS file.
How to use it ?
myFirstGss.gss:
@def BG_COLOR rgb(235, 239, 249);
@defmixin size(WIDTH, HEIGHT) {
width: WIDTH;
height: HEIGHT;
}
body {
background-color: BG_COLOR;
}
.logo {
@mixin size(150px, 55px);
background-image: url('http://www.google.com/images/logo_sm.gif');
}
2. Create your CssResource
interface as usual.
How to use it ?
public interface MyFirstGss extends CssResource {
String foo();
}
public interface Resources extends ClientBundle {
MyFirstGss myFirstGss();
}
public interface MyFirstGss extends CssResource {
String foo();
}
public interface Resources extends ClientBundle {
@Source("myFirstGss.gss")
MyFirstGss css();
}
3. Enable GSS
in your GWT module file.
How to use it ?
<set-configuration-property name="CssResource.enableGss" value="true"
/>
4. For UiBinder,
use the attribute GSS
in your inline style.
How to use it ?
<ui:style gss="true">
/* Constants*/
@def PADDING_RIGHT 50px;
@def PADDING_LEFT 50px;
/*mixin */
@defmixin size(WIDTH, HEIGHT) {
width: WIDTH;
height: HEIGHT;
}
/* … */
</ui:style>
GSS will be the default
syntax in GWT 2.8.
How to use it ?
Features and syntax.
Constants.
Features and syntax
@def BG_COLOR rgb(235, 239, 249);
@def PADDING_RIGHT 15px;
@def CONTAINER_COLOR BG_COLOR;
@def BG_COLOR rgb(235, 239, 249);
@def PADDING_RIGHT 15px;
@def CONTAINER_COLOR BG_COLOR;
Constant name
in UPPERCASE !
Runtime evaluation.
Features and syntax
@def BLUE eval("com.foo.bar.client.resource.Colors.BLUE");
.red {
color: eval("com.foo.bar.client.resource.Colors.RED");
}
@def BLUE eval("com.foo.bar.client.resource.Colors.BLUE");
.red {
color: eval("com.foo.bar.client.resource.Colors.RED");
}
Any valid Java expression
Functions.
Features and syntax
.content {
position: absolute;
margin-left: add(LEFT_PADDING, /* padding left */
LEFT_HAND_NAV_WIDTH,
RIGHT_PADDING); /* padding right */
}
➔ add()
➔ sub()
➔ mult()
➔ divide()
➔ min()
➔ max()
FUNCTIONS
Built-in
arithmetic
functions
➔ blendColorsHsb(startColor, endColor)
➔ blendColorsRgb(startColor, endColor)
➔ makeMutedColor(backgroundColor,
foregroundColor [, saturationLoss])
➔ addHsbToCssColor(baseColor, hueToAdd,
saturationToAdd, brightnessToAdd)
➔ makeContrastingColor(color,
similarityIndex)
➔ adjustBrightness(color, brightness)
FUNCTIONS
Built-in color
manipulation
function
FUNCTIONS
You can define
your own
function...
FUNCTIONS
… or not.
FUNCTIONS
… or not.
Should be available in GWT 2.8
Stay tuned!
Mixins.
Features and syntax
@defmixin size(WIDTH, HEIGHT) {
width: WIDTH;
height: HEIGHT;
}
.container {
@mixin size(550px, 500px);
}
Compile to:
.container {
width: 550px;
height: 500px;
}
@defmixin borderradius(TOP_RIGHT, BOTTOM_RIGHT, BOTTOM_LEFT, TOP_LEFT) {
-webkit-border-top-right-radius: TOP_RIGHT;
-webkit-border-bottom-right-radius: BOTTOM_RIGHT;
-webkit-border-bottom-left-radius: BOTTOM_LEFT;
-webkit-border-top-left-radius: TOP_LEFT;
-moz-border-radius-topright: TOP_RIGHT;
-moz-border-radius-bottomright: BOTTOM_RIGHT;
-moz-border-radius-bottomleft: BOTTOM_LEFT;
-moz-border-radius-topleft: TOP_LEFT;
border-top-right-radius: TOP_RIGHT;
border-bottom-right-radius: BOTTOM_RIGHT;
border-bottom-left-radius: BOTTOM_LEFT;
border-top-left-radius: TOP_LEFT;
}
.foo {
@mixin borderradius(5px, 0, 5px, 0)
}
http://dev.arcbees.com/gsss/mixins/
Css animations done with GSSS:
visit http://www.arcbees.com
Conditional CSS.
Features and syntax
CONDITIONAL CSS
Compile time conditional
versus
Runtime conditional.
CONDITIONAL CSS
Conditional
evaluated at
compile time.
CONDITIONAL CSS
Conditional
evaluated at
compile time.
Based on permutations
or properties you define
in your module file.
@if (is("ie8") || is("ie9") && !is("locale", "en")) {
.foo{ /* … */ }
}
@elseif (is("safari")) {
.foo{ /* … */ }
}
@elseif is("customProperty", "customValue") {
.foo{ /* … */ }
}
@else {
.foo{ /* … */ }
}
CONDITIONAL CSS
Special case: single boolean
value configuration property
defined in uppercase.
<define-configuration-property name="USE_EXTERNAL" is-multi-valued="false"/>
<set-configuration-property name="USE_EXTERNAL" value="false" />
@if (USE_EXTERNAL) {
@external '*';
}
CONDITIONAL CSS
Conditional evaluated
at runtime.
@if (eval("com.foo.Bar.FOO")) {
/* ... */
}
@elseif (eval('com.foo.Bar.foo("foo")')) {
/* ... */
}
@if (eval("com.foo.Bar.FOO")) {
/* ... */
}
@elseif (eval('com.foo.Bar.foo("foo")')) {
/* ... */
}
Any valid Java expression
returning a boolean.
CONDITIONAL CSS
Differences between
runtime and compile-time
conditionals.
This is valid
@if (is("ie8") || is("ie9")) {
@def PADDING 15px;
}
@else {
@def PADDING 0;
}
This is not
@if (eval("com.foo.Bar.useLargePadding()")) {
@def PADDING 15px;
}
@else {
@def PADDING 0;
}
This is valid
@if (USE_EXTERNAL) {
@external '*';
}
This is not
@if (eval("com.foo.Bar.useExternal()")) {
@external '*';'
}
CONDITIONAL CSS
Runtime conditionals
can only contain
CSS rules.
Resources Url
Features and syntax
public interface Resources extends ClientBundle {
ImageResource iconPrintWhite();
ImageResource logout();
DataResource iconsEot();
// ...
}
@def ICONS_EOT resourceUrl("iconsEot");
@def ICON_PRINT_WHITE resourceUrl("iconPrintWhite");
@font-face {
font-family: 'icons';
src: ICONS_EOT;
/* ... */
}
.print {
background-image: ICON_PRINT_WHITE;
}
.logout {
background-image: resourceUrl("logout");
}
/*@altenate*/
Features and syntax
.logo {
width: 150px;
height: 55px;
border-color: #DCDCDC;
border-color: rgba(0, 0, 0, 0.1);
}
.logo {
width: 150px;
height: 55px;
border-color: #DCDCDC;
border-color: rgba(0, 0, 0, 0.1);
}
.logo {
width: 150px;
height: 55px;
border-color: #DCDCDC;
/* @alternate */ border-color: rgba(0, 0, 0, 0.1);
}
Disable
RTL Flipping.
Features and syntax
RTL:
.logo {
margin-right: 10px;
border-left: 2px solid #ccc;
padding: 0 4px 0 2px;
}
LTR:
.logo {
margin-left: 10px;
border-right: 2px solid #ccc;
padding: 0 2px 0 4px;
}
.logo {
/* @noflip */ margin-right: 10px;
border-left: 2px solid #ccc;
padding: 0 4px 0 2px;
}
Sprite
support.
Features and syntax
.logout {
gwt-sprite: "iconLogin";
display: block;
cursor: pointer;
}
External
classes
Features and syntax
@external myLegacyClass 'gwt-*'
➔ Don’t use ‘.’ in front of your classes
➔ Use quotes if you use the star suffix
@external myLegacyClass 'gwt-*'
How to migrate
The converter:
Css2Gss.java
How to migrate
Usage :
java com.google.gwt.resources.converter.Css2Gss [Options] [file or directory]
Options:
➔ -r > Recursively convert all css files on the given
directory(leaves .css files in place)
➔ -condition list_of_condition > Specify a comma-separated
list of variables that are used in conditionals and that will be mapped
to configuration properties. The converter will not use the is() function
when it will convert these conditions
➔ -scope list_of_files > Specify a comma-separated list of css files
to be used in this conversion to determine all defined variables
THE CONVERTER
Single file
conversion.
$ CONVERTER_CLASS_PATH="/path/to/gwt-user.jar:/path/to/gwt-
dev.jar"
$ java -cp $CONVERTER_CLASS_PATH com.google.gwt.resources.
converter.Css2Gss /path/to/cssFileToconvert.css
THE CONVERTER
Batch
conversion.
$ CONVERTER_CLASS_PATH="/path/to/gwt-user.jar:/path/to/gwt-dev.
jar"
$ java -cp $CONVERTER_CLASS_PATH 
com.google.gwt.resources.converter.Css2Gss -r /path/to/project
THE CONVERTER
Converter Web
Application:
http://css2gss.appspot.com
Support of legacy?
How to migrate
<set-configuration-property name="CssResource.conversionMode"
value="strict"/>
SUPPORT OF LEGACY
Two conversion modes:
strict
or lenient
SUPPORT OF LEGACY
Two conversion
mode: strict or lenient
=> Use strict only
Migration path.
How to migrate
MIGRATION PATH
➔ Enable GSS and the auto-conversion
in strict mode.
➔ Fix issues.
➔ Use the converter
and convert all your css files
➔ Set back auto-conversion to off.
Configuration
CssResource.obfuscationPrefix
CONFIGURATION
<define-configuration-property name="CssResource.obfuscationPrefix"
is-multi-valued="false" />
<set-configuration-property name="CssResource.obfuscationPrefix"
value="default" />
CssResource.obfuscationPrefix
Disable the obfuscation prefix
if your page contains
only one GWT application.
<set-configuration-property name="CssResource.
obfuscationPrefix" value="empty" />
CssResource.allowedAtRules
CONFIGURATION
<!-- A multi-valued configuration property that defines the list of allowed non standard -->
<!-- at-rules in the css files -->
<define-configuration-property name="CssResource.allowedAtRules"
is-multi-valued="true" />
<!-- A multi-valued configuration property that defines the list of allowed non standard -->
<!-- at-rules in the css files →
<define-configuration-property name="CssResource.allowedAtRules" is-multi-valued="true" />
<extend-configuration-property name="CssResource.allowedAtRules"
value="-moz-document" />
<extend-configuration-property name="CssResource.allowedAtRules"
value="supports" />
CssResource.allowedFunctions
CONFIGURATION
<!-- A multi-valued configuration property that defines the list of allowed non standard -->
<!-- functions in the css files →
<define-configuration-property name="CssResource.allowedFunctions"
is-multi-valued="true" />
<extend-configuration-property name="CssResource.allowedFunctions"
value="-webkit-sin" />
<extend-configuration-property name="CssResource.allowedFunctions"
value="-webkit-cos" />
Roadmap
GWT 2.7: GSS flagged as
experimental and disabled
by default
ROADMAP
GWT 2.8: Enable
by default.
Old syntax deprecated.
ROADMAP
GWT 3.0: Remove the
support for the old syntax
and the auto converter.
ROADMAP
Don't wait!
It's time to migrate
to GSS!!
ROADMAP
Most of the Google GWT
application have migrated
to GSS with success!
ROADMAP
THANK YOU
THANK YOU
please rate this presentation at
gwtcreate.com/agenda
Julien Dramaix
Software Engineer
at Arcbees
+JulienDramaix
@jDramaix
QUESTIONS ?

More Related Content

Similar to Css3 and gwt in perfect harmony

Advanced Technology for Web Application Design
Advanced Technology for Web Application DesignAdvanced Technology for Web Application Design
Advanced Technology for Web Application DesignBryce Kerley
 
LESS : The dynamic stylesheet language
LESS : The dynamic stylesheet languageLESS : The dynamic stylesheet language
LESS : The dynamic stylesheet language
Katsunori Tanaka
 
CSS Less framework overview, Pros and Cons
CSS Less framework overview, Pros and ConsCSS Less framework overview, Pros and Cons
CSS Less framework overview, Pros and Cons
Sanjoy Kr. Paul
 
CSS 開發加速指南-Sass & Compass
CSS 開發加速指南-Sass & CompassCSS 開發加速指南-Sass & Compass
CSS 開發加速指南-Sass & Compass
Lucien Lee
 
Implementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 WorkshopImplementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 Workshop
Shoshi Roberts
 
The Future State of Layout
The Future State of LayoutThe Future State of Layout
The Future State of Layout
Stephen Hay
 
Styling components with JavaScript
Styling components with JavaScriptStyling components with JavaScript
Styling components with JavaScript
bensmithett
 
Rapid Prototyping
Rapid PrototypingRapid Prototyping
Rapid PrototypingEven Wu
 
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Erin M. Kidwell
 
Wordless, stop writing WordPress themes like it's 1998
Wordless, stop writing WordPress themes like it's 1998Wordless, stop writing WordPress themes like it's 1998
Wordless, stop writing WordPress themes like it's 1998
Filippo Dino
 
HTML CSS & Javascript
HTML CSS & JavascriptHTML CSS & Javascript
HTML CSS & Javascript
David Lindkvist
 
Sass and Compass - Getting Started
Sass and Compass - Getting StartedSass and Compass - Getting Started
Sass and Compass - Getting Startededgincvg
 
Preprocessor presentation
Preprocessor presentationPreprocessor presentation
Preprocessor presentation
Mario Noble
 
Doing More With Less
Doing More With LessDoing More With Less
Doing More With Less
David Engel
 
I Can't Believe It's Not Flash
I Can't Believe It's Not FlashI Can't Believe It's Not Flash
I Can't Believe It's Not Flash
Thomas Fuchs
 
Pfnp slides
Pfnp slidesPfnp slides
Pfnp slides
William Myers
 
Implementing CSS support for React Native
Implementing CSS support for React NativeImplementing CSS support for React Native
Implementing CSS support for React Native
KristerKari
 
Getting Started with Sass & Compass
Getting Started with Sass & CompassGetting Started with Sass & Compass
Getting Started with Sass & Compass
Rob Davarnia
 

Similar to Css3 and gwt in perfect harmony (20)

CSS and CSS3
CSS and CSS3CSS and CSS3
CSS and CSS3
 
Advanced Technology for Web Application Design
Advanced Technology for Web Application DesignAdvanced Technology for Web Application Design
Advanced Technology for Web Application Design
 
LESS : The dynamic stylesheet language
LESS : The dynamic stylesheet languageLESS : The dynamic stylesheet language
LESS : The dynamic stylesheet language
 
CSS Less framework overview, Pros and Cons
CSS Less framework overview, Pros and ConsCSS Less framework overview, Pros and Cons
CSS Less framework overview, Pros and Cons
 
Accelerated Stylesheets
Accelerated StylesheetsAccelerated Stylesheets
Accelerated Stylesheets
 
CSS 開發加速指南-Sass & Compass
CSS 開發加速指南-Sass & CompassCSS 開發加速指南-Sass & Compass
CSS 開發加速指南-Sass & Compass
 
Implementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 WorkshopImplementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 Workshop
 
The Future State of Layout
The Future State of LayoutThe Future State of Layout
The Future State of Layout
 
Styling components with JavaScript
Styling components with JavaScriptStyling components with JavaScript
Styling components with JavaScript
 
Rapid Prototyping
Rapid PrototypingRapid Prototyping
Rapid Prototyping
 
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
 
Wordless, stop writing WordPress themes like it's 1998
Wordless, stop writing WordPress themes like it's 1998Wordless, stop writing WordPress themes like it's 1998
Wordless, stop writing WordPress themes like it's 1998
 
HTML CSS & Javascript
HTML CSS & JavascriptHTML CSS & Javascript
HTML CSS & Javascript
 
Sass and Compass - Getting Started
Sass and Compass - Getting StartedSass and Compass - Getting Started
Sass and Compass - Getting Started
 
Preprocessor presentation
Preprocessor presentationPreprocessor presentation
Preprocessor presentation
 
Doing More With Less
Doing More With LessDoing More With Less
Doing More With Less
 
I Can't Believe It's Not Flash
I Can't Believe It's Not FlashI Can't Believe It's Not Flash
I Can't Believe It's Not Flash
 
Pfnp slides
Pfnp slidesPfnp slides
Pfnp slides
 
Implementing CSS support for React Native
Implementing CSS support for React NativeImplementing CSS support for React Native
Implementing CSS support for React Native
 
Getting Started with Sass & Compass
Getting Started with Sass & CompassGetting Started with Sass & Compass
Getting Started with Sass & Compass
 

More from Arcbees

La Marque est Morte, Vive l'intelligence artificielle.
La Marque est Morte, Vive l'intelligence artificielle.La Marque est Morte, Vive l'intelligence artificielle.
La Marque est Morte, Vive l'intelligence artificielle.
Arcbees
 
GWTcon 2015 - brad, Brand and Brands
GWTcon 2015 - brad, Brand and BrandsGWTcon 2015 - brad, Brand and Brands
GWTcon 2015 - brad, Brand and Brands
Arcbees
 
GWTcon 2015 - Best development practices for GWT web applications
GWTcon 2015 - Best development practices for GWT web applications GWTcon 2015 - Best development practices for GWT web applications
GWTcon 2015 - Best development practices for GWT web applications
Arcbees
 
Designer chez les geeks - nov 2015
Designer chez les geeks - nov 2015Designer chez les geeks - nov 2015
Designer chez les geeks - nov 2015
Arcbees
 
mark, Marque et Marques
mark, Marque et Marquesmark, Marque et Marques
mark, Marque et Marques
Arcbees
 
Uni.sherbrooke 2015 créez la meilleur application grâce à gwt, gwtp et j...
Uni.sherbrooke 2015   créez la meilleur application grâce à gwt, gwtp et j...Uni.sherbrooke 2015   créez la meilleur application grâce à gwt, gwtp et j...
Uni.sherbrooke 2015 créez la meilleur application grâce à gwt, gwtp et j...
Arcbees
 
Introduction à GWT
Introduction à GWTIntroduction à GWT
Introduction à GWT
Arcbees
 
mark, Marque et Marques
mark, Marque et Marquesmark, Marque et Marques
mark, Marque et Marques
Arcbees
 
GWT Brand Guidelines 1.1
GWT Brand Guidelines 1.1GWT Brand Guidelines 1.1
GWT Brand Guidelines 1.1
Arcbees
 

More from Arcbees (9)

La Marque est Morte, Vive l'intelligence artificielle.
La Marque est Morte, Vive l'intelligence artificielle.La Marque est Morte, Vive l'intelligence artificielle.
La Marque est Morte, Vive l'intelligence artificielle.
 
GWTcon 2015 - brad, Brand and Brands
GWTcon 2015 - brad, Brand and BrandsGWTcon 2015 - brad, Brand and Brands
GWTcon 2015 - brad, Brand and Brands
 
GWTcon 2015 - Best development practices for GWT web applications
GWTcon 2015 - Best development practices for GWT web applications GWTcon 2015 - Best development practices for GWT web applications
GWTcon 2015 - Best development practices for GWT web applications
 
Designer chez les geeks - nov 2015
Designer chez les geeks - nov 2015Designer chez les geeks - nov 2015
Designer chez les geeks - nov 2015
 
mark, Marque et Marques
mark, Marque et Marquesmark, Marque et Marques
mark, Marque et Marques
 
Uni.sherbrooke 2015 créez la meilleur application grâce à gwt, gwtp et j...
Uni.sherbrooke 2015   créez la meilleur application grâce à gwt, gwtp et j...Uni.sherbrooke 2015   créez la meilleur application grâce à gwt, gwtp et j...
Uni.sherbrooke 2015 créez la meilleur application grâce à gwt, gwtp et j...
 
Introduction à GWT
Introduction à GWTIntroduction à GWT
Introduction à GWT
 
mark, Marque et Marques
mark, Marque et Marquesmark, Marque et Marques
mark, Marque et Marques
 
GWT Brand Guidelines 1.1
GWT Brand Guidelines 1.1GWT Brand Guidelines 1.1
GWT Brand Guidelines 1.1
 

Recently uploaded

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 

Recently uploaded (20)

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 

Css3 and gwt in perfect harmony