SlideShare a Scribd company logo
GUI Programming 
with Perl / GTK
Anuradha Weeraman
anu@taprobane.org
http://www.linux.lk/~anu/
23 May 2006
 
Contents
●
 Overview 
●
 GUI Toolkits
●
 Hello World
●
 Layout
●
 C ­> Perl
●
 GUI Builders
●
 CPAN
Overview
●
 What's a widget?
●
 What's a GUI?
●
 What's a GUI toolkit?
●
 What's GTK?
●
 What's GTK­Perl?
●
 How is GUI programming different?
GUI Toolkits
●
 Athena Widget Library
●
 OSF Motif
●
 Xforms
●
 FLTK
●
 the GIMP Toolkit
●
 Qt Toolkit
●
 LessTif
Hello World
#!/usr/bin/perl
use Gtk2 '-init';
$window = Gtk2::Window->new;
$label = Gtk2::Label->new ("Hello World");
$window->add ($label);
$window->show_all;
Gtk2->main;
Hello World – Part 2
#!/usr/bin/perl
use Gtk2 '-init';
$window = Gtk2::Window->new;
$window->signal_connect(
destroy => sub { Gtk2->main_quit }
);
$label = Gtk2::Label->new ("Hello World");
$window->add ($label);
$window->show_all;
Gtk2->main;
Hello World – Part 3
#!/usr/bin/perl
use Gtk2 '-init';
$window = Gtk2::Window->new;
$window->set_title("Hello");
$window->signal_connect(destroy => sub { Gtk2->main_quit });
$button = Gtk2::Button->new ("Greetings Earthling");
$button->signal_connect(clicked => sub { Gtk2->main_quit });
$window->add ($button);
$window->show_all;
Gtk2->main;
Hello World – Part 4
#!/usr/bin/perl
use Gtk2 '-init';
sub quit_program {
Gtk2->main_quit;
print "Program has stopped.n";
}
$window = Gtk2::Window->new;
$window->set_title("Hello");
$window->signal_connect(destroy => &quit_program);
$button = Gtk2::Button->new ("Greetings Earthling");
$button->signal_connect(clicked => &quit_program);
$window->add ($button);
$window->show_all;
Gtk2->main;
Layout ­ HBox
$window = Gtk2::Window->new;
$hbox = Gtk2::HBox->new;
$button_1 = Gtk2::Button->new ("Button 1");
$button_2 = Gtk2::Button->new ("Button 2");
$hbox->pack_start ($button_1, 0, 0, 0);
$hbox->pack_start ($button_2, 0, 0, 0);
$window->add ($hbox);
Layout ­ VBox
$window = Gtk2::Window->new;
$vbox = Gtk2::VBox->new;
$button_1 = Gtk2::Button->new ("Button 1");
$button_2 = Gtk2::Button->new ("Button 2");
$vbox->pack_start ($button_1, 0, 0, 0);
$vbox->pack_start ($button_2, 0, 0, 0);
$window->add ($vbox);
C ­> Perl
●
 Consistent naming
●
 One­to­one mapping
●
 Object­oriented
●
 Transparently handles type­casting, reference 
counting etc.
●
 Exceptions allowed where Perl capabilities 
afford a cleaner API – multiple return values, 
string / array function parameters
Function Name Translation
g_ -> Glib
gtk_ -> Gtk2
gdk_ -> Gtk2::Gdk
gdk_pixbuf_ -> Gtk2::Gdk::Pixbuf
pango_ -> Gtk2::Pango
Function Name Translation
gtk_window_ -> Gtk2::Window
gtk_button_ -> Gtk2::Button
gtk_window_new -> Gtk2::Window->new
gtk_button_new -> Gtk2::Button->new
Function Parameters
gtk_window_set_title
(GtkWindow *window, gchar string)
becomes
$window->set_title ($string)
Function Parameters
GList replaced by variable number of arguments:
gtk_window_set_icon_list (GtkWindow * window, GList * list)
$window->set_icon_list (@icons)
Same with the array moved to the end of the parameter list:
gtk_list_insert_items (GtkList *list, GList *items, gint position)
$list->insert_items ($position, @items)
  
Array parameter and integer with the size of that array, replaced by variable number 
of arguments:
gtk_curve_set_vector (GtkCurve *curve, int veclen, gfloat vector[])
$curve->set_vector (@vector)
Same with the array moved to the end of parameter list:
gtk_item_factory_create_items (GtkItemFactory * ifactory,
guint n_entries, GtkItemFactoryEntry * entries,
gpointer callback_data)
$itemfactory->create_items ($callback_data, @entries)
Return Values
gtk_window_get_size (GtkWindow *window, gint *width,
gint *height)
($width, $height) = $window->get_size
gtk_calendar_get_date (GtkCalendar * calendar,
guint year, guint month, guint day)
($year, $month, $day) = $calendar->get_date
GUI Builders ­ Glade
Installing Modules
Download foo­module.tar.gz
$ tar zxvf foo­module.tar.gz
$ cd foo­module
$ perl Configure.PL
$ make
$ make test
# make install
           OR
use CPAN.
CPAN
●
 CPAN.org
●
 Comprehensive Perl Archive Network
●
 Mirrors all over the world
●
 Command line shell
●
 Bundled with standard Perl distribution
●
 Intuitive module management
CPAN
perl ­MCPAN ­e shell
cpan> install Term::ReadKey
cpan> install Term::ReadLine
cpan> install Bundle::CPAN
cpan> h or ?
 Thank You!
For more information, visit:
http://www.gtk.org
http://www.gtk2­perl.sourceforge.net
You can download this presentation 
from http://www.linux.lk/~anu

More Related Content

What's hot

Docker presentation
Docker presentationDocker presentation
Docker presentation
Eugen Oskin
 
T3chFest 2017 - La Revolucion del Open Source
T3chFest 2017 - La Revolucion del Open SourceT3chFest 2017 - La Revolucion del Open Source
T3chFest 2017 - La Revolucion del Open Source
Iván López Martín
 
How to Contribute to GStreamer
How to Contribute to GStreamerHow to Contribute to GStreamer
How to Contribute to GStreamer
Samsung Open Source Group
 
Mobile Apps by Pure Go with Reverse Binding
Mobile Apps by Pure Go with Reverse BindingMobile Apps by Pure Go with Reverse Binding
Mobile Apps by Pure Go with Reverse Binding
Takuya Ueda
 
Gcc - Linux Hack Day
Gcc - Linux Hack DayGcc - Linux Hack Day
Gcc - Linux Hack Day
Leonn Ferreira
 
GStreamer Instruments
GStreamer InstrumentsGStreamer Instruments
GStreamer Instruments
Kyrylo Polezhaiev
 
GroongaアプリケーションをDockerコンテナ化して配布する
GroongaアプリケーションをDockerコンテナ化して配布するGroongaアプリケーションをDockerコンテナ化して配布する
GroongaアプリケーションをDockerコンテナ化して配布する
ongaeshi
 
Graphics Programming OpenGL & GLUT in Code::Blocks
Graphics Programming OpenGL & GLUT in Code::BlocksGraphics Programming OpenGL & GLUT in Code::Blocks
Graphics Programming OpenGL & GLUT in Code::Blocks
Budditha Hettige
 
GIT - DUG Antwerp
GIT - DUG AntwerpGIT - DUG Antwerp
GIT - DUG Antwerp
Krimson
 
Improving GStreamer performance on large pipelines: from profiling to optimiz...
Improving GStreamer performance on large pipelines: from profiling to optimiz...Improving GStreamer performance on large pipelines: from profiling to optimiz...
Improving GStreamer performance on large pipelines: from profiling to optimiz...
Luis Lopez
 
Luigi - A Python framework for data processing and pipelining
Luigi - A Python framework for data processing and pipeliningLuigi - A Python framework for data processing and pipelining
Luigi - A Python framework for data processing and pipelining
Hoffman Lab
 
Nuget
NugetNuget
Nuget
leeju lee
 
Kotlin everywhere: share your kotlin code across platforms
Kotlin everywhere: share your kotlin code across platformsKotlin everywhere: share your kotlin code across platforms
Kotlin everywhere: share your kotlin code across platforms
Boris D'Amato
 
Gcd(i os & os x 멀티스레딩 기법)
Gcd(i os & os x 멀티스레딩 기법)Gcd(i os & os x 멀티스레딩 기법)
Gcd(i os & os x 멀티스레딩 기법)창욱 정
 
Introduction to the Moby Project
Introduction to the Moby ProjectIntroduction to the Moby Project
Introduction to the Moby Project
Jochen Zehnder
 
How to Git and Github | Hands on workshop
How to Git and Github | Hands on workshopHow to Git and Github | Hands on workshop
How to Git and Github | Hands on workshop
PavitraBhagat
 

What's hot (17)

Docker presentation
Docker presentationDocker presentation
Docker presentation
 
ng-docs
ng-docsng-docs
ng-docs
 
T3chFest 2017 - La Revolucion del Open Source
T3chFest 2017 - La Revolucion del Open SourceT3chFest 2017 - La Revolucion del Open Source
T3chFest 2017 - La Revolucion del Open Source
 
How to Contribute to GStreamer
How to Contribute to GStreamerHow to Contribute to GStreamer
How to Contribute to GStreamer
 
Mobile Apps by Pure Go with Reverse Binding
Mobile Apps by Pure Go with Reverse BindingMobile Apps by Pure Go with Reverse Binding
Mobile Apps by Pure Go with Reverse Binding
 
Gcc - Linux Hack Day
Gcc - Linux Hack DayGcc - Linux Hack Day
Gcc - Linux Hack Day
 
GStreamer Instruments
GStreamer InstrumentsGStreamer Instruments
GStreamer Instruments
 
GroongaアプリケーションをDockerコンテナ化して配布する
GroongaアプリケーションをDockerコンテナ化して配布するGroongaアプリケーションをDockerコンテナ化して配布する
GroongaアプリケーションをDockerコンテナ化して配布する
 
Graphics Programming OpenGL & GLUT in Code::Blocks
Graphics Programming OpenGL & GLUT in Code::BlocksGraphics Programming OpenGL & GLUT in Code::Blocks
Graphics Programming OpenGL & GLUT in Code::Blocks
 
GIT - DUG Antwerp
GIT - DUG AntwerpGIT - DUG Antwerp
GIT - DUG Antwerp
 
Improving GStreamer performance on large pipelines: from profiling to optimiz...
Improving GStreamer performance on large pipelines: from profiling to optimiz...Improving GStreamer performance on large pipelines: from profiling to optimiz...
Improving GStreamer performance on large pipelines: from profiling to optimiz...
 
Luigi - A Python framework for data processing and pipelining
Luigi - A Python framework for data processing and pipeliningLuigi - A Python framework for data processing and pipelining
Luigi - A Python framework for data processing and pipelining
 
Nuget
NugetNuget
Nuget
 
Kotlin everywhere: share your kotlin code across platforms
Kotlin everywhere: share your kotlin code across platformsKotlin everywhere: share your kotlin code across platforms
Kotlin everywhere: share your kotlin code across platforms
 
Gcd(i os & os x 멀티스레딩 기법)
Gcd(i os & os x 멀티스레딩 기법)Gcd(i os & os x 멀티스레딩 기법)
Gcd(i os & os x 멀티스레딩 기법)
 
Introduction to the Moby Project
Introduction to the Moby ProjectIntroduction to the Moby Project
Introduction to the Moby Project
 
How to Git and Github | Hands on workshop
How to Git and Github | Hands on workshopHow to Git and Github | Hands on workshop
How to Git and Github | Hands on workshop
 

Viewers also liked

Javascript in Linux Desktop
Javascript in Linux DesktopJavascript in Linux Desktop
Javascript in Linux DesktopYuren Ju
 
GUI in Gtk+ con Glade & Anjuta
GUI in Gtk+ con Glade & AnjutaGUI in Gtk+ con Glade & Anjuta
GUI in Gtk+ con Glade & Anjuta
delfinostefano
 
Gtk development-using-glade-3
Gtk development-using-glade-3Gtk development-using-glade-3
Gtk development-using-glade-3
caezsar
 
Integrating CC Licensing with Applications
Integrating CC Licensing with ApplicationsIntegrating CC Licensing with Applications
Integrating CC Licensing with ApplicationsNathan Yergler
 
Linux Kernel Development
Linux Kernel DevelopmentLinux Kernel Development
Linux Kernel Development
Priyank Kapadia
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
Manoj Tyagi
 

Viewers also liked (8)

gtk2-perl
gtk2-perlgtk2-perl
gtk2-perl
 
PHP-GTK
PHP-GTKPHP-GTK
PHP-GTK
 
Javascript in Linux Desktop
Javascript in Linux DesktopJavascript in Linux Desktop
Javascript in Linux Desktop
 
GUI in Gtk+ con Glade & Anjuta
GUI in Gtk+ con Glade & AnjutaGUI in Gtk+ con Glade & Anjuta
GUI in Gtk+ con Glade & Anjuta
 
Gtk development-using-glade-3
Gtk development-using-glade-3Gtk development-using-glade-3
Gtk development-using-glade-3
 
Integrating CC Licensing with Applications
Integrating CC Licensing with ApplicationsIntegrating CC Licensing with Applications
Integrating CC Licensing with Applications
 
Linux Kernel Development
Linux Kernel DevelopmentLinux Kernel Development
Linux Kernel Development
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 

Similar to GUI Programming with Perl / GTK

gtkgst video in your widgets!
gtkgst video in your widgets!gtkgst video in your widgets!
gtkgst video in your widgets!
ystreet00
 
Using GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnlUsing GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnl
Kentaro Ebisawa
 
Go, meet Lua
Go, meet LuaGo, meet Lua
Go, meet Lua
Andre Burgaud
 
OpenGL Introduction.
OpenGL Introduction.OpenGL Introduction.
OpenGL Introduction.Girish Ghate
 
Practical SystemTAP basics: Perl memory profiling
Practical SystemTAP basics: Perl memory profilingPractical SystemTAP basics: Perl memory profiling
Practical SystemTAP basics: Perl memory profiling
Lubomir Rintel
 
step by step to write a gnome-shell extension
step by step to write a gnome-shell extension step by step to write a gnome-shell extension
step by step to write a gnome-shell extension Yuren Ju
 
WPE: Current Status and Future (Web Engines Hackfest 2018)
WPE: Current Status and Future (Web Engines Hackfest 2018)WPE: Current Status and Future (Web Engines Hackfest 2018)
WPE: Current Status and Future (Web Engines Hackfest 2018)
Igalia
 
GKE_ How I get started_.pdf
GKE_ How I get started_.pdfGKE_ How I get started_.pdf
GKE_ How I get started_.pdf
Luillyfe Blanco
 
Exploring Raspberry Pi
Exploring Raspberry PiExploring Raspberry Pi
Exploring Raspberry PiLentin Joseph
 
Git back on_your_feet
Git back on_your_feetGit back on_your_feet
Git back on_your_feet
Christian Couder
 
Debugging 2013- Sune Vuorela
Debugging 2013- Sune VuorelaDebugging 2013- Sune Vuorela
Debugging 2013- Sune Vuorela
Mediehuset Ingeniøren Live
 
Git: Why And How to
Git: Why And How toGit: Why And How to
Git: Why And How to
lanhuonga3
 
ELC-E Linux Awareness
ELC-E Linux AwarenessELC-E Linux Awareness
ELC-E Linux AwarenessPeter Griffin
 
Spec2: How to Build a new GUI
Spec2: How to Build a new GUISpec2: How to Build a new GUI
Spec2: How to Build a new GUI
ESUG
 
lab1-ppt.pdf
lab1-ppt.pdflab1-ppt.pdf
lab1-ppt.pdf
AbdelrahmanElewah1
 
Javascript, the GNOME way (JSConf EU 2011)
Javascript, the GNOME way (JSConf EU 2011)Javascript, the GNOME way (JSConf EU 2011)
Javascript, the GNOME way (JSConf EU 2011)
Igalia
 
Global Interpreter Lock: Episode III - cat < /dev/zero > GIL;
Global Interpreter Lock: Episode III - cat < /dev/zero > GIL;Global Interpreter Lock: Episode III - cat < /dev/zero > GIL;
Global Interpreter Lock: Episode III - cat < /dev/zero > GIL;
Tzung-Bi Shih
 
Putting the Fun into Functioning CI/CD with JHipster
Putting the Fun into Functioning CI/CD with JHipsterPutting the Fun into Functioning CI/CD with JHipster
Putting the Fun into Functioning CI/CD with JHipster
Gerard Gigliotti
 
State of the Art OpenGL and Qt
State of the Art OpenGL and QtState of the Art OpenGL and Qt
State of the Art OpenGL and Qt
ICS
 

Similar to GUI Programming with Perl / GTK (20)

gtk2-perl
gtk2-perlgtk2-perl
gtk2-perl
 
gtkgst video in your widgets!
gtkgst video in your widgets!gtkgst video in your widgets!
gtkgst video in your widgets!
 
Using GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnlUsing GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnl
 
Go, meet Lua
Go, meet LuaGo, meet Lua
Go, meet Lua
 
OpenGL Introduction.
OpenGL Introduction.OpenGL Introduction.
OpenGL Introduction.
 
Practical SystemTAP basics: Perl memory profiling
Practical SystemTAP basics: Perl memory profilingPractical SystemTAP basics: Perl memory profiling
Practical SystemTAP basics: Perl memory profiling
 
step by step to write a gnome-shell extension
step by step to write a gnome-shell extension step by step to write a gnome-shell extension
step by step to write a gnome-shell extension
 
WPE: Current Status and Future (Web Engines Hackfest 2018)
WPE: Current Status and Future (Web Engines Hackfest 2018)WPE: Current Status and Future (Web Engines Hackfest 2018)
WPE: Current Status and Future (Web Engines Hackfest 2018)
 
GKE_ How I get started_.pdf
GKE_ How I get started_.pdfGKE_ How I get started_.pdf
GKE_ How I get started_.pdf
 
Exploring Raspberry Pi
Exploring Raspberry PiExploring Raspberry Pi
Exploring Raspberry Pi
 
Git back on_your_feet
Git back on_your_feetGit back on_your_feet
Git back on_your_feet
 
Debugging 2013- Sune Vuorela
Debugging 2013- Sune VuorelaDebugging 2013- Sune Vuorela
Debugging 2013- Sune Vuorela
 
Git: Why And How to
Git: Why And How toGit: Why And How to
Git: Why And How to
 
ELC-E Linux Awareness
ELC-E Linux AwarenessELC-E Linux Awareness
ELC-E Linux Awareness
 
Spec2: How to Build a new GUI
Spec2: How to Build a new GUISpec2: How to Build a new GUI
Spec2: How to Build a new GUI
 
lab1-ppt.pdf
lab1-ppt.pdflab1-ppt.pdf
lab1-ppt.pdf
 
Javascript, the GNOME way (JSConf EU 2011)
Javascript, the GNOME way (JSConf EU 2011)Javascript, the GNOME way (JSConf EU 2011)
Javascript, the GNOME way (JSConf EU 2011)
 
Global Interpreter Lock: Episode III - cat < /dev/zero > GIL;
Global Interpreter Lock: Episode III - cat < /dev/zero > GIL;Global Interpreter Lock: Episode III - cat < /dev/zero > GIL;
Global Interpreter Lock: Episode III - cat < /dev/zero > GIL;
 
Putting the Fun into Functioning CI/CD with JHipster
Putting the Fun into Functioning CI/CD with JHipsterPutting the Fun into Functioning CI/CD with JHipster
Putting the Fun into Functioning CI/CD with JHipster
 
State of the Art OpenGL and Qt
State of the Art OpenGL and QtState of the Art OpenGL and Qt
State of the Art OpenGL and Qt
 

Recently uploaded

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
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
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 

Recently uploaded (20)

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
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
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 

GUI Programming with Perl / GTK