Presentation av Hardy Ferentschik på Javaforum

No Gravatar

This talks is a personal view on tools, resources and techniques which can help you becoming a better developer. Hardy explains what ideas from books like “My Job Went to India” (Chad Fowler), “The Pragmatic Programmer” (Andrew Hunt) and “Pragmattic Thinking and Learning” (Andrew Hunt) mean to him and how he tries to become a better developer every day by applying some of these ideas. Becoming a better developer, however, requires also to understand our own software better. Only if we understand ourselves we are able to learn effectively and tap into otherwise dormant resources. In this context the Dreyfus model of skill acquisition is explained as well as the different operational modes of our brain (linear vs rich).

Personal kaizen

PyDev: Pythonutvecklingsmiljö

PythonPyDev är baserad på Eclipse, funkar väldigt bra för det jag gör, vilket i princip är att försöka jobba på samma sätt med Python-kod som med Java (TDD-ish = få ut kod i jämnt flöde och refactor för att få det fint).

Vid dagens diskussioner kring tools och miljöer på GothPyCon ][ så gjorde jag följande anteckningar (“konferensen” hölls på engelska) över features jag förväntar mig i en IDE:

  • graphical, remote debugging
  • virtual environments
  • syntax highlighting
  • unit test integration with coverage
  • auto completion
  • indentation
  • inline documentation
  • refactoring
  • easy navigation

Allt detta – förutom debugging – demonstreras i en fem-minuters demo på PyDevs hemsida, ihop med de tangentbindningar som är “speciella” för PyDev:

Shift+Alt+n
Shift+Enter
Ctrl+2, r
Shift+Alt+a
Ctrl+F9
F12
Ctrl+F11
Ctrl+Alt+l
Shift+Ctrl+Alt+m
Ctrl+Alt+↓↑
Alt+↓↑
alt+→

Verktyg för att visualisera ett Mercurial-repo

No Gravatar

hgview är ett trevligt verktyg för att visualisera historiken i ett Mercurial-repository. Verktyget är grafiskt och presenterar changesets i en riktad acyklisk graf på ett tydligt sätt.

För att få en grafisk och samtidigt enkel översikt över sina ändringar i repot kan man använda qct.Det är enkelt att se och välja vilka filer som ska committas och vilka ändringar som gjorts i varje fil.

Båda finns för Ubuntu och startas enkelt från kommandoprompten i det aktuella repot utan konfiguration!

Presentation om kodgranskning – i en agil miljö av Mattias Jiderhamn

No Gravatar

I det här föredraget får du lära dig vad kodgranskning är, varför du skall granska kod, hur du mest effektivt granskar kod, hur kodgranskning passar in i en agil utvecklingscykel etc. Ett verktyg för kodgranskning kommer demonstreras och talaren kommer dela med sig av sina egna erfarenheter och tips.

Presentation om Invoke dynamic & dynamiska språk på JVM:en av Borggrén-Franck, Oracle

No Gravatar

Vilka problem har man historiskt sett haft med att kompilera dynamiska språk till Java bytekod? Vad fanns för work-arounds? Vilka andra roliga saker kan man göra själv med Invokedynamic?

Även om du bara har en vag bild på vad en bytekod överhuvudtaget är och varför du skall bry dig om en ny sådan så är det här en presentation som kommer att fördjupa din förståelse av Java på riktigt låg nivå.

Presentation om Java 7 av Mikael Vidstedt, Oracle

No Gravatar

Presentation från Javaforum 2011Q3 av Mikael Vidstedt från Oracle

Java 7 har nyss släppts publikt. Vad innehåller den? Vad betyder det för dig? Vilka saker borde du titta extra på? Coin kommer inte att revolutionera din kod, men det kommer att göra den mer kompakt och bugresistent. Invokedynamic är en revolution, för de som är språkastronauter. Det som troligen är värt störst del av din tid är det nya fork/join-ramverket.

Presentation om testdriven JavaScript-utveckling

Igår talade jag på JavaForum om tre verktyg (JsTestDriver, JsHamcrest, JsMockito) som möjliggör en godkänt komfortabel miljö för testdriven utveckling av JavaScript-kod. Jag har slangat upp presentationen på SlideShare och koden som det refereras till finns på GitHub.

Jag skulle kanske tryckt lite mer på att det i min mening inte lämpar sig för end-to-end-tester, typ ATDD eller BDD – där är fortfarande något som har Selenium i botten kung (om man gör det rätt).

Java störst under 2011 enligt Ohloh

I denna mätning, som baserar sig på de repositorier som Ohloh bevakar, är Java det mest committade språket. Vet inte om justering görs pga dess pratighet också? Mätvärdena är relativa (procent), hade varit kul att se om C-kodsbidrag faktiskt gått ner, eller om det bara är de andra som ökat (och därmed tar större del av kakan).

Data från Ohloh

Data från Ohloh

Git-kurs

Git LogoJag har idag hållt en liten kurs (3 timmar) som introducerat utvecklare till Git och distribuerad versionshantering. Deltagarna jobbar dagligen i Windows och Visual Studio och trots att det inte är min dagliga hemvisst så flöt allt på bra, Git Extensions fungerade fint t ex och ingen av deltagarna fastnade på nyckelhantering eller andra “vanliga” uppstartsproblem.

Följande ämnen hanterades:

  • Grunderna: Vad är versionshantering egentligen? Vad är skillnaden mellan centraliserad och decentraliserad versionshantering? Vad är speciellt för Git?
  • Versionshanteringens bitar: blob, tree, commit, tag, branch. Repo, index, staging area och arbetsmapp
  • Installation, grundkonfigurering
  • Vardagsarbetet: commit, branch, merge, push & pull, clone & init
  • Server och dela kod via SSH, GitHub, Gitorous.

Kursen är i huvudsak praktisk och inriktad på att få den som redan jobbat med centraliserad versionshanteringssystem, såsom CVS, Subversion och Microsofts SourceSafe, att komma igång.

Det finns fler ämnen att hantera – de som ingick i kursen ger basen för det dagliga arbetet och troligen behöver man inte någonsin lära sig mer om man inte är intresserad.