SlideShare a Scribd company logo
Pharo: Live objects for
complex projects
http://stephane.ducasse.free.fr
http://www.pharo.org
2015 Pharo Prague Lambda Meetup
I did my PhD in Lisp and
Scheme :)
2015 Pharo Prague Lambda Meetup
Talk Roadmap
• Pharo: an open-source project
• Get the feel
• Model/Syntax
• Coding with the audience
• Web Development in Pharo
• Ongoing works
• Wrap-up
http://www.pharo.org
Pure object language
Great community of active doers
Powerful and full access
Elegant and fun to program
Living system under your fingers
100% MIT inside
Mac, Linuxes, Windows, iOS
A powerful engine
to invent (y)our future
Some projects
Web frameworks - Seaside, iliad, HTTP2, Tide, Aida, Mustache, Oauth,
WebSocket CSS styling Format parsers - XML, HTML, NeoJSON, NeoCSV.
Application Security, Graphics frameworks - Roassal, Mondrian, EyeSee, GraphET,
Tool builders - Glamour, Spec, XUL, MacNative, Databases - DBXTalk, Mongo,
Riak, CouchDB, MySql, PunQLite. Object-Oriented databases - Magma, Goods.
Database abstraction - Voyage, ROE MetaCompiler - Petit Parser, SmaCC - Proxy,
Logging - SystemLogger, Toothpick, SimpleLogger Units: Aconcagua, Units Time -
Chronos Calendars, Timezones Productivity Tools - Codecritics, Refactorings,
Cherry picking merge tools: merge tool, Komitter Versionner, Mock frameworks
(baby mock), PDFgeneration - Artefact, Testing frameworks - PhExample, SUnit
Assembly generation: ASMJIT, Integration Tools: Hudson, Alternate window
manager, Games: Tetris, Sokoban, Miner, Chess, CrossWords MetaModeling
Frameworks - Magritte, Platypus, Cloud deployement - cloudfork cloudPharo, 3D:
Roassal3d, NBOpenGL, JVM connection Bio informatics, ODE solvers, Interactive
Geometry - DrGeo…
Some projects
Web frameworks - Seaside, iliad, HTTP2, Tide, Aida, Mustache, Oauth,
WebSocket CSS styling Format parsers - XML, HTML, NeoJSON, NeoCSV.
Application Security, Graphics frameworks - Roassal, Mondrian, EyeSee, GraphET,
Tool builders - Glamour, Spec, XUL, MacNative, Databases - DBXTalk, Mongo,
Riak, CouchDB, MySql, PunQLite. Object-Oriented databases - Magma, Goods.
Database abstraction - Voyage, ROE MetaCompiler - Petit Parser, SmaCC - Proxy,
Logging - SystemLogger, Toothpick, SimpleLogger Units: Aconcagua, Units Time -
Chronos Calendars, Timezones Productivity Tools - Codecritics, Refactorings,
Cherry picking merge tools: merge tool, Komitter Versionner, Mock frameworks
(baby mock), PDFgeneration - Artefact, Testing frameworks - PhExample, SUnit
Assembly generation: ASMJIT, Integration Tools: Hudson, Alternate window
manager, Games: Tetris, Sokoban, Miner, Chess, CrossWords MetaModeling
Frameworks - Magritte, Platypus, Cloud deployement - cloudfork cloudPharo, 3D:
Roassal3d, NBOpenGL, JVM connection Bio informatics, ODE solvers, Interactive
Geometry - DrGeo…
AND MUCH
MORE
Our goal...
An ecosystem where
innovation/business bloom
We want that **you** can make
money with Pharo. We want to be
able to invent solutions to existing
problems.
!
We want a powerful innovative
dynamic language where we can build
our future.
We are a cool community
Tweets, blogs, buzz
Pharo 3,303 tweets / 1092 followers
S. Ducasse tweets 669 / 804 followers
S. Stinckwich 8712 / 1006 followers
Moose 502 tweets / 255 followers
Youtube Pharo smalltalk: about 1540
videos!
• Uni. of Buenos Aires • Uni. of Bern • Uni. of
Maroua • Uni. of Brussels • Ecole des Mines de
Douai • Uni. de Savoie • Ivan Franko Nat. Uni. of
Lviv • Czech Technical Uni. • CULS Prague

• Uni. of Quilmes • Uni. of La Plata • Northern
Michigan Uni. • Uni. Technologica Nacional
(UTN) • Uni. Catholic of Argentina • Uni. of Chile
• Uni. Policnica de Catalunya • Uni. de Bretagne
Occidentale • Uni. of Tomsk • Uni. of Fernhagen
• IT University of Copenhagen • Uni. Cat del
Sacro Cuore of Brescia
Pharo's Teachers
2015 Pharo Prague Lambda Meetup
Lafhis (AR)

Software Composition Group (CH)

CAR (FR)

RMOD (FR)
Ummisco (IRD)
Reveal (CH)
Lysic (FR)

Pleiad (CL)
CEA-List (FR)
Uqbar (AR)
CCMI-FIT(CZ)
Research Groups
www.2denker.de
www.agilitic.com
www.airflowing.com
www.anymorphic.com
www.ardishealth.com
www.beta9.be
www.bombardier.com
www.cmsbox.com
www.finworks.biz
seaside.gemstone.com
www.ibizlog.com
www.inceptive.be
www.jooshr.com
www.majcon.de
www.mindclue.ch
www.miriamtech.com
www.myneat.org
www.netstyle.ch
www.panasoft.com
www.pinesoft.co.uk
www.promedmedical.net
www.sharedlogic.ca
www.smallworks.com.ar
www.10pines.com
www.trantaria.com
www.yesplan.be
www.synectique.eu
www.sorabito.com
objectprofile.com
!
Companies
Books
Pharo by example http://www.pharobyexample.org
translated to french, merci!
translated to spanish, gracias!
translated to japanese, ありがとう!
Deep into Pharo http://www.deepintopharo.org
Numerical Methods
	 https://github.com/SquareBracketAssociates/NumericalMethods/
releases
New books in preparation
Updated Pharo by Example
Entreprise Pharo
Fun with Pharo
Some success stories…
2015 Pharo Prague Lambda Meetup
2015 Pharo Prague Lambda Meetup
Continuous API Testing
keep your services under control 24/7
Norbert Hartl norbert@2denker.de
www.2denker.de
eMCee is developed and deployed using pharo
- zinc
- seaside
- jquery
- magritte
- mongotalk
- magritte-mongo
- fuel
- metacello
mail@2denker.de
2015 Pharo Prague Lambda Meetup
• Entry Level Track & Trace Product
• Complements T3 Full Product
• One Page Javascript HTML5 / Ajax Client
• REST Back End in Pharo Smalltalk
• Gateways to multiple data providers
WEBDRUCK.CH
Web-To-Print Solution
• Design and create
individual printed
matter
• eShop with credit
card payment
• High quality PDF
output with Printing
Process integration
• Thousands of orders
for seven Swiss
printing companies
NTed: disaster scenario
recovery
iBizLog - http://www.ibizlog.com
A product by Smallworks
Tuesday, May 15, 12
2015 Pharo Prague Lambda Meetup
2015 Pharo Prague Lambda Meetup
2015 Pharo Prague Lambda Meetup
2015 Pharo Prague Lambda Meetup
2015 Pharo Prague Lambda Meetup
2015 Pharo Prague Lambda Meetup
2015 Pharo Prague Lambda Meetup
2015 Pharo Prague Lambda Meetup
2015 Pharo Prague Lambda Meetup
Pinesoft MBagger
Since may 2008
Pharo 4.0 - Apr/Jul 2015 (1271 issues closed…)
Pharo 3.0 - Apr 2013 (2364 issues closed)
Pharo 2.0 - Apr 2013 (1727 issues closed)
Pharo 1.4 - Apr 2012 (860 updates)
Pharo 1.3 (700 updates)
Pharo 1.2 - mar 2011 (500 updates)
Pharo 1.1 - jul 2010 (410 updates)
We are improving
the complete
system!
Of course
not
everything
is perfect :)
But it feels
like that:
Pharo
is
yours
with 20 min per
week you can
get an impact!
Getting the object feel
• Live interaction
• Using Inspectors
• Talk and interact with objects
• Programs are objects too
http://youtu.be/CuimMwuZiGA
Scripting live
https://www.youtube.com/watch?v=1Nze9tnwYxY
http://www.pharocasts.com/2010/08/see-how-to-get-
data-from-url-parse-xml.html
Simplicity and elegance
• Syntax fits on a postcard!
• Simple but complete object model
The complete syntax
exampleWithNumber: x
“A method that illustrates every part of Smalltalk method syntax”
<menu>
| y |
true & false not & (nil isNil) ifFalse: [self halt].
y := self size + super size.
#($a #a ‘a’ 1 1.0)
do: [ :each | Transcript
show: (each class name);
show: (each printString);
show: ‘ ‘].
^ x < y
…
The complete syntax
exampleWithNumber: x
“A method that illustrates every part of Smalltalk method syntax”
<menu>
| y |
true & false not & (nil isNil) ifFalse: [self halt].
y := self size + super size.
#($a #a ‘a’ 1 1.0)
do: [ :each | Transcript
show: (each class name);
show: (each printString);
show: ‘ ‘].
^ x < y
Less is more!
No constructors, no static methods, no operators
No type declaration, no primitive types,
No interfaces, no need for factory
No packages/private/protected modifiers
No parametrized types
No boxing/unboxing
Still powerful
A Pure OO World
Only objects!
mouse, booleans, arrays, numbers, strings, windows, scrollbars, canvas, files, trees, compilers, sound, url, socket, fonts, text,
collections, stack, shortcut, streams, …
Objects are instances of
Classes
Objects are instances of Classes
!
(10@200)
Objects are instances of Classes
!
(10@200) class
Objects are instances of Classes
!
(10@200) class
Point
Classes are objects too
!
!
Classes are objects too
!
Point selectors
!
!
!
Classes are objects too
!
Point selectors
!
an IdentitySet(#eightNeighbors #+ #isZero #sortsBefore: #degrees #printOn: #sideOf:
#fourNeighbors #hash #roundUpTo: #min: #min:max: #max #adaptToCollection:andSend:
#quadrantOf: #crossProduct: #= #nearestPointOnLineFrom:to: #bitShiftPoint: #* #guarded
#insideTriangle:with:with: #grid: #truncateTo: #y #setR:degrees: #normal #directionToLineFrom:to:
#truncated #nearestPointAlongLineFrom:to: #theta #scaleTo: #encodePostscriptOn: #> #asPoint
#extent: #r #roundTo: #max: #interpolateTo:at: #triangleArea:with: #angleWith: #dotProduct:
#isSelfEvaluating #'<=' #to:intersects:to: #'//' #isInsideCircle:with:with: #< #scaleFrom:to: #corner:
#to:sideOf: #x #'>=' #roundDownTo: #onLineFrom:to:within: #transposed #ceiling #angle
#basicType #translateBy: #asFloatPoint #'' #adaptToNumber:andSend: #abs #negated #octantOf:
#asIntegerPoint #flipBy:centerAt: #scaleBy: #floor #onLineFrom:to: #isPoint #reflectedAbout: #/
#dist: #asNonFractionalPoint #bearingToPoint: #reciprocal #rotateBy:centerAt: #rotateBy:about:
#rounded #setX:setY: #squaredDistanceTo: #normalized #veryDeepCopyWith: #- #storeOn: #rect:
#deepCopy #isIntegerPoint #min #adhereTo: #adaptToString:andSend:)
Classes are objects too
!
Point instVarNames
Classes are objects too
!
Point instVarNames
>#('x' 'y')
Methods are public
Methods are all late-bound
Instance variables are
protected
Single Inheritance
Summary
• Everything is an object
• Single inheritance, public methods, protected attributes
• One single model
• Classes are simply objects too
• A class is instance of another class
• One unique method lookup, look in the class of the
receiver
Messages + Objects
postman.send(mail,recipient);
postman.send(mail,recipient);
postman send mail recipient
postman send mail to recipient
postman send: mail to: recipient
2 + 5
2 + 5
> 7
Yes + is a message sent to 2
Unary
messages
Binary
messages
Keywords messages
5 factorial!
Transcript cr
3 + 4
3 between: 10 and: 5!
!
Transcript show: 'hello world'
Blocks: Closures all the way
• Anonymous method
• Passed as method argument or stored
• Functions
	 	 fct(x)= x*x+3, fct(2).
!
	 	 fct :=[:x| x * x + 3].
fct value: 2
!
Every control structure is a message
4 timesRepeat: [Beeper beep]
max: aNumber!
! ^ self < aNumber !
! ! ifTrue: [aNumber] !
! ! ifFalse: [self]
<= aPoint !
! "Answer whether the receiver is neither!
! below nor to the right of aPoint."!
!
! ^ x <= aPoint x and: [y <= aPoint y]
Method name Argument Comment
Return Binary message
Keyword messageInstance variable
Block
(2@3) <= (5@6) true
Object subclass: #Point!
! instanceVariableNames: 'x y'!
! classVariableNames: ''!
! category: 'Kernel-BasicObjects'
2 instance variables
subclass of Object
Fun with numbers
1 class
1 class
> SmallInteger
1 class maxVal
> 1073741823
(1 class maxVal + 1)
(1 class maxVal + 1)
> 1073741824
(1 class maxVal + 1) class
!
(1 class maxVal + 1) class
> LargePositiveInteger
1000 factorial
>
1000 factorial
>
4023872600770937735437024339230039857193748642107146325437999104299385123986290205920442084869694048004799886101
9719605863166687299480855890132382966994459099742450408707375991882362772718873251977950595099527612087497546249
7043601418278094646496291056393887437886487337119181045825783647849977012476632889835955735432513185323958463075
5574091142624174743493475534286465766116677973966688202912073791438537195882498081268678383745597317461360853795
3452422158659320192809087829730843139284440328123155861103697680135730421616874760967587134831202547858932076716
9132448426236131412508780208000261683151027341827977704784635868170164365024153691398281264810213092761244896359
9287051149649754199093422215668325720808213331861168115536158365469840467089756029009505376164758477284218896796
4624494516076535340819890138544248798495995331910172335555660213945039973628075013783761530712776192684903435262
5200015888535147331611702103968175921510907788019393178114194545257223865541461062892187960223838971476088506276
8629671466746975629112340824392081601537808898939645182632436716167621791689097799119037540312746222899880051954
4441428201218736174599264295658174662830295557029902432415318161721046583203678690611726015878352075151628422554
0265170483304226143974286933061690897968482590125458327168226458066526769958652682272807075781391858178889652208
1643483448259932660433676601769996128318607883861502794659551311565520360939881806121385586003014356945272242063
4463179746059468257310379008402443243846565724501440282188525247093519062092902313649327349756551395872055965422
8749774011413346962715422845862377387538230483865688976461927383814900140767310446640259899490222221765904339901
8860185665264850617997023561938970178600408118897299183110211712298459016419210688843871218556461249607987229085
1929681937238864261483965738229112312502418664935314397013742853192664987533721894069428143411852015801412334482
8015051399694290153483077644569099073152433278288269864602789864321139083506217095002597389863554277196742822248
7575867657523442202075736305694988250879689281627538488633969099598262809561214509948717012445164612603790293091
2088908694202851064018215439945715680594187274899809425474217358240106367740459574178516082923013535808184009699
6372524230560855903700624271243416909004153690105933983835777939410970027753472000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1000 factorial / 999 factorial
1000
1000
Learning from the
system…
2015 Pharo Prague Lambda Meetup
Check in the system
2015 Pharo Prague Lambda Meetup
Let us hack something…
(3 D20 + 3 D4) roll
The Pharo Stack is
Gorgeous
Voyage/ DBXTalk / Mongo / (Gemstone :)
Magritte
Zinc, Zodiac(HTTPS), Oauth, ...
STON, JSON, LDAP...
Seaside, Rest, Zinc Rest, Illiad, Aida, Reef
Amber!
Dynamic Web Applications
with Seaside
!
http://seaside.st
Demo
1Natural Flow
Demo
<form action="result.html">
<input type="hidden" name="value1" value="<% value1 %>">
<input type="text" name="value2">
<input type="submit" value="OK">
</form>
<p>
<% value1 + value2 %>
</p>
<form action="second.html">
<input type="text" name="value1">
<input type="submit" value="OK">
</form>
<form action="result.html">
<input type="text" name="value2">
<input type="submit" value="OK">
</form>
Who cares about
HTTP anyway?
is different
Concentrate on
your application ...
... no manual
request parsing
... no XML
configuration files
3 user interactions
3 lines of code
value1 := self request: ‘First Number’.
value2 := self request: ‘Second Number’.
self inform: value1 + value2.
AB
call:A Bx :=
AB
answer:B
A
x :=
We don’t think in
pages ...
..., but in stateful
components
Valid
Source:stock.xchng,AlNakib
Did you notice?
Web applications
No URL fiddling
No request parsing
Development tools
Control flow at ease
On going work
• Working bootstrap for pharo reflective core
• Customized images (11k)
• First class variables for real
• associations
• data flow model
Glimpse on going work
• Package catalog
• Git (the right subset)
• OSWindow (SDL)
• Multi touch support
• Full vector graphics
VM
• Spur: new memory manager (got *4 speed up)
• ephemerons, pinned object, fragmented memory, 64
bits
• Sista: next level JIT
• inliner, constant propagation…
• Unified FFI + threaded
• one syntax several back-ends
Fun, simple
Pure & elegant
Productive
Empowering
Addictive
Full access
Creating good energy, 	

software quality,	

learning and having fun	

!
http://pharo.org
Join

More Related Content

PDF
Pharo Hands-On: 01 welcome
PDF
PharoDAYS 2015: Publishing libraries and frameworks by Sven Van Caekenberghe
PDF
A living programming environment for blockchain
PDF
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
PDF
Biting into the forbidden fruit. Lessons from trusting Javascript crypto.
PDF
PharoDAYS 2015: Welcome! by Stephane Ducasse
PDF
AWS SDK for Smalltalk
PDF
PharoDAYS 2015: Professional Source Code Management with Pharo by Thierry Gou...
Pharo Hands-On: 01 welcome
PharoDAYS 2015: Publishing libraries and frameworks by Sven Van Caekenberghe
A living programming environment for blockchain
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
Biting into the forbidden fruit. Lessons from trusting Javascript crypto.
PharoDAYS 2015: Welcome! by Stephane Ducasse
AWS SDK for Smalltalk
PharoDAYS 2015: Professional Source Code Management with Pharo by Thierry Gou...

Viewers also liked (13)

PDF
PharoDAYS 2015: Pillar - One format to rule them all by Damien Cassou and Ste...
PDF
PharoDAYS 2015: Graphics and Visualization by Yuriy Tymchuk
PDF
Pharo Hands-On: 04 image-runtime
PDF
PharoDAYS 2015: Connecting to Databases by Norbert Hartl
PDF
PharoDAYS 2015: Web 2.0 by Esteban Lorenzano
PDF
Pharo Status (Fosdem 2015)
PDF
PharoDAYS 2015: FFI - The good, the bad and the ugly by Esteban Lorenzano
PDF
PharoDAYS 2015: Seaside in 10 minutes by Johan Brichau
PDF
PharoDAYS 2015: Using Spec to Build a UI by Johan Fabry
PDF
Pharo Hands-on: 05 object model
PDF
Pharo Hands-On: 02 syntax
PDF
Pharo Hand-Ons: 06 finding information
PDF
PharoDAYS 2015: On Relational Databases by Guille Polito
PharoDAYS 2015: Pillar - One format to rule them all by Damien Cassou and Ste...
PharoDAYS 2015: Graphics and Visualization by Yuriy Tymchuk
Pharo Hands-On: 04 image-runtime
PharoDAYS 2015: Connecting to Databases by Norbert Hartl
PharoDAYS 2015: Web 2.0 by Esteban Lorenzano
Pharo Status (Fosdem 2015)
PharoDAYS 2015: FFI - The good, the bad and the ugly by Esteban Lorenzano
PharoDAYS 2015: Seaside in 10 minutes by Johan Brichau
PharoDAYS 2015: Using Spec to Build a UI by Johan Fabry
Pharo Hands-on: 05 object model
Pharo Hands-On: 02 syntax
Pharo Hand-Ons: 06 finding information
PharoDAYS 2015: On Relational Databases by Guille Polito
Ad

Similar to 2015 Pharo Prague Lambda Meetup (20)

PDF
Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018
PDF
Pharo Status
PDF
Clojure at ardoq
PDF
Why do *you* need a strong open-source Smalltalk!
PDF
The best system for object-oriented thinking
PDF
Get Involved, you can get an impact!
PPTX
JavaScript: The Machine Language of the Ambient Computing Era
PDF
Why do *you* need a strong open-source Smalltalk!
PDF
How to bake an app in Dart and Polymer
PDF
2013 lecture-01-introduction
PDF
Pharo Update
PDF
HoloLens.pdf
PDF
Pharo: Programming in an Immersive World (Stéphane Ducasse Technology Stream)
PPTX
XML Amsterdam 2012 Keynote
PDF
1.6 米嘉 gobuildweb
PDF
Buildingplatforms
PDF
Bruce Lawson Opera Indonesia
PDF
The Key to Machine Learning is Prepping the Right Data with Jean Georges Perrin
PDF
Web_of_Things_2013
PDF
I don't know what I'm Doing: A newbie guide for Golang for DevOps
Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018
Pharo Status
Clojure at ardoq
Why do *you* need a strong open-source Smalltalk!
The best system for object-oriented thinking
Get Involved, you can get an impact!
JavaScript: The Machine Language of the Ambient Computing Era
Why do *you* need a strong open-source Smalltalk!
How to bake an app in Dart and Polymer
2013 lecture-01-introduction
Pharo Update
HoloLens.pdf
Pharo: Programming in an Immersive World (Stéphane Ducasse Technology Stream)
XML Amsterdam 2012 Keynote
1.6 米嘉 gobuildweb
Buildingplatforms
Bruce Lawson Opera Indonesia
The Key to Machine Learning is Prepping the Right Data with Jean Georges Perrin
Web_of_Things_2013
I don't know what I'm Doing: A newbie guide for Golang for DevOps
Ad

More from Pharo (20)

PDF
Yesplan: 10 Years later
PDF
Object-Centric Debugging: a preview
PDF
The future of testing in Pharo
PDF
Spec 2.0: The next step on desktop UI
PDF
UI Testing with Spec
PDF
Pharo 7.0 and 8.0 alpha
PDF
PHARO IoT: Installation Improvements and Continuous Integration
PDF
Easy REST with OpenAPI
PDF
Comment soup with a pinch of types, served in a leaky bowl
PDF
apart Framework: Porting from VisualWorks
PDF
XmppTalk
PDF
Raspberry and Pharo
PDF
Welcome: PharoDays 2017
PDF
Pharo 6
PDF
Robotic Exploration and Mapping with Pharo
PDF
Pharo 64bits
PDF
Smack: Behind the Refactorings
PDF
Pharo VM Performance
PDF
Git with Style
PDF
Pharo JS
Yesplan: 10 Years later
Object-Centric Debugging: a preview
The future of testing in Pharo
Spec 2.0: The next step on desktop UI
UI Testing with Spec
Pharo 7.0 and 8.0 alpha
PHARO IoT: Installation Improvements and Continuous Integration
Easy REST with OpenAPI
Comment soup with a pinch of types, served in a leaky bowl
apart Framework: Porting from VisualWorks
XmppTalk
Raspberry and Pharo
Welcome: PharoDays 2017
Pharo 6
Robotic Exploration and Mapping with Pharo
Pharo 64bits
Smack: Behind the Refactorings
Pharo VM Performance
Git with Style
Pharo JS

Recently uploaded (20)

PDF
Advanced IT Governance
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Machine learning based COVID-19 study performance prediction
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Empathic Computing: Creating Shared Understanding
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
Advanced IT Governance
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Machine learning based COVID-19 study performance prediction
Spectral efficient network and resource selection model in 5G networks
GamePlan Trading System Review: Professional Trader's Honest Take
Understanding_Digital_Forensics_Presentation.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Mobile App Security Testing_ A Comprehensive Guide.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Reach Out and Touch Someone: Haptics and Empathic Computing
Review of recent advances in non-invasive hemoglobin estimation
Empathic Computing: Creating Shared Understanding
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
NewMind AI Monthly Chronicles - July 2025
Advanced methodologies resolving dimensionality complications for autism neur...

2015 Pharo Prague Lambda Meetup