SlideShare a Scribd company logo
1 of 70
Download to read offline
What every beginning
developer should know
Andy Lester
CodeMash, January 10, 2019
@petdance
andy@petdance.com
What brings you
to this talk?
Where I'm coming from
32 years of software development
Manager, team leader, hire programmers
I spend a lot of time on StackOverflow
(That's a lot of beginning devs)
Tools of the trade
Be able to live
outside the IDE
Version Control Systems
Branching
Merging
Using VCS as a team
How to write a commit message
Let the language help
gcc warnings -Wall and -Wextra
JavaScript 'use strict'
PHP's error_reporting(E_ALL);
Perl's use warnings; use
strict;
Static analysis tools
Python: pylint, vulture, mypy
PHP: phan, PHPMD
Go: golint
Perl: Perl::Critic
Javascript: JSLint, jshint, flow
SQL: sqlcheck
C/C++: splint, oclint, cppcheck
https://matthias-endler.de/awesome-static-analysis/
Serious editing
vim
emacs
Atom
Eclipse
Not Notepad for God's sake
Make, shell scripts,
and repeatability
Computers do the drudge work.
Humans do the thinking.
HTML + CSS
HTML+CSS
Chances are your front end will be a
browser
Just the basics
Separating structure from display
# ❌ Physical markup

<b><font size="+2">Customers</b></font>

<p>Lorem ipsum <i>cupit non proident</i></p>






# ✅ Semantic markup

<h1>Customers</h1>

<p>

Lorem ipsum <span class="emphasis">cupit
non proident</span>

</p>
SQL
"All the SQL I know I learned
on the job. Why are
databases an elective? What
doesn’t use a database?"
ID Name Manager Salary
1 Smith N 1,000
2 Jones N 1,200
3 Franklin Y 1,500
4 Davis N 800
# 10% raise for non-managers

while (employee = read_employee())

if employee.manager = 'N'

employee.salary *= 1.10

write_employee( employee )
ID Name Manager Salary
1 Smith N 1,000
2 Jones N 1,200
3 Franklin Y 1,500
4 Davis N 800
# 10% raise for non-managers

UPDATE employees

SET salary = salary * 1.10

WHERE manager = 'N';
Different mindset
# Iterative

while ( employee = read_employee() )

if employee.manager = 'N'

employee.salary *= 1.10

write_employee( employee )
-- Declarative

UPDATE employees

SET salary = salary * 1.10

WHERE manager = 'N';
-- Plus it's faster!
Regular Expressions
Two big needs
Validating data
Searching source code
NOT parsing
Validating strings
Part numbers must be like "ABCD-12"
Four alphas
Hyphen
Two digits
Four alphas, hyphen,
two digits
ok = TRUE # Assume OK



for pos ( 0..3 )

if ( !isalpha( substr(partno,pos,1 ) )

ok = FALSE



if substr(partno,4,1) != '-'

ok = FALSE



for pos ( 5..6 )

if ( !isdigit( substr(partno,pos,1 ) )

ok = FALSE

Or...
Four alphas, hyphen,
two digits
/^[A-Z]{4}-d{2}$/
Four alphas, hyphen,
two digits
# Perl

$ok = $partno =~ /^[A-Z]{4}-d{2}$/;
# PHP

$ok = preg_match(

'/^[A-Z]{4}-d{2}$/', $partno );



# Python

ok = re.match(

'/^[A-Z]{4}-d{2}$/', partno )

Who can read that?
Who can read that?
If you can learn to read
this:



f = (9/5) * c + 32



You can learn to read this: 



/^[A-Z]{4}-d{2}$/
Whitespace + comments!
/^[A-Z]{4}-d{2}$/



/ ^ [A-Z]{4} - d{2} $ /x
/ 

^ # Start of the string

[A-Z]{4} # Four alphas

- # Hyphen

d{2} # Two digits

$ # End of string

/x
Haters like to
point and laugh
Searching
for text
Searching source code
Find all the instances of:
set_user_id
get_user_id
set_user_name
get_user_name
Searching source code
$ grep -R set_user_id .

$ grep -R get_user_id .

$ grep -R set_user_name .

$ grep -R get_user_name .
Searching source code
$ grep -E 

'(get|set)_user_(id|name)' 

-R .

Searching source code
$ ack '(get|set)_user_(id|name)'



(ack is at https://beyondgrep.com)
Your editor uses regexes
Editors have helpers, too
A different mindset
ok = TRUE # Assume OK

for pos ( 0..3 )

if ( !isalpha( substr(partno,pos,1 ) )

ok = FALSE

if substr(partno,4,1) != '-'

ok = FALSE

for pos ( 5..6 )

if ( !isdigit( substr(partno,pos,1 ) )

ok = FALSE
... or ...
/^[A-Z]{4}-d{2}$/

Concepts
Debugging
How to find programming problems, methodically
narrowing them down to the core cause.
Defensive
programming
What do you do when
"that can never happen" happens?
Testing
Thinking in terms of causing problems
Manual testing
Unit testing
Continuous integration
DRY
Don't Repeat Yourself
Don't Repeat Yourself
"Every piece of knowledge must have a
single, unambiguous, authoritative
representation within a system"

-- Andy Hunt & Dave Thomas
"Cut & paste is a headache in waiting."

-- Andy Lester
Efficiency
Most of the time
"efficiency" doesn't
matter.
Which kind of efficiency are
you talking about anyway?
Run-time speed?
Memory usage?
Disk usage?
Network usage?
Thinking business
Thinking business
You're there to make money for the
company.
Income
Lower costs
Saved time
How do I get my boss
to use Language X?
Show how it will
make money.
How do I get a second
monitor?
Show how it will
make money.
How do I get us to
migrate to the cloud?
Show how it will
make money.
Working with
existing code
This is what you write in school
This is your first project on the job
"Look into ticket #3481"
Working with
existing code
Assignment 5 in CS 200
Write code that does a thing
Assignment 6
Code review on another random student's Assignment 5
Badmouthing their code = instant F
Assignment 7
Extending the code from Assignments 5+6
Written
communication
Telecommuting in
software development
2008 2010 2012 2014 2016 2018 2020
I made up that
meaningless chart,
but the point is...
In everything you do, whether in English
or in a computer language
Teams are
communicating
remotely more
Written communication
Slack
Email
Bug reports
Documentation
Code comments
What can you do to
fill in these gaps?
Two missing textbooks
Work in open source
Working with distributed teams
Source control
Project lifecycle: New features, bugs,
releases, etc
Test-driven development
Written communication
Thank you for your time
Andy Lester, @petdance on Twitter
blog.petdance.com
Two competing
misconceptions of
beginning programmers
You have to have everything
memorized, and if you look
it up you're a loser.
All you have to do is look
things up on the Internet
and use those answers.
Three traits of a
great programmer
Laziness
Impatience
Hubris
-- Larry Wall, creator of patch & Perl
Laziness
The quality that makes you go to great
effort to reduce overall energy expenditure.
It makes you write labor-saving programs
that other people will find useful and
document what you wrote so you don't have
to answer so many questions about it.

More Related Content

What's hot

Python - Introduction
Python - IntroductionPython - Introduction
Python - Introductionstn_tkiller
 
Lecture#5 c lang new
Lecture#5 c lang newLecture#5 c lang new
Lecture#5 c lang newZeeshan Ahmad
 
Python programming msc(cs)
Python programming msc(cs)Python programming msc(cs)
Python programming msc(cs)KALAISELVI P
 
Lesson 03 python statement, indentation and comments
Lesson 03   python statement, indentation and commentsLesson 03   python statement, indentation and comments
Lesson 03 python statement, indentation and commentsNilimesh Halder
 
Introduction to C++
Introduction to C++ Introduction to C++
Introduction to C++ Bharat Kalia
 
Python Programming Language | Python Classes | Python Tutorial | Python Train...
Python Programming Language | Python Classes | Python Tutorial | Python Train...Python Programming Language | Python Classes | Python Tutorial | Python Train...
Python Programming Language | Python Classes | Python Tutorial | Python Train...Edureka!
 
Chapter 0 Python Overview (Python Programming Lecture)
Chapter 0 Python Overview (Python Programming Lecture)Chapter 0 Python Overview (Python Programming Lecture)
Chapter 0 Python Overview (Python Programming Lecture)IoT Code Lab
 
Introduction to Python
Introduction to Python Introduction to Python
Introduction to Python amiable_indian
 
Python Tutorial For Beginners | Python Crash Course - Python Programming Lang...
Python Tutorial For Beginners | Python Crash Course - Python Programming Lang...Python Tutorial For Beginners | Python Crash Course - Python Programming Lang...
Python Tutorial For Beginners | Python Crash Course - Python Programming Lang...Edureka!
 
Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...
Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...
Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...Edureka!
 

What's hot (20)

Python - Introduction
Python - IntroductionPython - Introduction
Python - Introduction
 
Lecture#5 c lang new
Lecture#5 c lang newLecture#5 c lang new
Lecture#5 c lang new
 
Python programming msc(cs)
Python programming msc(cs)Python programming msc(cs)
Python programming msc(cs)
 
Doc
DocDoc
Doc
 
Presentation on python
Presentation on pythonPresentation on python
Presentation on python
 
C Programming
C ProgrammingC Programming
C Programming
 
Python Presentation
Python PresentationPython Presentation
Python Presentation
 
Lesson 03 python statement, indentation and comments
Lesson 03   python statement, indentation and commentsLesson 03   python statement, indentation and comments
Lesson 03 python statement, indentation and comments
 
Introduction Of C++
Introduction Of C++Introduction Of C++
Introduction Of C++
 
Introduction to C++
Introduction to C++ Introduction to C++
Introduction to C++
 
Async and Parallel F#
Async and Parallel F#Async and Parallel F#
Async and Parallel F#
 
Python Programming Language | Python Classes | Python Tutorial | Python Train...
Python Programming Language | Python Classes | Python Tutorial | Python Train...Python Programming Language | Python Classes | Python Tutorial | Python Train...
Python Programming Language | Python Classes | Python Tutorial | Python Train...
 
Parsing
ParsingParsing
Parsing
 
Chapter 0 Python Overview (Python Programming Lecture)
Chapter 0 Python Overview (Python Programming Lecture)Chapter 0 Python Overview (Python Programming Lecture)
Chapter 0 Python Overview (Python Programming Lecture)
 
Introduction to Python
Introduction to Python Introduction to Python
Introduction to Python
 
Python Tutorial For Beginners | Python Crash Course - Python Programming Lang...
Python Tutorial For Beginners | Python Crash Course - Python Programming Lang...Python Tutorial For Beginners | Python Crash Course - Python Programming Lang...
Python Tutorial For Beginners | Python Crash Course - Python Programming Lang...
 
Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...
Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...
Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...
 
C++ lecture 01
C++   lecture 01C++   lecture 01
C++ lecture 01
 
C
CC
C
 
Deep C
Deep CDeep C
Deep C
 

Similar to What every beginning developer should know

Programming Under Linux In Python
Programming Under Linux In PythonProgramming Under Linux In Python
Programming Under Linux In PythonMarwan Osman
 
What we can learn from Rebol?
What we can learn from Rebol?What we can learn from Rebol?
What we can learn from Rebol?lichtkind
 
Winter%200405%20-%20Beginning%20PHP
Winter%200405%20-%20Beginning%20PHPWinter%200405%20-%20Beginning%20PHP
Winter%200405%20-%20Beginning%20PHPtutorialsruby
 
Winter%200405%20-%20Beginning%20PHP
Winter%200405%20-%20Beginning%20PHPWinter%200405%20-%20Beginning%20PHP
Winter%200405%20-%20Beginning%20PHPtutorialsruby
 
The why and how of moving to PHP 5.4/5.5
The why and how of moving to PHP 5.4/5.5The why and how of moving to PHP 5.4/5.5
The why and how of moving to PHP 5.4/5.5Wim Godden
 
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...DRVaibhavmeshram1
 
Functional pogramming hl overview
Functional pogramming hl overviewFunctional pogramming hl overview
Functional pogramming hl overviewElad Avneri
 
Visual Studio .NET2010
Visual Studio .NET2010Visual Studio .NET2010
Visual Studio .NET2010Satish Verma
 
270_1_CIntro_Up_To_Functions.ppt
270_1_CIntro_Up_To_Functions.ppt270_1_CIntro_Up_To_Functions.ppt
270_1_CIntro_Up_To_Functions.pptUdhayaKumar175069
 
Survey of programming language getting started in C
Survey of programming language getting started in CSurvey of programming language getting started in C
Survey of programming language getting started in Cummeafruz
 
270 1 c_intro_up_to_functions
270 1 c_intro_up_to_functions270 1 c_intro_up_to_functions
270 1 c_intro_up_to_functionsray143eddie
 

Similar to What every beginning developer should know (20)

Python slide
Python slidePython slide
Python slide
 
Programming Under Linux In Python
Programming Under Linux In PythonProgramming Under Linux In Python
Programming Under Linux In Python
 
C Tutorials
C TutorialsC Tutorials
C Tutorials
 
C tutorial
C tutorialC tutorial
C tutorial
 
C tutorial
C tutorialC tutorial
C tutorial
 
C tutorial
C tutorialC tutorial
C tutorial
 
What we can learn from Rebol?
What we can learn from Rebol?What we can learn from Rebol?
What we can learn from Rebol?
 
Winter%200405%20-%20Beginning%20PHP
Winter%200405%20-%20Beginning%20PHPWinter%200405%20-%20Beginning%20PHP
Winter%200405%20-%20Beginning%20PHP
 
Winter%200405%20-%20Beginning%20PHP
Winter%200405%20-%20Beginning%20PHPWinter%200405%20-%20Beginning%20PHP
Winter%200405%20-%20Beginning%20PHP
 
Async and Parallel F#
Async and Parallel F#Async and Parallel F#
Async and Parallel F#
 
The why and how of moving to PHP 5.4/5.5
The why and how of moving to PHP 5.4/5.5The why and how of moving to PHP 5.4/5.5
The why and how of moving to PHP 5.4/5.5
 
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
 
Spsl iv unit final
Spsl iv unit  finalSpsl iv unit  final
Spsl iv unit final
 
Spsl iv unit final
Spsl iv unit  finalSpsl iv unit  final
Spsl iv unit final
 
Functional pogramming hl overview
Functional pogramming hl overviewFunctional pogramming hl overview
Functional pogramming hl overview
 
Visual Studio .NET2010
Visual Studio .NET2010Visual Studio .NET2010
Visual Studio .NET2010
 
Welcome to python workshop
Welcome to python workshopWelcome to python workshop
Welcome to python workshop
 
270_1_CIntro_Up_To_Functions.ppt
270_1_CIntro_Up_To_Functions.ppt270_1_CIntro_Up_To_Functions.ppt
270_1_CIntro_Up_To_Functions.ppt
 
Survey of programming language getting started in C
Survey of programming language getting started in CSurvey of programming language getting started in C
Survey of programming language getting started in C
 
270 1 c_intro_up_to_functions
270 1 c_intro_up_to_functions270 1 c_intro_up_to_functions
270 1 c_intro_up_to_functions
 

More from Andy Lester

What I wish colleges and bootcamps taught software developers
What I wish colleges and bootcamps taught software developersWhat I wish colleges and bootcamps taught software developers
What I wish colleges and bootcamps taught software developersAndy Lester
 
Resumes and job interviews for tech jobs
Resumes and job interviews for tech jobsResumes and job interviews for tech jobs
Resumes and job interviews for tech jobsAndy Lester
 
Resumes and job interviews for technical jobs
Resumes and job interviews for technical jobsResumes and job interviews for technical jobs
Resumes and job interviews for technical jobsAndy Lester
 
Community and Github: 7/27/2011
Community and Github: 7/27/2011Community and Github: 7/27/2011
Community and Github: 7/27/2011Andy Lester
 
What schools should be teaching IT students
What schools should be teaching IT studentsWhat schools should be teaching IT students
What schools should be teaching IT studentsAndy Lester
 
Effective Job Interviewing From Both Sides of the Desk
Effective Job Interviewing From Both Sides of the DeskEffective Job Interviewing From Both Sides of the Desk
Effective Job Interviewing From Both Sides of the DeskAndy Lester
 
23 Rules For Job Hunters
23 Rules For Job Hunters23 Rules For Job Hunters
23 Rules For Job HuntersAndy Lester
 
Frozen Perl 2009 Keynote
Frozen Perl 2009 KeynoteFrozen Perl 2009 Keynote
Frozen Perl 2009 KeynoteAndy Lester
 
Just Enough C For Open Source Projects
Just Enough C For Open Source ProjectsJust Enough C For Open Source Projects
Just Enough C For Open Source ProjectsAndy Lester
 
How to speak Manager
How to speak ManagerHow to speak Manager
How to speak ManagerAndy Lester
 

More from Andy Lester (10)

What I wish colleges and bootcamps taught software developers
What I wish colleges and bootcamps taught software developersWhat I wish colleges and bootcamps taught software developers
What I wish colleges and bootcamps taught software developers
 
Resumes and job interviews for tech jobs
Resumes and job interviews for tech jobsResumes and job interviews for tech jobs
Resumes and job interviews for tech jobs
 
Resumes and job interviews for technical jobs
Resumes and job interviews for technical jobsResumes and job interviews for technical jobs
Resumes and job interviews for technical jobs
 
Community and Github: 7/27/2011
Community and Github: 7/27/2011Community and Github: 7/27/2011
Community and Github: 7/27/2011
 
What schools should be teaching IT students
What schools should be teaching IT studentsWhat schools should be teaching IT students
What schools should be teaching IT students
 
Effective Job Interviewing From Both Sides of the Desk
Effective Job Interviewing From Both Sides of the DeskEffective Job Interviewing From Both Sides of the Desk
Effective Job Interviewing From Both Sides of the Desk
 
23 Rules For Job Hunters
23 Rules For Job Hunters23 Rules For Job Hunters
23 Rules For Job Hunters
 
Frozen Perl 2009 Keynote
Frozen Perl 2009 KeynoteFrozen Perl 2009 Keynote
Frozen Perl 2009 Keynote
 
Just Enough C For Open Source Projects
Just Enough C For Open Source ProjectsJust Enough C For Open Source Projects
Just Enough C For Open Source Projects
 
How to speak Manager
How to speak ManagerHow to speak Manager
How to speak Manager
 

Recently uploaded

%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 

Recently uploaded (20)

%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 

What every beginning developer should know