SlideShare a Scribd company logo
1 of 83
A false digital alibi on Mac OS X
Dario Di Nucci
Fabio Palomba
Stefano Ricchiuti
University of Salerno
Challange and solutions
domenica 15 luglio 12
Focusing on Mac OS X
Mac OS X & Forensic:how and what?
Evaluation of the work
A case study
- Developing the false digital alibi
- A post-mortem digital forensic
Is realistic a false digital alibi on a Mac OS X?
domenica 15 luglio 12
Focusing on Mac OS X
Chapter 3
in the thesis
domenica 15 luglio 12
Use of BTree
Journaling
Max File Dim 263
Max Folder Dim 231
Hierarchical File System+
domenica 15 luglio 12
Disk utility
Manager of all file systems in
your Mac
Complete information
retrieving on all disks
Improve stability and
performance
Runnable from live
boot
Fix the file system errors
Prevent errors
First AID
Disk Utility
domenica 15 luglio 12
....What is right,
what is wrong...
Mac apps
domenica 15 luglio 12
File Vault
User Password: Crypt and Decrypt
Disk
Master Password: For System
recovering
XTS - AES 128 bit Cryptography
domenica 15 luglio 12
Time Machine
All action on files (deleted,
modified, moved) are recorded on
external disk
The actions are revertable!
Huge impact on Digital
Forensic
domenica 15 luglio 12
Why analyze these?
Create false digital evidences is possible!
How?
Construct a false digital alibi using
built-in software
domenica 15 luglio 12
A false digital alibi: how to...
domenica 15 luglio 12
“AppleScript is a scripting language that
makes possible direct control of scriptable
applications and of many parts of the Mac
OS. With scriptable applications, users can
write scripts to automate operations.”
[https://developer.apple.com]
A false digital alibi: how to...
AppleScript
domenica 15 luglio 12
tell application "Finder" to quit
display dialog "Mostra Files nascosti..." buttons {"Si", "No", "Annulla"}
default button 3
copy the result as list to {buttonpressed}
try
if the buttonpressed is "No" then do shell script ¬
"defaults write com.apple.finder AppleShowAllFiles OFF"
if the buttonpressed is "Si" then do shell script ¬
"defaults write com.apple.finder AppleShowAllFiles ON"
end try
tell application "Finder" to launch
Example...
A false digital alibi: how to...
domenica 15 luglio 12
“Automator is your personal automation
assistant, making it easy for you to do more,
and with less hassle.With Automator, you use
a simple drag-and-drop process to create and
run “automation recipes” that perform simple
or complex tasks for you, when and where you
need them.”
[http://support.apple.com]
Automator
A false digital alibi: how to...
domenica 15 luglio 12
A false digital alibi: how to...
domenica 15 luglio 12
V
S
Automator or AppleScript?
Actions via Drag & Drop
Simple to learn and use
What about translation?
Direct control on Mac OS X
REJECT
ACCEPT
domenica 15 luglio 12
A case study
Chapter 4
in the thesis
domenica 15 luglio 12
Developing the
false digital alibi
Paragraph 4.A - 4.B
in the thesis
domenica 15 luglio 12
Automatism setup
Best practices
Software built-in is better!
Automatism habits-based
Needs to clean all traces!
No stupid error!
domenica 15 luglio 12
The false digital alibi maker
Automatism setup - Structural Decomposition
The automatism activator
Manager of the actions of
delection of traces and
scheduling
domenica 15 luglio 12
Automatism setup - Structural Decomposition
How to develop these modules?
Bottom-up
Develop the Simulator before
the others modules allows us to
understand which are the traces
to cover
domenica 15 luglio 12
The Simulator module
domenica 15 luglio 12
AppleScript at work
at
9.00
am
at
10.00
am
at 12.00 am
at 15.00 pm
domenica 15 luglio 12
AppleScript at work
domenica 15 luglio 12
AppleScript as app
this is the simulator
module!
domenica 15 luglio 12
The Wiper/Scheduler module
domenica 15 luglio 12
How retrieve traces of the automation?
domenica 15 luglio 12
Double execution
Manual execution -> State t1
Launch automatism -> State t2
Find of the accessed and modified files in t1 e t2
Retrieve differences between t1 and t2
domenica 15 luglio 12
/System/Library/Components/AppleScript.component
/System/Library/Components/AppleScript.component/Contents
/System/Library/Components/AppleScript.component/Contents/Resources
/System/Library/Components/AppleScript.component/Contents/Resources/
Italian.lproj
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
/Applications/Utilities/AppleScript Editor.app/Contents/Resources/
ScriptEditor.help/Contents/Resources
/Applications/Utilities/AppleScript Editor.app/Contents/Resources/
ScriptEditor.help/Contents/Resources/Italian.lproj
Anomalies in accessed files
find / -amin -3 > accessedFiles.txt
domenica 15 luglio 12
Anomalies in modified files
/private/var/log/asl/AUX.2012.06.04
/private/var/log/asl/AUX.2012.06.04/3793
/private/var/log/asl/AUX.2012.06.04/3795
/private/var/log/asl/AUX.2012.06.04/3803
/private/var/log/DiagnosticMessages/2012.06.04.asl
/private/var/log/DiagnosticMessages/StoreData
/private/var/log/opendirectoryd.log
/private/var/log/secure.log/private/var/log/system.log
find / -mmin -3 > modifiedFiles.txt
domenica 15 luglio 12
How remove this traces?
domenica 15 luglio 12
Via software
Removing traces
The software must delete itself!
Interpreted language!
domenica 15 luglio 12
Removing traces
Python
Interpreted language!
Very simple for complex jobs!
domenica 15 luglio 12
Removing traces
Retrieve the last access dates of a
resource before running the automation
os.path.getatime(%PATH)
touch -c -t -%TIME -%PATH
Roll-back last access time after the
execution of the script
Run automation (Simulator module)
domenica 15 luglio 12
Removing traces
Compiling Python files...why?
Introduction of indirect traces!
Cannot clean its own traces!
A stand-alone app doesn’t leave traces,
AT ALL!
domenica 15 luglio 12
Removing traces
Compiling Python files...how?
curl -O http://peak.telecommunity.com/dist/ez_setup.py
sudo python ez_setup.py -U setuptools
sudo easy_install -U py2app
py2applet --make-setup MyApplication.py
python setup.py py2app -A
this is the WIPER/
SCHEDULER module!
domenica 15 luglio 12
And what about the direct traces?
domenica 15 luglio 12
Names of legal apps for the modules
e.g.Wiper/Scheduler = Caffeine.app
Secure deletion of modules and
rename legal apps
Obfuscating direct traces
domenica 15 luglio 12
Names of the apps are not suspect
The apps used in the process are apps really installed
on the laptop!
All references to these apps are legal!
Obfuscating direct traces
domenica 15 luglio 12
The Launcher module
domenica 15 luglio 12
Problem: How launch the procedure?
Solution
A launcher module is needed
Wiper/Scheduler module needs
administrator privileges
domenica 15 luglio 12
Terminal???
Launcher module
It’s not a good idea because
some resources would be touch!
Bash History
Shell resources
Other resources
domenica 15 luglio 12
Launcher module
AppleScript can leave traces!
AppleScript???
Who cleans these traces???
domenica 15 luglio 12
Python, again!
Launcher module
Compiled Python app, again!
os.system("echo password|sudo -S /Volumes/MYPEN/Anonimus_e-
Mail.app/Contents/MacOS/Anonimus_e-Mail")
this is the launcher
module!
domenica 15 luglio 12
Problem
Launcher can’t be deleted while
running!
Launcher
callWiperScheduler()
callSimulator()
Wiper/Scheduler Simulator
When the Simulator ends its execution,Wiper/
Scheduler does not delete the Launcher
module because is the Launcher that keep alive
the Wiper/Scheduler!
domenica 15 luglio 12
Solution
Use of threads
ppid=os.getppid()
pid=os.fork()
if pid==0 :
os.kill(pid, signal.SIGKILL)
Launcher
callWiperScheduler()
callSimulator()
Wiper/Scheduler Simulator
os.fork()
Wiper/Scheduler
kill()
Using a thread we create a “good brother” of
Wiper/Scheduler.This allows the “bad brother”
to kill the Launcher module, keeping alive the
good brother and the whole work of the
Wiper/Scheduler module
domenica 15 luglio 12
But this operation leave
undesiderable traces in the log files
wifipers3128 sudo[1357]:password : TTY=unknown ; PWD=/Volumes/
MYPEN/Caffeine.app/Contents/Resources ; USER=root ; COMMAND=/
Volumes/MYPEN/Anonimus_e-Mail.app/Contents/MacOS/Anonimus_e-Mail
host-001 [0x0-0x71071].org.pythonmac.unspecified.Caffeine[1406]:
1410 Killed: 9 | sudo -S /Volumes/MYPEN/Anonimus_e-Mail.app/
Contents/MacOS/Anonimus_e-Mail
.log
domenica 15 luglio 12
Copy the log files before the automatism
Replace the log files containing
traces, with the previous one
Solving the problem...
AUTOMATION
domenica 15 luglio 12
How bring the files on a laptop?
domenica 15 luglio 12
curl -O http://remote_resources
More possibilities
Get a remote resource - curl command
Use a resource of Dropbox
domenica 15 luglio 12
Occam’s razor
“When things being equivalent,
a simpler explanation
is better than a more complex one”
Put files on a pendrive with
non-journaled file system
domenica 15 luglio 12
Summarizing...
domenica 15 luglio 12
...The structure of the process
Wiper/Scheduler
Simulator
Sniffomucca.app
Caffeine.app
anonimous_e-
mail.app
Launcher
domenica 15 luglio 12
MYPEN Contents - Before
Caffeine_p.app
SniffoMucca_p.app
Anonimous_e-mail_p.app
Caffeine.app + Caffeine.py
SniffoMucca.app
Anonimous_e-mail.app + Anonimous_e-mail.py
Automatism apps Legal apps
domenica 15 luglio 12
MYPEN Contents - After
Caffeine.app
SniffoMucca.app
Anonimous_e-mail.app
Legal apps
domenica 15 luglio 12
Where can we test the procedure?
Where can we test the whole process?
domenica 15 luglio 12
Enviroment setup
Virtual Machine:Why?
Come back to another state of disk is
simple
Needed to build and test the false
alibi procedure
domenica 15 luglio 12
Virtual Machine:The choise
VIRTUALBOX
PARALLELS
DESKTOP
VMWARE
FUSION
Creation
Management
License
domenica 15 luglio 12
Virtual Machine:The choise
VIRTUALBOX
PARALLELS
DESKTOP
VMWARE
FUSION
Creation
Management
License
domenica 15 luglio 12
Virtual Machine:The choise
VIRTUALBOX
PARALLELS
DESKTOP
VMWARE
FUSION
Creation
Management
License
domenica 15 luglio 12
Virtual Machine:The choise
VIRTUALBOX
PARALLELS
DESKTOP
VMWARE
FUSION
Creation
Management
License
ACCEPT
domenica 15 luglio 12
Enviroment setup
goal
Generate an exact duplicate of the
source media under investigation
The destination media MUST BE
erased!
Some tools could be used: dd,
dcfldd, dc3dd
domenica 15 luglio 12
Enviroment setup
First step
HD 1 HD 2
dd if=/dev/zero of=dev/disk bs=512 conv=notrunc
domenica 15 luglio 12
Second step
Enviroment setup
HD 1
domenica 15 luglio 12
Enviroment setup
Third step
HD 1
HD 2
dd if=/dev/sda of=dev/sdb bs=512 conv=notrunc
domenica 15 luglio 12
A post-mortem
digital forensic
Paragraph 4.C
in the thesis
domenica 15 luglio 12
The only way for being sure about
the construction on the false
digital alibi is to do a digital
forensic analysis on the hard disk,
on the pendrive and in the log
files!
Digital forensic
“The use of scientifically derived and proven methods toward the
preservation, collection, validation, identification, analysis,
interpretation, documentation and presentation of digital evidence
derived from digital sources for the purpose of facilitating of
furthering the reconstruction of events found to be criminal, or
helping to anticipate unauthorized action shown to be disruptive to
planned operations.”
[Digital Forensics ResearchWorkshop I - 2001]
domenica 15 luglio 12
Digital forensic - How
secure.log
system.log
.bash_history
Safari resources
We have to search in the log files of Mac OS X
“Mac OS X, iPod, and iPhone Forensic Analysis Toolkit”
domenica 15 luglio 12
About log files
We have already talk about the log files
The copy on the pendrive before the
automatism does not allow to have surprises!
Anyways, we used a grep command on the
log filed
grep iAmTheAutomatism7777 /private/var/log/secure.log
grep iAmTheAutomatism7777 /private/var/log/system.log
domenica 15 luglio 12
Bash History
.bash_history is an hidden file located in the user home
domenica 15 luglio 12
About Bash History
The bash history file is never
directly open in the process
All the comands are runned
by Python!
.bash_history is empty!
domenica 15 luglio 12
Safari Resources - Cache.db
domenica 15 luglio 12
About Cache.db
"#“
! _
_CFURLStringType_CFURLString
_
http://www.google.it/s?hl=it&gs_nf=1&cp=20&gs_id=14&xhr=t&q=Extract%20class
%20Fowler&pf=p&output=search&sclient=psy-ab&oq=&aq=&aqi=&aql=&gs_l=&pbx=1&bav=on.
2,or.r_gc.r_pw.r_qf.,cf.osb&fp=b58bcc71a4fb82fa&biw=1024&bih=674&tch=1&ech=2&psi=hCjgT6eFA
s3usgb5oOTACA.1340090487838.1#Aµê`a¡◊
⁄
!VServerContent-Type_
Transfer-EncodingTDate_
X-Frame-Options_
Content-Encoding_
X-XSS-Protection_
Content-Disposition]Cache-ControlWExpiresSgws_
application/json; charset=UTF-8XIdentity_
Tue, 19 Jun 2012 07:21:52 GMTZSAMEORIGINTgzip]1; mode=blockZattachment_
private, max-age=0R-1
n_
__CFURLResponseNullTokenString__
≠≤ƒ◊Í
Safari stores in the cache.db
all sites visited by users
We cannot use Safari for
dangerous operations
Cache.db does not contains relevant infos
domenica 15 luglio 12
Safari Resources - History
Safari History contains only the sites visited by
AppleScript
domenica 15 luglio 12
Are there traces in the hard disk or
on the pendrive?
domenica 15 luglio 12
How search traces of the automatism?
In the automatism files we have insert a “signature” of
the automatism...
domenica 15 luglio 12
grep -ros iAmTheAutomatism7777 ./
How search traces of the automatism?
...and we used a grep command on the hard disk and on
the pendrive
grep command does not retrieve any file with this
string
domenica 15 luglio 12
Problem
Launcher,Wiper/Scheduler and
Simulator modules could create some
temporary files!
Solution
We have to analyze deleted files!
domenica 15 luglio 12
Deleted files analysis - How
Photorec is a data recovery software designed to recover
lost files from hard disks, pendrive and so on
domenica 15 luglio 12
Deleted files analysis
We launched Photorec on the hard disk and on the
pendrive and we used the grep command
grep -ros iAmTheAutomatism7777 ./
grep command does not retrieve any file with this
string, again!
domenica 15 luglio 12
conclusions
future works
Chapter 5
in the thesis
domenica 15 luglio 12
Is realistic a false digital alibi on Mac OS X 10.7.3?
Create a false digital alibi is possible!
Remove the traces is possible if you use proper
features of Mac OS X!
Conclusions...
domenica 15 luglio 12
...and future works...
Can we create a false digital alibi using
Automator?
Test the automatism on a real enviroment!
Test the automatism on a different
versions of Mac OS X
domenica 15 luglio 12
Thank you!
Questions and/or comments
Dario Di Nucci d.dinucci@studenti.unisa.it
Fabio Palomba f.palomba3@studenti.unisa.it
Stefano Ricchiuti s.ricchiuti@studenti.unisa.it
Remind the link:
https:// www.dropbox.com/sh/8cfw9b0aembhzd5/mbVMwXBCBR
domenica 15 luglio 12

More Related Content

Viewers also liked

Hypervolume-based search for test case prioritization - ssbse 2015
Hypervolume-based search for test case prioritization - ssbse 2015Hypervolume-based search for test case prioritization - ssbse 2015
Hypervolume-based search for test case prioritization - ssbse 2015Vrije Universiteit Brussel
 
Gnome Maps: free software services for a new desktop experience
Gnome Maps: free software services for a new desktop experienceGnome Maps: free software services for a new desktop experience
Gnome Maps: free software services for a new desktop experienceVrije Universiteit Brussel
 
Applicazioni di modelli matematici alla ricerca semantica
Applicazioni di modelli matematici alla ricerca semanticaApplicazioni di modelli matematici alla ricerca semantica
Applicazioni di modelli matematici alla ricerca semanticaVrije Universiteit Brussel
 
Lightweight Detection of Android-specific Code Smells: the aDoctor Project
Lightweight Detection of Android-specific Code Smells: the aDoctor ProjectLightweight Detection of Android-specific Code Smells: the aDoctor Project
Lightweight Detection of Android-specific Code Smells: the aDoctor ProjectVrije Universiteit Brussel
 
Search-based testing of procedural programs:iterative single-target or multi-...
Search-based testing of procedural programs:iterative single-target or multi-...Search-based testing of procedural programs:iterative single-target or multi-...
Search-based testing of procedural programs:iterative single-target or multi-...Vrije Universiteit Brussel
 
Software-Based Energy Profiling of Android Apps: Simple, Efficient and Reliable?
Software-Based Energy Profiling of Android Apps: Simple, Efficient and Reliable?Software-Based Energy Profiling of Android Apps: Simple, Efficient and Reliable?
Software-Based Energy Profiling of Android Apps: Simple, Efficient and Reliable?Vrije Universiteit Brussel
 
Evoluzione della normazione ISO
Evoluzione della normazione ISOEvoluzione della normazione ISO
Evoluzione della normazione ISOD'Eugenio Elisa
 

Viewers also liked (8)

Hypervolume-based search for test case prioritization - ssbse 2015
Hypervolume-based search for test case prioritization - ssbse 2015Hypervolume-based search for test case prioritization - ssbse 2015
Hypervolume-based search for test case prioritization - ssbse 2015
 
Gnome Maps: free software services for a new desktop experience
Gnome Maps: free software services for a new desktop experienceGnome Maps: free software services for a new desktop experience
Gnome Maps: free software services for a new desktop experience
 
Applicazioni di modelli matematici alla ricerca semantica
Applicazioni di modelli matematici alla ricerca semanticaApplicazioni di modelli matematici alla ricerca semantica
Applicazioni di modelli matematici alla ricerca semantica
 
Lightweight Detection of Android-specific Code Smells: the aDoctor Project
Lightweight Detection of Android-specific Code Smells: the aDoctor ProjectLightweight Detection of Android-specific Code Smells: the aDoctor Project
Lightweight Detection of Android-specific Code Smells: the aDoctor Project
 
Search-based testing of procedural programs:iterative single-target or multi-...
Search-based testing of procedural programs:iterative single-target or multi-...Search-based testing of procedural programs:iterative single-target or multi-...
Search-based testing of procedural programs:iterative single-target or multi-...
 
Software-Based Energy Profiling of Android Apps: Simple, Efficient and Reliable?
Software-Based Energy Profiling of Android Apps: Simple, Efficient and Reliable?Software-Based Energy Profiling of Android Apps: Simple, Efficient and Reliable?
Software-Based Energy Profiling of Android Apps: Simple, Efficient and Reliable?
 
Evoluzione della normazione ISO
Evoluzione della normazione ISOEvoluzione della normazione ISO
Evoluzione della normazione ISO
 
People management
People managementPeople management
People management
 

Similar to A false digital alibi on mac os x

A false digital alibi on Mac OS X
A false digital alibi on Mac OS XA false digital alibi on Mac OS X
A false digital alibi on Mac OS XFabio Palomba
 
Keeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkKeeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkJeremy Kendall
 
Operationalizing Clojure Confidently
Operationalizing Clojure ConfidentlyOperationalizing Clojure Confidently
Operationalizing Clojure ConfidentlyPrasanna Gautam
 
Tools/Processes for serious android app development
Tools/Processes for serious android app developmentTools/Processes for serious android app development
Tools/Processes for serious android app developmentGaurav Lochan
 
Embracing failure on the front-end: Making better JavaScript apps by learning...
Embracing failure on the front-end: Making better JavaScript apps by learning...Embracing failure on the front-end: Making better JavaScript apps by learning...
Embracing failure on the front-end: Making better JavaScript apps by learning...Clay Smith
 
Practical pairing of generative programming with functional programming.
Practical pairing of generative programming with functional programming.Practical pairing of generative programming with functional programming.
Practical pairing of generative programming with functional programming.Eugene Lazutkin
 
Microservices and functional programming
Microservices and functional programmingMicroservices and functional programming
Microservices and functional programmingMichael Neale
 
Joxean Koret - Database Security Paradise [Rooted CON 2011]
Joxean Koret - Database Security Paradise [Rooted CON 2011]Joxean Koret - Database Security Paradise [Rooted CON 2011]
Joxean Koret - Database Security Paradise [Rooted CON 2011]RootedCON
 
Better Embedded 2013 - Detecting Memory Leaks with Valgrind
Better Embedded 2013 - Detecting Memory Leaks with ValgrindBetter Embedded 2013 - Detecting Memory Leaks with Valgrind
Better Embedded 2013 - Detecting Memory Leaks with ValgrindRigels Gordani
 
Real Developer Tools for WordPress by Stefan Didak
Real Developer Tools for WordPress by Stefan DidakReal Developer Tools for WordPress by Stefan Didak
Real Developer Tools for WordPress by Stefan DidakEast Bay WordPress Meetup
 
Dist::Zilla - Maximum Overkill for CPAN Distributions
Dist::Zilla - Maximum Overkill for CPAN DistributionsDist::Zilla - Maximum Overkill for CPAN Distributions
Dist::Zilla - Maximum Overkill for CPAN DistributionsRicardo Signes
 
PL-4047, Big Data Workload Analysis Using SWAT and Ipython Notebooks, by Moni...
PL-4047, Big Data Workload Analysis Using SWAT and Ipython Notebooks, by Moni...PL-4047, Big Data Workload Analysis Using SWAT and Ipython Notebooks, by Moni...
PL-4047, Big Data Workload Analysis Using SWAT and Ipython Notebooks, by Moni...AMD Developer Central
 
20 Windows Tools Every SysAdmin Should Know
20 Windows Tools Every SysAdmin Should Know20 Windows Tools Every SysAdmin Should Know
20 Windows Tools Every SysAdmin Should KnowPower Admin LLC
 
Android Security & Penetration Testing
Android Security & Penetration TestingAndroid Security & Penetration Testing
Android Security & Penetration TestingSubho Halder
 
Exploring Thermal Related Stuff in iDevices using Open-Source Tool
Exploring Thermal Related Stuff in iDevices using Open-Source ToolExploring Thermal Related Stuff in iDevices using Open-Source Tool
Exploring Thermal Related Stuff in iDevices using Open-Source ToolKoan-Sin Tan
 
Fast Slim Correct: The History and Evolution of JavaScript.
Fast Slim Correct: The History and Evolution of JavaScript.Fast Slim Correct: The History and Evolution of JavaScript.
Fast Slim Correct: The History and Evolution of JavaScript.John Dalziel
 
Infrastructure as code might be literally impossible / Joe Domato (packageclo...
Infrastructure as code might be literally impossible / Joe Domato (packageclo...Infrastructure as code might be literally impossible / Joe Domato (packageclo...
Infrastructure as code might be literally impossible / Joe Domato (packageclo...Ontico
 

Similar to A false digital alibi on mac os x (20)

A false digital alibi on Mac OS X
A false digital alibi on Mac OS XA false digital alibi on Mac OS X
A false digital alibi on Mac OS X
 
Keeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkKeeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro framework
 
Operationalizing Clojure Confidently
Operationalizing Clojure ConfidentlyOperationalizing Clojure Confidently
Operationalizing Clojure Confidently
 
Tools/Processes for serious android app development
Tools/Processes for serious android app developmentTools/Processes for serious android app development
Tools/Processes for serious android app development
 
Dba tips and_tricks
Dba tips and_tricksDba tips and_tricks
Dba tips and_tricks
 
Embracing failure on the front-end: Making better JavaScript apps by learning...
Embracing failure on the front-end: Making better JavaScript apps by learning...Embracing failure on the front-end: Making better JavaScript apps by learning...
Embracing failure on the front-end: Making better JavaScript apps by learning...
 
Users guide
Users guideUsers guide
Users guide
 
Practical pairing of generative programming with functional programming.
Practical pairing of generative programming with functional programming.Practical pairing of generative programming with functional programming.
Practical pairing of generative programming with functional programming.
 
Microservices and functional programming
Microservices and functional programmingMicroservices and functional programming
Microservices and functional programming
 
Joxean Koret - Database Security Paradise [Rooted CON 2011]
Joxean Koret - Database Security Paradise [Rooted CON 2011]Joxean Koret - Database Security Paradise [Rooted CON 2011]
Joxean Koret - Database Security Paradise [Rooted CON 2011]
 
Better Embedded 2013 - Detecting Memory Leaks with Valgrind
Better Embedded 2013 - Detecting Memory Leaks with ValgrindBetter Embedded 2013 - Detecting Memory Leaks with Valgrind
Better Embedded 2013 - Detecting Memory Leaks with Valgrind
 
Real Developer Tools for WordPress by Stefan Didak
Real Developer Tools for WordPress by Stefan DidakReal Developer Tools for WordPress by Stefan Didak
Real Developer Tools for WordPress by Stefan Didak
 
Dist::Zilla - Maximum Overkill for CPAN Distributions
Dist::Zilla - Maximum Overkill for CPAN DistributionsDist::Zilla - Maximum Overkill for CPAN Distributions
Dist::Zilla - Maximum Overkill for CPAN Distributions
 
PL-4047, Big Data Workload Analysis Using SWAT and Ipython Notebooks, by Moni...
PL-4047, Big Data Workload Analysis Using SWAT and Ipython Notebooks, by Moni...PL-4047, Big Data Workload Analysis Using SWAT and Ipython Notebooks, by Moni...
PL-4047, Big Data Workload Analysis Using SWAT and Ipython Notebooks, by Moni...
 
20 Windows Tools Every SysAdmin Should Know
20 Windows Tools Every SysAdmin Should Know20 Windows Tools Every SysAdmin Should Know
20 Windows Tools Every SysAdmin Should Know
 
Android Security & Penetration Testing
Android Security & Penetration TestingAndroid Security & Penetration Testing
Android Security & Penetration Testing
 
Applets
AppletsApplets
Applets
 
Exploring Thermal Related Stuff in iDevices using Open-Source Tool
Exploring Thermal Related Stuff in iDevices using Open-Source ToolExploring Thermal Related Stuff in iDevices using Open-Source Tool
Exploring Thermal Related Stuff in iDevices using Open-Source Tool
 
Fast Slim Correct: The History and Evolution of JavaScript.
Fast Slim Correct: The History and Evolution of JavaScript.Fast Slim Correct: The History and Evolution of JavaScript.
Fast Slim Correct: The History and Evolution of JavaScript.
 
Infrastructure as code might be literally impossible / Joe Domato (packageclo...
Infrastructure as code might be literally impossible / Joe Domato (packageclo...Infrastructure as code might be literally impossible / Joe Domato (packageclo...
Infrastructure as code might be literally impossible / Joe Domato (packageclo...
 

Recently uploaded

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 

Recently uploaded (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 

A false digital alibi on mac os x