V32 Tricks of the Trade Ein persnlicher Einblick in die - - PowerPoint PPT Presentation

v32 tricks of the trade
SMART_READER_LITE
LIVE PREVIEW

V32 Tricks of the Trade Ein persnlicher Einblick in die - - PowerPoint PPT Presentation

V32 Tricks of the Trade Ein persnlicher Einblick in die Werkzeugkiste eines Entwicklers Hardy Ferentschik A look into my toolbox hardy.ferentschik@redhat.com About me Currently part of the Hibernate Team w/ focus on Validator and Search


slide-1
SLIDE 1

Tricks of the Trade

Ein persönlicher Einblick in die Werkzeugkiste eines Entwicklers

Hardy Ferentschik V32

slide-2
SLIDE 2
slide-3
SLIDE 3

A look into my toolbox

hardy.ferentschik@redhat.com

slide-4
SLIDE 4

About me

  • Currently part of the Hibernate Team w/ focus on Validator and Search
  • Over ten years experience in software development

! Worked for small (10), medium (100) and big (3000+) companies ! Have been everything from Team Lead to System Administrator ! Developed in C++, Perl, Ruby, ... and of course Java

  • Software Craftsman
slide-5
SLIDE 5
slide-6
SLIDE 6
slide-7
SLIDE 7

Need to understand our tools and ourselves!

slide-8
SLIDE 8

Dreyfus Model

Competent Proficient Expert Advanced Beginner Novice 10 years

slide-9
SLIDE 9

Practice Practice Practice

slide-10
SLIDE 10

Be a specialist!

slide-11
SLIDE 11

Know the basics

slide-12
SLIDE 12

Resurrect deleted files

svn delete foo.txt svn commit -m "delete foo" svn log -v svn copy svn://localhost/test/foot.txt@336 ./foo.txt git rm foo.txt git commit -m "delete foo" git rev-list -n 1 HEAD -- foo.txt git checkout b193eecf895e45b4f875eb4e6030f2c2e9fac897^ -- foo.txt

slide-13
SLIDE 13
slide-14
SLIDE 14
slide-15
SLIDE 15
slide-16
SLIDE 16

Be a generalist!

slide-17
SLIDE 17

Know your bash ;-)

slide-18
SLIDE 18

If I had to choose ...

find grep sed

slide-19
SLIDE 19

Find all jar files in your JBoss installation containing a given class

Problem

slide-20
SLIDE 20

for i in `find . -name "*.jar"`; do count=$(jar -tvf $i | grep -c "MyClass") ; if [ "$count" -gt "0" ]; then echo "Match in $i" ; fi; done

Possible solution

  • or use JBoss Tattletale :-)

function findClass() { for i in `find $1 -name "*.jar"`; do count=$(jar -tvf $i | grep -c "$2") ; if [ "$count" -gt "0" ]; then echo "Match in $i" ; fi; done }

slide-21
SLIDE 21

Keep solutions log!

  • Text files
  • Wiki
slide-22
SLIDE 22

On the shoulders of giants

  • refcardz.dzone.com
  • stackoverflow.com
  • JavaSpecialists
  • JUGs
  • JUDCon (next 7/8 of October, Berlin)
  • Create a Mastermind Group
slide-23
SLIDE 23
slide-24
SLIDE 24 April 2010

! "#$%&'&()*+,-,.

Prepared by the ThoughtWorks Technical Advisory Board
slide-25
SLIDE 25

Learn to unlearn

  • “Just” reading is not enough
  • Need to form your own judgements by experimenting and

building throw away code ! Singleton pattern - good or evil !? ! svn vs. git ! Coding Katas

slide-26
SLIDE 26

From Novice to Expert

Competent Proficient Expert Advanced Beginner Novice Relevant Focus Considers Everything Intuition Rules Part of System Detached Observer

slide-27
SLIDE 27

L + R modes

CPU #1 linear, slow non-linear, fast shared bus

slide-28
SLIDE 28

L and R characteristics

  • Verbal
  • Analytic
  • Symbolic
  • Abstract
  • Rational
  • Logical

L

  • Non-verbal
  • Synthetic
  • Concrete
  • Analogic
  • Non-rational
  • Intuitive

R

slide-29
SLIDE 29
  • Pen and notepad
  • Mindmaps
  • Remember the Milk

Capture insight 24x7

slide-30
SLIDE 30

Feed the R mode

  • Try to find and use metaphors
  • Free-Form Journaling

! Write Drunk, Revise Sober ! Morning Pages Technique ! Fieldstone method

  • Change your routines

! Change your neural wiring

  • Go for a walk!
slide-31
SLIDE 31

Friedrich August Kekule

Benzene

slide-32
SLIDE 32

Thomas Edison

slide-33
SLIDE 33

Q + A

slide-34
SLIDE 34

Want to know more?

  • Pragmatic Thinking & Learning, Andy Hunt
  • Practices of an Agile Developer, Venkat Subramaniam
  • My Job Went to India, Chad Fowler
  • Software Craftsmanship, Pete McBreen

hardy.ferentschik@redhat.com

slide-35
SLIDE 35

Links

  • https://hudson.dev.java.net
  • http://nexus.sonatype.org
  • http://www.sonarsource.org
  • http://refcardz.dzone.com
  • http://stackoverflow.com
  • http://www.javaspecialists.eu
  • http://www.mindnode.com
  • https://www.rememberthemilk.com
  • http://www.thoughtworks.com/radar

hardy.ferentschik@redhat.com