Utvecklingsstack – för Java

Jag har funderat lite på vilken stack jag föredrar och nu såhär sent på kvällen skriver jag ihop:

  • JIRA
  • DokuWiki
  • Hudson
  • Sonar
  • Nexus / Archiva
  • Git

Egentligen behövs två kategorier: en fri (gratis) och en betalvariant. Tanken väcktes av att jag såg Markus M. May paketera sin favoritstack för ArchLinux (tidigare Ubuntu, men gav upp detta). Det händer ju ett par gånger om året att just detta behöver sättas upp för ett projekt – att ha en färdig “blob” att bara slänga igång hade ju inte varit fel. Kanske en Xen image (Gandi hosting om man inte vill köra AMI/Amazon) eller bara en stor zip klar att sparkas igång med ett bash-script, …

Projekt- och ärendehantering

JIRA – en klassiker som fungerar även i större sammanhang. Kan knytas in till confluence. Projekt, komponenter, milstolpar, olika flöden, watchers, voters, rapporter, ärende-relationer, … Icke-gratis och icke-fri.

Mingle är en vacker produkt som jag inte är övertygad vara värd sin kostnad. Mest web 2.0-ig av alla och mest planeringsvänlig (dra-och-släpp med bäst översikt av tillgängligt material). Icke-gratis och icke-fri.

VersionOne – otestad.

BugZilla – klassiker som är för enkel för min smak.

RedMine – tyvärr otestad ruby-historia som ser kompetent ut på pappret. Verkar sakna ärende-relationer såsom liknar, ersätter, beror på, …

Trac – ärendehanteringen i trac är kass och för enkel.

Wiki

DokuWiki – enklast, snabbast, smidigast, rättframmast. Gör jobbet och det är trevligt att jobba med.

Trac – wikin i Trac fungerar ok. Trevligt när man kan länka till kod så lätt.

MediaWiki – no no.

Confluence – hat-kärlek. Ingen redigering av stycken, editorn buggig och saknar en hel del av TinyMCE:s “kraft”.

Källkodrepositorie

Git – har inte varit fri från strul, och strulet har inte varit helt idiotsäkert att fixa till. Men distribuerat, snabbt och enkelt att komma igång.

Mercurial (hg) – otestat, skall kunna mäta sig med git och till och med vara “finare” i vissa avseenden, t ex hur lång livslängden på en branch är.

SVN, CVS – klassiker som trots allt fungerar ganska långt för mindre team.

Mavenbibliotek

Archiva – trotjänare som trots allt fungerat stabilt under långa perioder. En aning gammalmodig med lösenordspenalism t ex.

Nexus – otestad, men vacker i publika installationer och på pappret. Mindre minnesavtryck (memory footprint) är ju inte fel.

Bygg- och CI-motor

Hudson – en klar favorit.

Continuum, Cruise Control – är lite samma sak för mig: en hög XML och inget som inte Hudson har. (Var länge sedan jag körde dessa dock.)

Övriga verktyg

Sonar – alla rapporter som kan genereras automatiskt bör genereras. När man får upp farten gäller det att hålla kurs så man inte hamnar i dolda teknisk skuld-fällor.

Offentlig öppen data – ISBN till titel via Libris

Jag har länge sökt efter en tjänst där man kan slå upp ett ISBN och få tillbaka en titel. Se t ex http://wendt.se/isbn/ där jag visar en del av min bokhylla (de tekniska böckerna).

Idag stötte jag på (via twitter) opengov.se – en sajt som listar offentliga datakällor, samt kontrollerar vilka format de exporterar data i, och hur fira/öppna de är helt enkelt. En positiv nyhet ur den lista, där just nu endast 9 % av datan är fri och öppen, är Libris. Med en så enkel URL som http://libris.kb.se/xsearch?format=json&query=ISXN:9144001533 får jag tillbaka precis den information jag behöver. Ingen registrering krävs, inga konstiga, obskyra (se SMHI) och/eller inlåsta format. Dessutom är det väl dokumenterat.

Enligt mail från 2009-09-14 kommer 71 % av SMHI:s intäkter från offentlig sektor. Intressant.

Riksdagen strömmar

Jag visste inte att man kunde få tag på en video-ström publikt från riksdagen: mms://streaming1.riksdagen.se/riksdagen1

Riksdagsströmmen
Riksdagsströmmen

Tyvärr är den dock inlåst och bygger på proprietär teknik:

MMS is a proprietary protocol invented by Microsoft and used in their Microsoft Media Services product line. It is used for streaming video and audio over the Internet. MMS is popular due to the widespread availability of the Windows Media Player client, which is included in all Windows installations.

http://www.intinor.se/mms/MMS_streaming_protocol

debootstrap

Det mest har jag plockat rakt av från http://paste.lisp.org/display/59031.

Idag har jag dock kollat in http://d-i.alioth.debian.org/manual/en.i386/apds03.html då jag försöker få till en lättare installation som bara drar igång en browser när X startar.

Observera att det är skillnader mellan Debian och Ubuntu, t ex console-data vs console-setup. Ubuntu-info: http://www.cs278.org/blog/ubuntu-configuration/feisty-debootstrap-encrypted-install/

debootstrap hardy /mnt/ http://se.archive.ubuntu.com/ubuntu/
cp /etc/hosts /mnt/etc/
cp /etc/network/interfaces /mnt/etc/network/
cp /etc/bash.bashrc /mnt/etc/

mount --bind /dev /mnt/dev
mount -t proc proc /mnt/proc
mount -t sysfs sysfs /mnt/sys
LANG=C chroot /mnt

aptitude update
aptitude install locales console-data
dpkg-reconfigure locales console-data
# localedef -f UTF-8 -i sv_SE sv_SE.UTF-8
# cp /usr/share/zoneinfo/Europe/Stockholm /etc/localtime

# sed -i 's/main/& universe multiverse restricted/' /etc/apt/sources.list
apt-get update
apt-get dist-upgrade

passwd
adduser ceda
addgroup admin
adduser ceda admin
echo "%admin ALL=(ALL) ALL" >> /etc/sudoers 

FSTAB!

apt-get install linux-image-server grub
mkdir /boot/grub
update-grub -y
update-initramfs -u
exit

echo "(hd0) /dev/sdb" > /boot/grub/device.map # alltså ej i target
grub-install --root-directory=/mnt --no-floppy /dev/sdb

umount /mnt/dev/
umount /mnt/proc/
umount /mnt/sys
umount /mnt/