SlideShare ist ein Scribd-Unternehmen logo
1 von 207
Downloaden Sie, um offline zu lesen
7 ineffective
coding
habits
MANY
F#
programmers
DON’T
have
BuildStuff ‘14
habit
ˈhabɪt/
A settled or regular tendency
or practice, especially one
that is hard to give up.
“I’m not a great programmer;
I’m just a good programmer
with great habits.”
- Kent Beck
Noisy Code
Visual Dishonesty
Lego Naming
Underabstraction
Unencapsulated State
Getters and Setters
Uncohesive Tests
@theburningmonk
does the language I use
make a difference?
“Programming languages
have a devious influence:
they shape our thinking
habits.”
- Edsger W. Dijkstra
Noisy Code
@theburningmonk
@theburningmonk
@theburningmonk
every LOC is a cost
@theburningmonk
more code
more chance for bugs
@theburningmonk
more code
more engineers
@theburningmonk
@theburningmonk
You should do whatever possible to increase the
productivity of individual programmers in terms of
the expressive power of the code they write. Less
code to do the same thing (and possibly better).
Less programmers to hire. Less organizational
communication costs.
@theburningmonk
You should do whatever possible to increase the
productivity of individual programmers in terms of
the expressive power of the code they write. Less
code to do the same thing (and possibly better).
Less programmers to hire. Less organizational
communication costs.
does the language I use
make a difference?
@theburningmonk
@theburningmonk
source http://bit.ly/1oBHHh1
@theburningmonk
source http://bit.ly/1oBHHh1
@theburningmonk
source http://bit.ly/1oBHHh1
@theburningmonk
source http://bit.ly/1oBHHh1
@theburningmonk
source http://bit.ly/1oBHHh1
@theburningmonk
source http://bit.ly/1oBHHh1
@theburningmonk
source http://bit.ly/1oBHHh1
@theburningmonk
Recap
@theburningmonk
no { }
no nulls
fewer syntactic noise
@theburningmonk
fewer code
fewer noise
@theburningmonk
fewer noise
higher SNR
@theburningmonk
fewer code
more productivity
- Dan North
“Lead time to someone saying
thank you is the only reputation
metric that matters.”
Visual
Dishonesty
“…a clean design is one that
supports visual thinking so
people can meet their
informational needs with a
minimum of conscious effort.”
- Daniel Higginbotham (www.visualmess.com)
@theburningmonk
public void MyCleverMethod(
int firstArg,
string secondArg)
signifies hierarchy
“You convey information by the way you
arrange a design’s elements in relation to
each other. This information is understood
immediately, if not consciously, by the
people viewing your designs.”
- Daniel Higginbotham (www.visualmess.com)
“This is great if the visual relationships are
obvious and accurate, but if they’re not,
your audience is going to get confused.
They’ll have to examine your work carefully,
going back and forth between the different
parts to make sure they understand.”
- Daniel Higginbotham (www.visualmess.com)
@theburningmonk
Whilst talking with an ex-colleague, a question came up on how to implement the Stable Marriage
problem using a message passing approach. Naturally, I wanted to answer that question with Erlang!
Let’s first dissect the problem and decide what processes we need and how they need to interact with
one another.
The stable marriage problem is commonly stated as:
Given n men and n women, where each person has ranked all members of the opposite sex with a
unique number between 1 and n in order of preference, marry the men and women together such that
there are no two people of opposite sex who would both rather have each other than their current
partners. If there are no such people, all the marriages are “stable”. (It is assumed that the participants
are binary gendered and that marriages are not same-sex).
From the problem description, we can see that we need:
* a module for man
* a module for woman
* a module for orchestrating the experiment
In terms of interaction between the different modules, I imagined something along the lines of…
how we read ENGLISH
see also http://bit.ly/1KN8cd0
@theburningmonk
Whilst talking with an ex-colleague, a question came up on how to implement the Stable Marriage
problem using a message passing approach. Naturally, I wanted to answer that question with Erlang!
Let’s first dissect the problem and decide what processes we need and how they need to interact with
one another.
The stable marriage problem is commonly stated as:
Given n men and n women, where each person has ranked all members of the opposite sex with a
unique number between 1 and n in order of preference, marry the men and women together such that
there are no two people of opposite sex who would both rather have each other than their current
partners. If there are no such people, all the marriages are “stable”. (It is assumed that the participants
are binary gendered and that marriages are not same-sex).
From the problem description, we can see that we need:
* a module for man
* a module for woman
* a module for orchestrating the experiment
In terms of interaction between the different modules, I imagined something along the lines of…
2.top-to-bottom
1.left-to-right
how we read ENGLISH
see also http://bit.ly/1KN8cd0
@theburningmonk
how we read CODE
public void DoSomething(int x, int y)
{
Foo(y,
Bar(x,
Zoo(Monkey())));
}
see also http://bit.ly/1KN8cd0
@theburningmonk
how we read CODE
public void DoSomething(int x, int y)
{
Foo(y,
Bar(x,
Zoo(Monkey())));
}
2.bottom-to-top
1.right-to-left
see also http://bit.ly/1KN8cd0
@theburningmonk
Whilst talking with an ex-colleague, a question came up on
how to implement the Stable Marriage problem using a
message passing approach. Naturally, I wanted to answer
that question with Erlang!
Let’s first dissect the problem and decide what processes we
need and how they need to interact with one another.
The stable marriage problem is commonly stated as:
Given n men and n women, where each person has ranked
all members of the opposite sex with a unique number
between 1 and n in order of preference, marry the men and
women together such that there are no two people of
opposite sex who would both rather have each other than
their current partners. If there are no such people, all the
marriages are “stable”. (It is assumed that the participants
are binary gendered and that marriages are not same-sex).
From the problem description, we can see that we need:
* a module for man
* a module for woman
* a module for orchestrating the experiment
In terms of interaction between the different modules, I
imagined something along the lines of…
2.top-to-bottom
1.left-to-right
how we read ENGLISH
public void DoSomething(int x, int y)
{
Foo(y,
Bar(x,
Zoo(Monkey())));
}
2.top-to-bottom
1.right-to-left
how we read CODE
see also http://bit.ly/1KN8cd0
@theburningmonk
|>
see also http://bit.ly/1KN8cd0
@theburningmonk
how we read CODE
let drawCircle x y radius =
circle radius
|> filled (rgb 150 170 150)
|> alpha 0.5
|> move (x, y)
see also http://bit.ly/1KN8cd0
@theburningmonk
how we read CODE
let drawCircle x y radius =
circle radius
|> filled (rgb 150 170 150)
|> alpha 0.5
|> move (x, y)
2.top-to-bottom
1.left-to-right
see also http://bit.ly/1KN8cd0
@theburningmonk
{}
@theburningmonk
public ResultType MyCleverMethod(
int firstArg,
string secondArg,
string thirdArg) {
var localVar =
AnotherCleverMethod(firstArg, secondArg);
if (localVar.IsSomething(
thirdArg, MY_CONSTANT)) {
DoSomething(localVar);
}
return localVar.GetSomething();
}
@theburningmonk
XXXXXX XXXXXXXXXX XXXXXXXXXXXXXX
XXX XXXXXXXX
XXXXXX XXXXXXXXX
XXXXXX XXXXXXXX
XXX XXXXXXXX
XXXXXXXXXXXXXXXXXXX XXXXXXXX XXXXXXXXX
XX XXXXXXXX XXXXXXXXXXX
XXXXXXXX XXXXXXXXXX
XXXXXXXXXXX XXXXXXXX
XXXXXX XXXXXXXX XXXXXXXXXXXX
@theburningmonk
public ResultType MyCleverMethod(
int firstArg,
string secondArg,
string thirdArg) {
var localVar =
AnotherCleverMethod(firstArg, secondArg);
if (localVar.IsSomething(
thirdArg, MY_CONSTANT)) {
DoSomething(localVar);
}
return localVar.GetSomething();
}
“This is great if the visual relationships are
obvious and accurate, but if they’re not,
your audience is going to get confused.
They’ll have to examine your work carefully,
going back and forth between the different
parts to make sure they understand.”
@theburningmonk
public ResultType MyCleverMethod(
int firstArg,
string secondArg,
string thirdArg)
{
var localVar =
AnotherCleverMethod(firstArg, secondArg);
if (localVar.IsSomething(
thirdArg, MY_CONSTANT))
{
DoSomething(localVar);
}
return localVar.GetSomething();
}
@theburningmonk
XXXXXX XXXXXXXXXX XXXXXXXXXXXXXX
XXX XXXXXXXX
XXXXXX XXXXXXXXX
XXXXXX XXXXXXXX
XXX XXXXXXXX
XXXXXXXXXXXXXXXXXXX XXXXXXXX XXXXXXXXX
XX XXXXXXXX XXXXXXXXXXX
XXXXXXXX XXXXXXXXXX
XXXXXXXXXXX XXXXXXXX
XXXXXX XXXXXXXX XXXXXXXXXXXX
- Douglas Crockford
“It turns out that style
matters in programming for
the same reason that it
matters in writing.
It makes for better reading.”
@theburningmonk
two competing rules for
structuring code in
C-style languages
@theburningmonk
Compiler
{ }
Human
{ } + whitespace
@theburningmonk
what if…?
@theburningmonk
Compiler
whitespace
Human
whitespace
@theburningmonk
xxx
{
}
xxx {
}
no
braces no
problem
@theburningmonk
There should be one - and preferably only
one - obvious way to do it.
- the Zen of Python
@theburningmonk
let myCleverFunction x y z =
let localVar = anotherCleverFunction x y
if localVar.IsSomething(z, MY_CONSTANT) then
doSomething localVar
localVar.GetSomething()
@theburningmonk
XXX XXXXXXXXXXXXXXXX X X X
XXX XXXXXXXX XXXXXXXXXXXXXXXXXXXX X X
XX XXXXXXXX XXXXXXXXXXX X XXXXXXXXXX XXXX
XXXXXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXXXXXX
@theburningmonk
You should do whatever possible to increase the
productivity of individual programmers in terms of
the expressive power of the code they write. Less
code to do the same thing (and possibly better).
Less programmers to hire. Less organizational
communication costs.
@theburningmonk
Recap
@theburningmonk
|>
@theburningmonk
one way to describe
hierarchy
Lego Naming
@theburningmonk
naming is HARD
- Phil Karlton
“There are only two hard things
in Computer Science: cache
invalidation and naming things.”
- Mike Mahemoff
“Names are the one and only
tool you have to explain what a
variable does in every place it
appears, without having to
scatter comments everywhere.”
@theburningmonk
Lego Naming
Gluing common words together in an
attempt to create meaning.
@theburningmonk
Strategy
Process
Create
Add
Controller
Factory
Proxy
Object
Exception
Enable
Do
Disable
Service
Remove
Check
Get
Set
Update
Validate
@theburningmonk
see http://methodnamer.com
@theburningmonk
this is not naming
@theburningmonk
this is not naming
this is labelling
@theburningmonk
@theburningmonk
@theburningmonk
naming is HARD
@theburningmonk
anonymous functions
aka lambdas
@theburningmonk
fewer things to name
@theburningmonk
words
|> Array.map (fun x -> x.Count)
|> Array.reduce (+)
@theburningmonk
smaller scope
shorter names
@theburningmonk
@theburningmonk
http://bit.ly/1ZpAByu
When x, y, and z are
great variable names
@theburningmonk
"The length of a name should be related to the
length of the scope. You can use very short
variable names for tiny scopes, but for big
scopes you should use longer names.
Variable names like i and j are just fine if their
scope is five lines long."
- Robert C. Martin
@theburningmonk
object expressions
@theburningmonk
enterpriseCrew.OrderBy(
(fun c -> c.Current),
{ new IComparer<Occupation> with
member this.Compare(x, y) =
x.Position.CompareTo(y.Position) })
@theburningmonk
enterpriseCrew.OrderBy(
(fun c -> c.Current),
{ new IComparer<Occupation> with
member this.Compare(x, y) =
x.Position.CompareTo(y.Position) })
@theburningmonk
fewer things to name
@theburningmonk
tuples + pattern matching
@theburningmonk
tuples + pattern matching
fewer abstractions
@theburningmonk
tuples + pattern matching
fewer abstractions
fewer things to name
@theburningmonk
words
|> Seq.groupBy id
|> Seq.map (fun (word, gr) ->
word, Seq.length gr)
|> Seq.iter (fun (word, len) ->
printfn “%s - %s” word len)
@theburningmonk
words
|> Seq.groupBy id
|> Seq.map (fun (word, gr) ->
word, Seq.length gr)
|> Seq.iter (fun (word, len) ->
printfn “%s - %s” word len)
@theburningmonk
words
|> Seq.groupBy id
|> Seq.map (fun (word, gr) ->
word, Seq.length gr)
|> Seq.iter (fun (word, len) ->
printfn “%s - %s” word len)
@theburningmonk
words
|> Seq.groupBy id
|> Seq.map (fun (word, gr) ->
word, Seq.length gr)
|> Seq.iter (fun (word, len) ->
printfn “%s - %s” word len)
@theburningmonk
Lego Naming can also be
the symptom of a failure to
identify the right level of
abstractions.
@theburningmonk
the RIGHT level of
abstraction might be
smaller than “object”
@theburningmonk
public interface ConditionChecker
{
bool CheckCondition();
}
@theburningmonk
public interface Condition
{
bool IsTrue();
}
@theburningmonk
@theburningmonk
type Condition = unit -> bool
source https://vimeo.com/113588389
@theburningmonk
ClassNotFoundException
IllegalArgumentException
IndexOutOfBoundsException
NoSuchMethodException
UnsupportedOperationException
@theburningmonk
ClassNotFound
IllegalArgument
IndexOutOfBounds
NoSuchMethod
UnsupportedOperation
@theburningmonk
ArithmeticException
ArrayStoreException
ClassCastException
InstantiationException
NullPointerException
SecurityException
@theburningmonk
IntegerDivisionByZero
IllegalArrayElementType
CastToNonSubclass
ClassCannotBeInstantiated
NullDereferenced
SecurityViolation
@theburningmonk
lightweight exception syntax
@theburningmonk
open System
open System.IO
exception InsufficientBytes
@theburningmonk
open System
open System.IO
exception InsufficientBytes
what could this type represent?
@theburningmonk
Recap
@theburningmonk
F# < > silver bullet
@theburningmonk
anonymous functions
fewer things to name
@theburningmonk
short names
@theburningmonk
tuple + pattern matching
fewer things to name
@theburningmonk
no abstraction is too small
@theburningmonk
lightweight exception syntax
Underabstraction
@theburningmonk
@theburningmonk
public Result DoSomething(
int a,
string b,
string c,
string d,
DateTime e,
DateTime f,
string g,
MyEnum h)
“If you have a procedure
with ten parameters, you
probably missed some.”
- Alan Perlis
source https://vimeo.com/97507575
@theburningmonk
lightweight syntax for
types and hierarchies
@theburningmonk
record
@theburningmonk
type Employee =
{
FirstName : string
Surname : string
Salary : int<Pound>
}
@theburningmonk
type Employee =
{
FirstName : string
Surname : string
Salary : int<Pound>
}
immutable by default
@theburningmonk
let promote emp raise =
{
emp with Salary <- emp.Salary + raise
}
@theburningmonk
mutable state
complects
value and time
@theburningmonk
type Employee =
{
FirstName : string
Surname : string
Salary : int<Pound>
}
unit-of-measure
@theburningmonk
[<Measure>]
type Pound
e.g. 42<Pound>
153<Pound>
10<Meter> / 2<Second> = 5<Meter/Second>
10<Meter> * 2<Second> = 20<Meter Second>
10<Meter> + 10<Meter> = 20<Meter>
10<Meter> * 10 = 100<Meter>
10<Meter> * 10<Meter> = 100<Meter2>
10<Meter> + 2<Second> // error
10<Meter> + 2 // error
10<Meter> / 2<Second> = 5<Meter/Second>
10<Meter> * 2<Second> = 20<Meter Second>
10<Meter> + 10<Meter> = 20<Meter>
10<Meter> * 10 = 100<Meter>
10<Meter> * 10<Meter> = 100<Meter2>
10<Meter> + 2<Second> // error
10<Meter> + 2 // error
@theburningmonk
discriminated
unions
@theburningmonk
type PaymentMethod =
| Cash
| Cheque of ChequeNumber
| Card of CardType * CardNumber
Unencapsulated
State
@theburningmonk
@theburningmonk
public class RecentlyUsedList
{
private List<string> items = new List<string>();
public List<string> Items
{
get { return items; }
}
…
}
@theburningmonk
immutability
@theburningmonk
type RecentlyUsedList (?items) =
let items = defaultArg items [ ]
member this.Items = Array.ofList items
member this.Count = List.length items
member this.Add newItem =
newItem::(items |> List.filter ((<>) newItem))
|> RecentlyUsedList
@theburningmonk
Affordance
an affordance is a quality of an object, or
an environment, which allows an individual
to perform an action. For example, a knob
affords twisting, and perhaps pushing,
whilst a cord affords pulling.
source https://www.youtube.com/watch?v=aAb7hSCtvGw
@theburningmonk
your abstractions should
afford right behaviour,
whilst make it impossible
to do the wrong thing
@theburningmonk
“Make illegal states unrepresentable”
- Yaron Minsky
@theburningmonk
discriminated
unions
@theburningmonk
type PaymentMethod =
| Cash
| Cheque of ChequeNumber
| Card of CardType * CardNumber
finite, closed set of valid states ONLY
closed hierarchy
no Nulls
@theburningmonk
match paymentMethod with
| Cash -> …
| Cheque chequeNum -> …
| Card (cardType, cardNum) -> …
@theburningmonk
Recap
@theburningmonk
immutability
@theburningmonk
make illegal state
unrepresentable
Getters and
Setters
“When it’s not necessary to change,
it’s necessary to not change.”
- Lucius Cary
“Now we have shortcuts to do the
wrong thing.
We used to have type lots to do the
wrong thing, not anymore.”
- Kevlin Henney
@theburningmonk
immutability by default
@theburningmonk
type Person =
{
Name : string
Age : int
}
@theburningmonk
type Person =
{
mutable Name : string
mutable Age : int
}
@theburningmonk
immutability
Uncohesive
Tests
@theburningmonk
MethodA
MethodB
When_…Then_… ()
When_…Then_… ()
When_…Then_… ()
When_…Then_… ()
When_…Then_… ()
When_…Then_… ()
@theburningmonk
MethodA
MethodB
MethodC
FeatureA
FeatureB
@theburningmonk
complexities & potential
bugs in the way methods
work together
@theburningmonk
…especially when states
are concerned
@theburningmonk
Test Driven Development
“For tests to drive development they
must do more than just test that code
performs its required functionality: they
must clearly express that required
functionality to the reader. That is, they
must be clear specification of the
required functionality.”
- Nat Pryce & Steve Freeman
@theburningmonk
@theburningmonk
how many tests?
@theburningmonk
every test has a cost
@theburningmonk
did we cover all the
edge cases?
@theburningmonk
Property-Based Testing
(with FsCheck)
@theburningmonk
List.rev
reverse + reverse = original
length of list is invariant
append + reverse = reverse + prepend
@theburningmonk
List.rev
property : reverse + reverse = original
let ``reverse + reverse = original`` rev aList =
aList |> rev |> rev = aList
Check.Quick (``reverse + reverse = original`` List.rev)
// Ok, passed 100 tests.
@theburningmonk
List.rev
property : length of list is invariant
let ``length of list is invariant`` rev aList =
List.length (rev aList) = List.length aList
Check.Quick (``length of list is invariant`` List.rev)
// Ok, passed 100 tests.
@theburningmonk
List.rev
property : append + reverse = reverse + prepend
let ``append + reverse = reverse + prepend`` rev x aList =
(aList @ [x]) |> rev = x::(aList |> rev)
Check.Quick (``append + reverse = reverse + prepend``
List.rev)
// Ok, passed 100 tests.
@theburningmonk
Check.Verbose (``append + reverse = reverse + prepend``
List.rev)
//
0: ‘005' []
1: false ["N "]
2: “" [false; '{']
3: ‘017' [true; true; 'W']
4: “" [""; false]
5: “yg]" [“HnOq6"; null; false; false; '#']
6: true [“"]
…
11: <null> ['014'; '0'; “nRH”; "<#oe"; true; false; ‘O']
…
@theburningmonk
shrinking
@theburningmonk
Check.Quick (``append + reverse = reverse + prepend`` id)
// Falsifiable, after 2 tests (4 shrinks) (StdGen
(1855582125,296080469)):
Original:
‘013' ["}k"; ""; “"]
Shrunk:
true [false]
@theburningmonk
let computers do the
grunt work
source : http://bit.ly/1kEpEso
@theburningmonk
Types vs Tests
@theburningmonk
all bugs
@theburningmonk
unknown
known
@theburningmonk
tests
types
@theburningmonk
tests
types
@theburningmonk
unit-testing
distr. systems
system-testing
@theburningmonk
Jepsenproperty-based
unit-testing system-testing
distr. systems
@theburningmonk
Jepsenproperty-based
unit-testing
types as proof TLA+
distr. systems
system-testing
Noisy Code
Visual Dishonesty
Lego Naming
Underabstraction
Unencapsulated State
Getters and Setters
Uncohesive Tests
“Practice does not make perfect.
Only perfect practice makes perfect.”
- Vince Lombardi
“Perfection is not attainable. But if we
chase perfection, we can catch excellence.”
- Vince Lombardi
“Programming languages
have a devious influence:
they shape our thinking
habits.”
- Edsger W. Dijkstra
“One of the most disastrous
thing we can learn is the first
programming language, even
if it's a good programming
language.”
- Alan Kay
“I’m not a great programmer;
I’m just a good programmer
with great habits.”
- Kent Beck
@theburningmonk
what about ineffective
coding habits SOME F#/FP
programmers DO have?
@theburningmonk
@theburningmonk
people are too puritanical about purity
…premature optimization
is the root of all evil. Yet
we should not pass up
our opportunities in that
critical 3%
- Donald Knuth
@theburningmonk
F# Map vs .Net array vs Dictionary
@theburningmonk
@theburningmonk
Explicit is better than implicit.
- the Zen of Python
@theburningmonk
Simple is better than Complex.
Complex is better than Complicated.
- the Zen of Python
@theburningmonk
Special cases aren't special enough to
break the rules.
- the Zen of Python
@theburningmonk
Special cases aren't special enough to
break the rules.
Although practicality beats purity.
- the Zen of Python
@theburningmonk
If the implementation is hard to explain,
it's a bad idea.
- the Zen of Python
@theburningmonk
@theburningmonk
theburningmonk.com
github.com/theburningmonk
@theburningmonk
is hiring :-)
http://tech.just-eat.com/jobs

Weitere ähnliche Inhalte

Was ist angesagt?

Montreal Girl Geeks: Building the Modern Web
Montreal Girl Geeks: Building the Modern WebMontreal Girl Geeks: Building the Modern Web
Montreal Girl Geeks: Building the Modern WebRachel Andrew
 
Impact of Poor Basic Skills: The Employer Perspective
Impact of Poor Basic Skills: The Employer PerspectiveImpact of Poor Basic Skills: The Employer Perspective
Impact of Poor Basic Skills: The Employer PerspectiveIpsos UK
 
10 Ways Your Boss Kills Employee Motivation
10 Ways Your Boss Kills Employee Motivation10 Ways Your Boss Kills Employee Motivation
10 Ways Your Boss Kills Employee MotivationOfficevibe
 
10 Digital Hacks Every Marketer Should Know
10 Digital Hacks Every Marketer Should Know10 Digital Hacks Every Marketer Should Know
10 Digital Hacks Every Marketer Should KnowMark Fidelman
 
100 growth hacks 100 days | 1 to 10
100 growth hacks 100 days | 1 to 10100 growth hacks 100 days | 1 to 10
100 growth hacks 100 days | 1 to 10Robin Yjord
 
The Designer's Guide to Startup Weekend
The Designer's Guide to Startup WeekendThe Designer's Guide to Startup Weekend
The Designer's Guide to Startup WeekendIryna Nezhynska
 
10 Productivity Hacks Backed By Science
10 Productivity Hacks Backed By Science10 Productivity Hacks Backed By Science
10 Productivity Hacks Backed By ScienceWhen I Work
 
Timeless Marketing Wisdom From David Ogilvy
Timeless Marketing Wisdom From David OgilvyTimeless Marketing Wisdom From David Ogilvy
Timeless Marketing Wisdom From David OgilvyHubSpot
 
How to do keyword research in a language you don’t speak, by Lidia Infante
How to do keyword research in a language you don’t speak, by Lidia InfanteHow to do keyword research in a language you don’t speak, by Lidia Infante
How to do keyword research in a language you don’t speak, by Lidia InfanteLidia Infante
 
KIM DEWE - Transitioning into people management (BrightonSEO April 2022)
KIM DEWE - Transitioning into people management (BrightonSEO April 2022)KIM DEWE - Transitioning into people management (BrightonSEO April 2022)
KIM DEWE - Transitioning into people management (BrightonSEO April 2022)Kim Dewe
 
Productivity Facts Every Employee Should Know
Productivity Facts Every Employee Should KnowProductivity Facts Every Employee Should Know
Productivity Facts Every Employee Should KnowRobert Half
 
SMX West: Future-Proof Your Site for Google's Core Algorithm Updates by Lily Ray
SMX West: Future-Proof Your Site for Google's Core Algorithm Updates by Lily RaySMX West: Future-Proof Your Site for Google's Core Algorithm Updates by Lily Ray
SMX West: Future-Proof Your Site for Google's Core Algorithm Updates by Lily RayLily Ray
 
LondonSEO Meetup - Cutting through the noise in SEO with data - Reina Hanada
LondonSEO Meetup - Cutting through the noise in SEO with data - Reina HanadaLondonSEO Meetup - Cutting through the noise in SEO with data - Reina Hanada
LondonSEO Meetup - Cutting through the noise in SEO with data - Reina HanadaReinaHanada1
 
17 Things Powerful People Say
17 Things Powerful People Say17 Things Powerful People Say
17 Things Powerful People SayGetSmarter
 
Introdução a testes de usabilidade - 11º Diverso Design
Introdução a testes de usabilidade - 11º Diverso DesignIntrodução a testes de usabilidade - 11º Diverso Design
Introdução a testes de usabilidade - 11º Diverso DesignTalita Pagani
 
Insane Honesty in Content Marketing
Insane Honesty in Content MarketingInsane Honesty in Content Marketing
Insane Honesty in Content MarketingVelocity Partners
 
Search, Discovery and Questions at Quora
Search, Discovery and Questions at QuoraSearch, Discovery and Questions at Quora
Search, Discovery and Questions at QuoraNikhil Dandekar
 
How to Ace the Product Manager Interview by HubSpot PM
How to Ace the Product Manager Interview by HubSpot PMHow to Ace the Product Manager Interview by HubSpot PM
How to Ace the Product Manager Interview by HubSpot PMProduct School
 
Migration Best Practices - SMX London 2018
Migration Best Practices - SMX London 2018Migration Best Practices - SMX London 2018
Migration Best Practices - SMX London 2018Bastian Grimm
 
Most Valuable SEO Presentation - Advanced Search Summit - DMO Advanced 2021 -...
Most Valuable SEO Presentation - Advanced Search Summit - DMO Advanced 2021 -...Most Valuable SEO Presentation - Advanced Search Summit - DMO Advanced 2021 -...
Most Valuable SEO Presentation - Advanced Search Summit - DMO Advanced 2021 -...Ahrefs
 

Was ist angesagt? (20)

Montreal Girl Geeks: Building the Modern Web
Montreal Girl Geeks: Building the Modern WebMontreal Girl Geeks: Building the Modern Web
Montreal Girl Geeks: Building the Modern Web
 
Impact of Poor Basic Skills: The Employer Perspective
Impact of Poor Basic Skills: The Employer PerspectiveImpact of Poor Basic Skills: The Employer Perspective
Impact of Poor Basic Skills: The Employer Perspective
 
10 Ways Your Boss Kills Employee Motivation
10 Ways Your Boss Kills Employee Motivation10 Ways Your Boss Kills Employee Motivation
10 Ways Your Boss Kills Employee Motivation
 
10 Digital Hacks Every Marketer Should Know
10 Digital Hacks Every Marketer Should Know10 Digital Hacks Every Marketer Should Know
10 Digital Hacks Every Marketer Should Know
 
100 growth hacks 100 days | 1 to 10
100 growth hacks 100 days | 1 to 10100 growth hacks 100 days | 1 to 10
100 growth hacks 100 days | 1 to 10
 
The Designer's Guide to Startup Weekend
The Designer's Guide to Startup WeekendThe Designer's Guide to Startup Weekend
The Designer's Guide to Startup Weekend
 
10 Productivity Hacks Backed By Science
10 Productivity Hacks Backed By Science10 Productivity Hacks Backed By Science
10 Productivity Hacks Backed By Science
 
Timeless Marketing Wisdom From David Ogilvy
Timeless Marketing Wisdom From David OgilvyTimeless Marketing Wisdom From David Ogilvy
Timeless Marketing Wisdom From David Ogilvy
 
How to do keyword research in a language you don’t speak, by Lidia Infante
How to do keyword research in a language you don’t speak, by Lidia InfanteHow to do keyword research in a language you don’t speak, by Lidia Infante
How to do keyword research in a language you don’t speak, by Lidia Infante
 
KIM DEWE - Transitioning into people management (BrightonSEO April 2022)
KIM DEWE - Transitioning into people management (BrightonSEO April 2022)KIM DEWE - Transitioning into people management (BrightonSEO April 2022)
KIM DEWE - Transitioning into people management (BrightonSEO April 2022)
 
Productivity Facts Every Employee Should Know
Productivity Facts Every Employee Should KnowProductivity Facts Every Employee Should Know
Productivity Facts Every Employee Should Know
 
SMX West: Future-Proof Your Site for Google's Core Algorithm Updates by Lily Ray
SMX West: Future-Proof Your Site for Google's Core Algorithm Updates by Lily RaySMX West: Future-Proof Your Site for Google's Core Algorithm Updates by Lily Ray
SMX West: Future-Proof Your Site for Google's Core Algorithm Updates by Lily Ray
 
LondonSEO Meetup - Cutting through the noise in SEO with data - Reina Hanada
LondonSEO Meetup - Cutting through the noise in SEO with data - Reina HanadaLondonSEO Meetup - Cutting through the noise in SEO with data - Reina Hanada
LondonSEO Meetup - Cutting through the noise in SEO with data - Reina Hanada
 
17 Things Powerful People Say
17 Things Powerful People Say17 Things Powerful People Say
17 Things Powerful People Say
 
Introdução a testes de usabilidade - 11º Diverso Design
Introdução a testes de usabilidade - 11º Diverso DesignIntrodução a testes de usabilidade - 11º Diverso Design
Introdução a testes de usabilidade - 11º Diverso Design
 
Insane Honesty in Content Marketing
Insane Honesty in Content MarketingInsane Honesty in Content Marketing
Insane Honesty in Content Marketing
 
Search, Discovery and Questions at Quora
Search, Discovery and Questions at QuoraSearch, Discovery and Questions at Quora
Search, Discovery and Questions at Quora
 
How to Ace the Product Manager Interview by HubSpot PM
How to Ace the Product Manager Interview by HubSpot PMHow to Ace the Product Manager Interview by HubSpot PM
How to Ace the Product Manager Interview by HubSpot PM
 
Migration Best Practices - SMX London 2018
Migration Best Practices - SMX London 2018Migration Best Practices - SMX London 2018
Migration Best Practices - SMX London 2018
 
Most Valuable SEO Presentation - Advanced Search Summit - DMO Advanced 2021 -...
Most Valuable SEO Presentation - Advanced Search Summit - DMO Advanced 2021 -...Most Valuable SEO Presentation - Advanced Search Summit - DMO Advanced 2021 -...
Most Valuable SEO Presentation - Advanced Search Summit - DMO Advanced 2021 -...
 

Andere mochten auch

Andreas Tschas - Pioneers - Building Startup Marketplaces in Europe & Asia - ...
Andreas Tschas - Pioneers - Building Startup Marketplaces in Europe & Asia - ...Andreas Tschas - Pioneers - Building Startup Marketplaces in Europe & Asia - ...
Andreas Tschas - Pioneers - Building Startup Marketplaces in Europe & Asia - ...Burton Lee
 
data science @NYT ; inaugural Data Science Initiative Lecture
data science @NYT ; inaugural Data Science Initiative Lecturedata science @NYT ; inaugural Data Science Initiative Lecture
data science @NYT ; inaugural Data Science Initiative Lecturechris wiggins
 
Pollen VC Building A Digital Lending Business
Pollen VC Building A Digital Lending BusinessPollen VC Building A Digital Lending Business
Pollen VC Building A Digital Lending BusinessPollen VC
 
The Future Of Work & The Work Of The Future
The Future Of Work & The Work Of The FutureThe Future Of Work & The Work Of The Future
The Future Of Work & The Work Of The FutureArturo Pelayo
 

Andere mochten auch (6)

CSS Grid Layout
CSS Grid LayoutCSS Grid Layout
CSS Grid Layout
 
Andreas Tschas - Pioneers - Building Startup Marketplaces in Europe & Asia - ...
Andreas Tschas - Pioneers - Building Startup Marketplaces in Europe & Asia - ...Andreas Tschas - Pioneers - Building Startup Marketplaces in Europe & Asia - ...
Andreas Tschas - Pioneers - Building Startup Marketplaces in Europe & Asia - ...
 
Enabling Autonomy
Enabling AutonomyEnabling Autonomy
Enabling Autonomy
 
data science @NYT ; inaugural Data Science Initiative Lecture
data science @NYT ; inaugural Data Science Initiative Lecturedata science @NYT ; inaugural Data Science Initiative Lecture
data science @NYT ; inaugural Data Science Initiative Lecture
 
Pollen VC Building A Digital Lending Business
Pollen VC Building A Digital Lending BusinessPollen VC Building A Digital Lending Business
Pollen VC Building A Digital Lending Business
 
The Future Of Work & The Work Of The Future
The Future Of Work & The Work Of The FutureThe Future Of Work & The Work Of The Future
The Future Of Work & The Work Of The Future
 

Ähnlich wie 7 ineffective coding habits many F# programmers don't have

Tour of language landscape
Tour of language landscapeTour of language landscape
Tour of language landscapeYan Cui
 
Tour of language landscape
Tour of language landscapeTour of language landscape
Tour of language landscapeYan Cui
 
Understanding others through their communication
Understanding others through their communicationUnderstanding others through their communication
Understanding others through their communicationAngela Belotti
 
RW_LESSON 2_Properties of a Well-Written Text.pptx
RW_LESSON 2_Properties of a Well-Written Text.pptxRW_LESSON 2_Properties of a Well-Written Text.pptx
RW_LESSON 2_Properties of a Well-Written Text.pptxSHELAMIEVALENZUELA1
 
David Dylan Thomas - The Content Strategy of Civil Discourse
David Dylan Thomas - The Content Strategy of Civil DiscourseDavid Dylan Thomas - The Content Strategy of Civil Discourse
David Dylan Thomas - The Content Strategy of Civil DiscourseLavaConConference
 
How To Write An Essay - The Steps To Writing An
How To Write An Essay - The Steps To Writing AnHow To Write An Essay - The Steps To Writing An
How To Write An Essay - The Steps To Writing AnCrystal Sanchez
 
Best College Application Essay Nyu
Best College Application Essay NyuBest College Application Essay Nyu
Best College Application Essay NyuMichele Connors
 
Tour of language landscape (code.talks)
Tour of language landscape (code.talks)Tour of language landscape (code.talks)
Tour of language landscape (code.talks)Yan Cui
 
Self Descriptive Essay.pdf
Self Descriptive Essay.pdfSelf Descriptive Essay.pdf
Self Descriptive Essay.pdfErica Turner
 
Michelle McClendonArgosy University OnlineBUS423 Business .docx
Michelle McClendonArgosy University OnlineBUS423 Business .docxMichelle McClendonArgosy University OnlineBUS423 Business .docx
Michelle McClendonArgosy University OnlineBUS423 Business .docxannandleola
 
Three Laws of Performance4
Three Laws of Performance4Three Laws of Performance4
Three Laws of Performance4Bob Mueller
 
500 Word Essay About Helping Someone Add
500 Word Essay About Helping Someone Add500 Word Essay About Helping Someone Add
500 Word Essay About Helping Someone AddCassandra Sirate
 
Fortunate Life Essay. Online assignment writing service.
Fortunate Life Essay. Online assignment writing service.Fortunate Life Essay. Online assignment writing service.
Fortunate Life Essay. Online assignment writing service.Sandy Rodriguez
 
Us Regents Thematic Essay Format. 2.867 Thematic Essay Us History Regents Exa...
Us Regents Thematic Essay Format. 2.867 Thematic Essay Us History Regents Exa...Us Regents Thematic Essay Format. 2.867 Thematic Essay Us History Regents Exa...
Us Regents Thematic Essay Format. 2.867 Thematic Essay Us History Regents Exa...davih0fytav3
 
Toc evaporating cloud
Toc evaporating cloudToc evaporating cloud
Toc evaporating cloudhenry KKK
 
Toc evaporating cloud
Toc evaporating cloudToc evaporating cloud
Toc evaporating cloudhenry KKK
 
2004 Ap Lit Essay Examples. Online assignment writing service.
2004 Ap Lit Essay Examples. Online assignment writing service.2004 Ap Lit Essay Examples. Online assignment writing service.
2004 Ap Lit Essay Examples. Online assignment writing service.Lakeisha Johnson
 
2004 Ap Lit Essay Examples. Online assignment writing service.
2004 Ap Lit Essay Examples. Online assignment writing service.2004 Ap Lit Essay Examples. Online assignment writing service.
2004 Ap Lit Essay Examples. Online assignment writing service.Tracy Drey
 

Ähnlich wie 7 ineffective coding habits many F# programmers don't have (20)

Tour of language landscape
Tour of language landscapeTour of language landscape
Tour of language landscape
 
Tour of language landscape
Tour of language landscapeTour of language landscape
Tour of language landscape
 
Understanding others through their communication
Understanding others through their communicationUnderstanding others through their communication
Understanding others through their communication
 
RW_LESSON 2_Properties of a Well-Written Text.pptx
RW_LESSON 2_Properties of a Well-Written Text.pptxRW_LESSON 2_Properties of a Well-Written Text.pptx
RW_LESSON 2_Properties of a Well-Written Text.pptx
 
David Dylan Thomas - The Content Strategy of Civil Discourse
David Dylan Thomas - The Content Strategy of Civil DiscourseDavid Dylan Thomas - The Content Strategy of Civil Discourse
David Dylan Thomas - The Content Strategy of Civil Discourse
 
How To Write An Essay - The Steps To Writing An
How To Write An Essay - The Steps To Writing AnHow To Write An Essay - The Steps To Writing An
How To Write An Essay - The Steps To Writing An
 
Best College Application Essay Nyu
Best College Application Essay NyuBest College Application Essay Nyu
Best College Application Essay Nyu
 
Tour of language landscape (code.talks)
Tour of language landscape (code.talks)Tour of language landscape (code.talks)
Tour of language landscape (code.talks)
 
Self Descriptive Essay.pdf
Self Descriptive Essay.pdfSelf Descriptive Essay.pdf
Self Descriptive Essay.pdf
 
Michelle McClendonArgosy University OnlineBUS423 Business .docx
Michelle McClendonArgosy University OnlineBUS423 Business .docxMichelle McClendonArgosy University OnlineBUS423 Business .docx
Michelle McClendonArgosy University OnlineBUS423 Business .docx
 
Three Laws of Performance4
Three Laws of Performance4Three Laws of Performance4
Three Laws of Performance4
 
500 Word Essay About Helping Someone Add
500 Word Essay About Helping Someone Add500 Word Essay About Helping Someone Add
500 Word Essay About Helping Someone Add
 
Fortunate Life Essay. Online assignment writing service.
Fortunate Life Essay. Online assignment writing service.Fortunate Life Essay. Online assignment writing service.
Fortunate Life Essay. Online assignment writing service.
 
Us Regents Thematic Essay Format. 2.867 Thematic Essay Us History Regents Exa...
Us Regents Thematic Essay Format. 2.867 Thematic Essay Us History Regents Exa...Us Regents Thematic Essay Format. 2.867 Thematic Essay Us History Regents Exa...
Us Regents Thematic Essay Format. 2.867 Thematic Essay Us History Regents Exa...
 
Toc evaporating cloud
Toc evaporating cloudToc evaporating cloud
Toc evaporating cloud
 
Toc evaporating cloud
Toc evaporating cloudToc evaporating cloud
Toc evaporating cloud
 
Karlgren
KarlgrenKarlgren
Karlgren
 
Final paper
Final paperFinal paper
Final paper
 
2004 Ap Lit Essay Examples. Online assignment writing service.
2004 Ap Lit Essay Examples. Online assignment writing service.2004 Ap Lit Essay Examples. Online assignment writing service.
2004 Ap Lit Essay Examples. Online assignment writing service.
 
2004 Ap Lit Essay Examples. Online assignment writing service.
2004 Ap Lit Essay Examples. Online assignment writing service.2004 Ap Lit Essay Examples. Online assignment writing service.
2004 Ap Lit Essay Examples. Online assignment writing service.
 

Mehr von Yan Cui

How to win the game of trade-offs
How to win the game of trade-offsHow to win the game of trade-offs
How to win the game of trade-offsYan Cui
 
How to choose the right messaging service
How to choose the right messaging serviceHow to choose the right messaging service
How to choose the right messaging serviceYan Cui
 
How to choose the right messaging service for your workload
How to choose the right messaging service for your workloadHow to choose the right messaging service for your workload
How to choose the right messaging service for your workloadYan Cui
 
Patterns and practices for building resilient serverless applications.pdf
Patterns and practices for building resilient serverless applications.pdfPatterns and practices for building resilient serverless applications.pdf
Patterns and practices for building resilient serverless applications.pdfYan Cui
 
Lambda and DynamoDB best practices
Lambda and DynamoDB best practicesLambda and DynamoDB best practices
Lambda and DynamoDB best practicesYan Cui
 
Lessons from running AppSync in prod
Lessons from running AppSync in prodLessons from running AppSync in prod
Lessons from running AppSync in prodYan Cui
 
Serverless observability - a hero's perspective
Serverless observability - a hero's perspectiveServerless observability - a hero's perspective
Serverless observability - a hero's perspectiveYan Cui
 
How to ship customer value faster with step functions
How to ship customer value faster with step functionsHow to ship customer value faster with step functions
How to ship customer value faster with step functionsYan Cui
 
How serverless changes the cost paradigm
How serverless changes the cost paradigmHow serverless changes the cost paradigm
How serverless changes the cost paradigmYan Cui
 
Why your next serverless project should use AWS AppSync
Why your next serverless project should use AWS AppSyncWhy your next serverless project should use AWS AppSync
Why your next serverless project should use AWS AppSyncYan Cui
 
Build social network in 4 weeks
Build social network in 4 weeksBuild social network in 4 weeks
Build social network in 4 weeksYan Cui
 
Patterns and practices for building resilient serverless applications
Patterns and practices for building resilient serverless applicationsPatterns and practices for building resilient serverless applications
Patterns and practices for building resilient serverless applicationsYan Cui
 
How to bring chaos engineering to serverless
How to bring chaos engineering to serverlessHow to bring chaos engineering to serverless
How to bring chaos engineering to serverlessYan Cui
 
Migrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 stepsMigrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 stepsYan Cui
 
Building a social network in under 4 weeks with Serverless and GraphQL
Building a social network in under 4 weeks with Serverless and GraphQLBuilding a social network in under 4 weeks with Serverless and GraphQL
Building a social network in under 4 weeks with Serverless and GraphQLYan Cui
 
FinDev as a business advantage in the post covid19 economy
FinDev as a business advantage in the post covid19 economyFinDev as a business advantage in the post covid19 economy
FinDev as a business advantage in the post covid19 economyYan Cui
 
How to improve lambda cold starts
How to improve lambda cold startsHow to improve lambda cold starts
How to improve lambda cold startsYan Cui
 
What can you do with lambda in 2020
What can you do with lambda in 2020What can you do with lambda in 2020
What can you do with lambda in 2020Yan Cui
 
A chaos experiment a day, keeping the outage away
A chaos experiment a day, keeping the outage awayA chaos experiment a day, keeping the outage away
A chaos experiment a day, keeping the outage awayYan Cui
 
How to debug slow lambda response times
How to debug slow lambda response timesHow to debug slow lambda response times
How to debug slow lambda response timesYan Cui
 

Mehr von Yan Cui (20)

How to win the game of trade-offs
How to win the game of trade-offsHow to win the game of trade-offs
How to win the game of trade-offs
 
How to choose the right messaging service
How to choose the right messaging serviceHow to choose the right messaging service
How to choose the right messaging service
 
How to choose the right messaging service for your workload
How to choose the right messaging service for your workloadHow to choose the right messaging service for your workload
How to choose the right messaging service for your workload
 
Patterns and practices for building resilient serverless applications.pdf
Patterns and practices for building resilient serverless applications.pdfPatterns and practices for building resilient serverless applications.pdf
Patterns and practices for building resilient serverless applications.pdf
 
Lambda and DynamoDB best practices
Lambda and DynamoDB best practicesLambda and DynamoDB best practices
Lambda and DynamoDB best practices
 
Lessons from running AppSync in prod
Lessons from running AppSync in prodLessons from running AppSync in prod
Lessons from running AppSync in prod
 
Serverless observability - a hero's perspective
Serverless observability - a hero's perspectiveServerless observability - a hero's perspective
Serverless observability - a hero's perspective
 
How to ship customer value faster with step functions
How to ship customer value faster with step functionsHow to ship customer value faster with step functions
How to ship customer value faster with step functions
 
How serverless changes the cost paradigm
How serverless changes the cost paradigmHow serverless changes the cost paradigm
How serverless changes the cost paradigm
 
Why your next serverless project should use AWS AppSync
Why your next serverless project should use AWS AppSyncWhy your next serverless project should use AWS AppSync
Why your next serverless project should use AWS AppSync
 
Build social network in 4 weeks
Build social network in 4 weeksBuild social network in 4 weeks
Build social network in 4 weeks
 
Patterns and practices for building resilient serverless applications
Patterns and practices for building resilient serverless applicationsPatterns and practices for building resilient serverless applications
Patterns and practices for building resilient serverless applications
 
How to bring chaos engineering to serverless
How to bring chaos engineering to serverlessHow to bring chaos engineering to serverless
How to bring chaos engineering to serverless
 
Migrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 stepsMigrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 steps
 
Building a social network in under 4 weeks with Serverless and GraphQL
Building a social network in under 4 weeks with Serverless and GraphQLBuilding a social network in under 4 weeks with Serverless and GraphQL
Building a social network in under 4 weeks with Serverless and GraphQL
 
FinDev as a business advantage in the post covid19 economy
FinDev as a business advantage in the post covid19 economyFinDev as a business advantage in the post covid19 economy
FinDev as a business advantage in the post covid19 economy
 
How to improve lambda cold starts
How to improve lambda cold startsHow to improve lambda cold starts
How to improve lambda cold starts
 
What can you do with lambda in 2020
What can you do with lambda in 2020What can you do with lambda in 2020
What can you do with lambda in 2020
 
A chaos experiment a day, keeping the outage away
A chaos experiment a day, keeping the outage awayA chaos experiment a day, keeping the outage away
A chaos experiment a day, keeping the outage away
 
How to debug slow lambda response times
How to debug slow lambda response timesHow to debug slow lambda response times
How to debug slow lambda response times
 

Kürzlich hochgeladen

March 2024 - Top 10 Read Articles in Artificial Intelligence and Applications...
March 2024 - Top 10 Read Articles in Artificial Intelligence and Applications...March 2024 - Top 10 Read Articles in Artificial Intelligence and Applications...
March 2024 - Top 10 Read Articles in Artificial Intelligence and Applications...gerogepatton
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsResearcher Researcher
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptxmohitesoham12
 
Structural Integrity Assessment Standards in Nigeria by Engr Nimot Muili
Structural Integrity Assessment Standards in Nigeria by Engr Nimot MuiliStructural Integrity Assessment Standards in Nigeria by Engr Nimot Muili
Structural Integrity Assessment Standards in Nigeria by Engr Nimot MuiliNimot Muili
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionSneha Padhiar
 
Introduction to Artificial Intelligence: Intelligent Agents, State Space Sear...
Introduction to Artificial Intelligence: Intelligent Agents, State Space Sear...Introduction to Artificial Intelligence: Intelligent Agents, State Space Sear...
Introduction to Artificial Intelligence: Intelligent Agents, State Space Sear...shreenathji26
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxStephen Sitton
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communicationpanditadesh123
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfManish Kumar
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Communityprachaibot
 
AntColonyOptimizationManetNetworkAODV.pptx
AntColonyOptimizationManetNetworkAODV.pptxAntColonyOptimizationManetNetworkAODV.pptx
AntColonyOptimizationManetNetworkAODV.pptxLina Kadam
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfBalamuruganV28
 
tourism-management-srs_compress-software-engineering.pdf
tourism-management-srs_compress-software-engineering.pdftourism-management-srs_compress-software-engineering.pdf
tourism-management-srs_compress-software-engineering.pdfchess188chess188
 
Javier_Fernandez_CARS_workshop_presentation.pptx
Javier_Fernandez_CARS_workshop_presentation.pptxJavier_Fernandez_CARS_workshop_presentation.pptx
Javier_Fernandez_CARS_workshop_presentation.pptxJavier Fernández Muñoz
 
Uk-NO1 Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Exp...
Uk-NO1 Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Exp...Uk-NO1 Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Exp...
Uk-NO1 Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Exp...Amil baba
 
priority interrupt computer organization
priority interrupt computer organizationpriority interrupt computer organization
priority interrupt computer organizationchnrketan
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfDrew Moseley
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Sumanth A
 

Kürzlich hochgeladen (20)

March 2024 - Top 10 Read Articles in Artificial Intelligence and Applications...
March 2024 - Top 10 Read Articles in Artificial Intelligence and Applications...March 2024 - Top 10 Read Articles in Artificial Intelligence and Applications...
March 2024 - Top 10 Read Articles in Artificial Intelligence and Applications...
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending Actuators
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptx
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
Structural Integrity Assessment Standards in Nigeria by Engr Nimot Muili
Structural Integrity Assessment Standards in Nigeria by Engr Nimot MuiliStructural Integrity Assessment Standards in Nigeria by Engr Nimot Muili
Structural Integrity Assessment Standards in Nigeria by Engr Nimot Muili
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based question
 
Introduction to Artificial Intelligence: Intelligent Agents, State Space Sear...
Introduction to Artificial Intelligence: Intelligent Agents, State Space Sear...Introduction to Artificial Intelligence: Intelligent Agents, State Space Sear...
Introduction to Artificial Intelligence: Intelligent Agents, State Space Sear...
 
Versatile Engineering Construction Firms
Versatile Engineering Construction FirmsVersatile Engineering Construction Firms
Versatile Engineering Construction Firms
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptx
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communication
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Community
 
AntColonyOptimizationManetNetworkAODV.pptx
AntColonyOptimizationManetNetworkAODV.pptxAntColonyOptimizationManetNetworkAODV.pptx
AntColonyOptimizationManetNetworkAODV.pptx
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdf
 
tourism-management-srs_compress-software-engineering.pdf
tourism-management-srs_compress-software-engineering.pdftourism-management-srs_compress-software-engineering.pdf
tourism-management-srs_compress-software-engineering.pdf
 
Javier_Fernandez_CARS_workshop_presentation.pptx
Javier_Fernandez_CARS_workshop_presentation.pptxJavier_Fernandez_CARS_workshop_presentation.pptx
Javier_Fernandez_CARS_workshop_presentation.pptx
 
Uk-NO1 Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Exp...
Uk-NO1 Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Exp...Uk-NO1 Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Exp...
Uk-NO1 Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Exp...
 
priority interrupt computer organization
priority interrupt computer organizationpriority interrupt computer organization
priority interrupt computer organization
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdf
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
 

7 ineffective coding habits many F# programmers don't have