1. Maven 2 – Proxy

    För ett år sedan letade jag för fullt efter ett program som skulle hjälpa mig att sätta upp en lokal Maven 2 proxy. En Maven 2 proxy bör köras på en dator inom intranätet för att säkra tillgången till nödvändiga jar-filer samt fungera som en plats att internt distribuera inköpta bibliotek och egenutvecklade projekt. Detta visade sig tyvärr vara alltifrån lätt. I slutändan gav jag upp försöket att migrera mitt projekt till Maven 2, till stor del för att det var så krångligt med det interna repositoryt. Men det var för ett år sedan.

    Igår fick jag anledning att på nytt kolla läget på proxy-fronten, och till min glädje finns det nu ett flertal projekt igång som utvecklar proxy-programvaror just för Maven 2.

    Den första jag kikade på var Maven Archiva som just nu finns tillgänglig i version 1.0 Beta 1. Tankade genast ner denna, packade upp och körde igång den bundlade jetty-containern. Man behöver alltså inte ens ha en installerad webcontainer för att köra sitt eget Maven 2 repository! Dock hade jag vissa problem med konfigurationen av användare och fick inte riktigt till så att den tillät anonym read-access. Archiva klarar säkert av detta, men just då ville det sig inte för mig.

    Lite otålig så provade jag nästa programvara på tur, Artifactory (version 1.2.2). Lika enkelt att få igång, den har också sin egen bundlade jetty-container, bara att starta den med bat/sh-skriptet. Nästa steg var att peka om Artifactory mot min web-proxy för access till central-repositoryt samt konfigurera min lokala Maven 2-installation att använda Artifactory’s repository istället för central-repositoryt. Nästa steg? Finns inget nästa steg, för det fungerar!

    Varje gång Maven 2 frågar Artifactory efter en jar-fil så kollar den i sin lokala cache, finns den inte där så laddas den automatiskt ner från repo1.maven.org och lagras i cachen. Har man proprietära jar-filer så kan man ladda upp dem till Artifactory i det medföljande webbgränssnittet så finns de direkt tillgängliga för alla med access till Artifactory (lämpligtvis resten av utvecklarna i ditt projekt). I webbgränssnittet kan man söka och bläddra efter allt som finns lagrat i cachen samt administrera användare.

    Det finns bra dokumentation på Artifactory’s hemsida, men följande guide (SettingUpMavenRepository) kan också vara till hjälp.

    Jag menar inte här att Artifactory är den bästa Maven 2-proxyn som finns då jag bara hunnit testa två stycken än så länge. Dock fungerar den tillräckligt bra för mig och det räcker just nu.

    Proximity är en annan Maven proxy, men den är ännu inte helt färdig utan bara släppt i en Release Candidate 8.

  2. Red Hat Developer Studio (beta 1)

    RedHat har nyligen släppt en första beta på deras Eclipse-baserade utvecklingsverktyg som är förkonfigurerat för JBoss Enterprise Middleware och RedHat Enterprise Linux. Det hela påminner lite om att ladda hem och installera NetBeans med bundlad Glassfish. Vid installation så installerar den en lokal JBoss Application Server 4.2 som är förkonfigurerad i RedHat Developer Studio. När du ska skapa ett nytt projekt så hittar du projektmallar för JBoss Seam, Spring, JPA och annat (se bilden nedanför). Allt sånt vi behöver finns alltså klart och färdiginstallerat från början.

    RedHat Developer Studio - Projektmallar

    I princip så är RHDS samma sak som Eclipse + JBoss IDE + Spring IDE, fast lite snyggare paketerat. För att vara en första beta så får man ändå säga att de kommit ganska långt, betydligt längre än vad t.ex. en ”ren” Eclipse med WTP 2.0 (eller något annat gratis plugin för EJB 3 stöd) har kommit. Antagligen beror detta på att det hela är paketerat med en applikationsserver förkonfigurerad, samt att det finns färdiga, fungerande (nåja.. de kommer nog fungera allihop i denna skarpa versionen) projekt-mallar för de vanligaste typerna av webb-projekt (EJB 2.x & 3, Seam, Spring, Hibernate o.s.v.). Att jobba i RHDS i denna betan är lite skakigt, GUIt kan frysa lite titt som tätt, och att försöka få upp en ”Tooltol Description” (F2) eller använda andra vanliga funktioner fungerar inte riktigt. Antar att detta löser sig med tiden, så jag ser fram emot nästa beta då förhoppningsvis de mest störande buggarna är borta.

    Även om jag alltid varit lite skeptisk till användarvänligheten i Eclipse så måste jag nog säga att detta är ett steg i rätt riktning. Det jag saknar nu är att de också slänger med plugins för de vanligaste versionshanteringssystemen (något som finns med från början i NetBeans och IntelliJ) samt en vettig konfigurering av kortkommandon (Alt-Shift-X, R är inte ett kortkommando) så jag inte behöver känna det som att jag sitter i Emacs igen när jag vill utföra något. Det är något som Eclipse-utvecklarna borde tänka mer på. Man ska inte behöva använda musen för att styra sitt IDE, det är dålig s.k. usability.

    Hursomhelst, RedHat Developer Studio ser väldigt lovande ut och jag rekommenderar er att testa det om ni jobbar med JBoss-produkter. Om det är så att ni redan använder NetBeans eller IntelliJ IDEA så kommer ni nog känna att det är en bit kvar, men det är i vilket fall betydligt bättre än en gamla vanliga Eclipse där du själv måste installera alla plugins och konfigurera applikationsservrar.

    Ni kan ladda ner det hela och läsa mer om det på http://www.redhat.com/developers/rhds/index.html.

  3. UnxUtils hottar upp cmd.exe

    Jag har testat flera alternativ och komplement till Cygwin, bl.a. SFU och MinGW, men aldrig varit riktigt nöjd av olika anledningar. Igår installerade jag UnxUtils som du kan hitta på Sourceforge. Här har man portat en del vanliga Unix-kommandon till Windows så att de bara beror på Microsoft C-runtime. Kommandona exekveras alltså i ett vanligt kommandofönster (cmd.exe). Hittills har det funkat bra.

    Jag kommer fortfarande ha kvar Cygwin, men UnxUtils verkar vara ett trevligt sätt att hotta upp cmd.exe lite grann. Du slipper strul med slash i sökvägarna eftersom t.ex. find returnerar resultatet med Windowssökvägar.

    Du kan ladda ner UnxUtils från http://sourceforge.net/projects/unxutils/. Nedladdningslänken på projekthemsidan http://unxutils.sourceforge.net/ verkar nämligen inte funka.

  4. Backup från LINUX shell’et

    Behövde spara undan lite saker så jag satte ihop ett backup-skript som körs från crontab varje natt.

    Enkelt skript som bör kunna användas som template för många backuper i allmänhet.
    Backupen görs i följande steg:

    1) samlar ihop filer i tar arkiv
    2) komprimerar arkiven (gzip)
    3) krypterar arkiven med GnuPG (gpg)
    4) skickar filerna (ftp i detta fall)

    (Krypteringen i steg 3 komprimerar även, så gzip steget (2) är egentligen onödigt i detta fall.)

    Backupen sparas för varje veckodag. D.v.s. det tar en vecka innan nattens backup skrivs över igen.

    backup.sh (main skriptet):
    #!/bin/sh

    # substitute ”BACKUPDIR” and ”FILEROOTDIR” according to your environment

    echo ”Starting backup job”

    cd /”BACKUPDIR”
    # clean up last run
    rm -f *.gz
    rm -f *.gz.gpg

    #Get day of week
    DAY_OF_WEEK=$(date +%A)

    echo ”Creating tar files”

    cd /”FILEROOTDIR”
    tar -cf /”BACKUPDIR”/backuparchive.$DAY_OF_WEEK.tar ”SOMESUBDIR” ”SOMESUBDIR”

    # compress files
    cd /”BACKUPDIR”
    gzip -f *.tar

    # encrypt file with GnuPG
    ./gpg_encrypt.sh /”BACKUPDIR”/backuparchive.$DAY_OF_WEEK.tar.gz

    echo ”Sending files to ftp”

    # ftp files
    ftp -ui < ftpscript

    echo ”Backup job done”
    #script end

    crontab entry’t:
    # backup every night
    0 1 * * * /”BACKUPDIR”/backup.sh >> /”BACKUPDIR”/backup.log 2>&1

    gpg_encrypt.sh (encrypt skriptet):
    cat passphrase.txt | gpg –batch –yes –passphrase-fd 0 –symmetric –cipher-algo AES256 $1
    # notera att du måste ha en lösenordsfras i filen passphrase.txt

    ftpscript:
    open ftp.site.com
    user ”name” ”passwd”
    passive
    cd backup
    mput *.gpg
    bye

    Om du sedan vill avkryptera din backup
    gpg_decrypt.sh
    cat passphrase.txt | gpg –passphrase-fd 0 –yes –decrypt-files *.gpg
    # samma lösenordsfras i filen passphrase.txt som du hade vid encrypt

    Att använda passphrase på detta sätt är inte jättesäkert. GnuPG rekommenderar nycklar.

    GnuPG var lite knöligt att få igång. man gpg gav 2000 rader med en massa olika styrparametrar och inställningar. På ”Nätet” finns en hel del exempel att hämta.

  5. Java EE 6

    Java EE 5 kom med många nya trevliga saker för ett tag sedan. Redan har många projekt börjat använda EJB 3 som förmodligen är det som fått mest uppmärksamhet. Det finns dock en del brister i Java EE 5, eller kanske bättre uttryck är det så att en del externa ramverk fortfarande har en del fördelar (vem har inte varit med i en EJB 3 vs Hibernate debatt tex). Förhoppningarna är att en del av detta åtgärdas i kommande Java EE 6 där vi troligtvis får se bl.a. EJB 3.1, JPA 2.0, Servlets 3.0, JSF 2.0, WebBeans mm.

    Ryan de Laplantes blogg finns en sammanställning av vad som planeras ingå, väl värt att läsa även för er som redan fått en del presenterat på JavaOne i våras.

  6. lost in space

    I was thinking of getting my oldest kid a small telescope- a little father/daughter time wondering about the universe etc etc… but it was easer to download Google Earth 4.2 featuring ”Sky”. yes we lose the fun of strange insects and clouds, but we get quite a view! Sky makes use of the typical Google Earth controls, allowing you to pan and zoom your way through the heavens. Unlike the toy store scope I would have ended up with, Sky arms you with the resolving power of the Hubble telescope, mapping hundreds of millions of objects in space. Like Earth, Sky is user-powered: a community of professional astronomers are adding content for fun, education and real research.
    Check it out now at http://earth.google.com/sky/skyedu.html. There. post complete without any cheezy space humor.

  7. Godis i nya SonyEricsson nallarna

    Flera av er har säkert redan läst om de nya mobiltelefonerna som SonyEricsson släpper i höst/vinter. För er som kodar Java ME så har dessa telefoner en hel del godis som gör dem ytterst attraktiva för att göra riktigt fräcka mobil-applikationer. Vad sägs om ett OpenGL-ES (Embedded Subsystem, en ”bantad” version av vanliga OpenGL) stöd (JSR-239)? Eller möjlighet att läsa av den inbyggda acceleromtern (samma teknik som Nintendo Wii har i sina handkontroller) (JSR-256)? Både dessa finesser hittar man i den kommande w910 som planeras att släppas i färjde kvartalet i år. På SonyEricssons site Developer World så kan man se bilder på ett spel (Marble Madness) som verkar följa med den nya w910.

    Marble Madness (SonyEricsson Developer World)
    Bild på Marble Madness från Sony Ericsson Developer World

    Du styr bollen genom att helt enkelt vrida på telefonen. Jag ser fram emot kommande racing och flygspel till Java ME. :)

    Den stora nyheten med SonyEricssons kommande telefoner är nog ändå den nya Java plattformen, JP-8. Det mest intressanta med den är att den implementerar stöd för den nya paraply-JSRen; MSA (Mobile Service Architecture, JSR-248). Denna JSR specificerar ett minimum av andra JSRer som måste ingå och ger även mindre utrymme för tolkningar av dessa JSRer. Problemet tidigare har nämligen varit att varje mobiltelefontillverkare har valt att implementera enbart vissa delar av en JSR för sina telefoner, vilket gjort att en applikation som fungerar för en telefon inte kommer fungera på en annan, trots att båda specificerar samma JSR som behövs. Förhoppningsvis så kommer detta underlätta framtida utveckling av mobiltelefon-applikationer i Java ME.

    Det som vi, bland annat, kommer ha tillgängligt i och med nya telefoner med stöd för MSA och som vi inte hade tidigare är Web Service, Scalable Vector Graphics samt ett API för positionering. Jag är övertygad om att vi kommer få se en hel del riktigt fräcka Java ME applikationer framöver…

    Ni kan läsa mer om Sony Ericssons nya Java-plattform, JP-8 på developer.sonyericsson.com.

  8. Javaforum Q3

    Dags igen för Javaforum. Som vanligt gratis och anmälan via javaforum.se

    Observera att vi startar 15.00

    15:00 JavaUpdate, Markus Wahl, IBS JavaSolutions
    15:25 OSGi – the dynamic module system for Java, Christer Larsson, CEO MakeWave
    16:10 Uppkopplade kunder vs. nedkopplade företag, Jonas Carlsson, lk9
    16:45 Thread.sleep(); // Mingel & macka
    17:15 The Hundred Kilobytes Kernel (HK2), Rikard Thulin & Ferid Sabanovic, IBS JavaSolutions
    18:10 Google Web Toolkit (GWT), Peter Norhall, Movlin AB
    18:55 Thread.sleep(); // paus
    19:10 Spirng 2.1, Henrik Reinhold & Mattias Ask, JayWay
    19:55 Javaforum on Rails – ÖreDev edition, Rikard, IBS JavaSolutions

  9. Nytt WordPress-tema för JSolutions.se

    Vi bytte WordPress-tema igår. Hoppas ni gillar det.

  10. IntelliJ über-pwnage

    IntelliJ IDEA 7.0 finns nu tillgänlig i en milestone 2. Jag har alltid varit en stor fan av IntelliJ, men i och med den här versionen så har jag funderat på att bli religös. NetBeans och Eclipse har rätt långt kvar innan de är i kapp, särskilt om man tar en titt på några av de live-demos de har lagt upp:

    Hur man kodar Spring och Hibernate, the IntelliJ way: http://www.jetbrains.com/idea/training/demos/IDEA-m2.html

    Hacka Groovy och Grails: http://www.jetbrains.com/idea/training/demos/IntelligentGroovy.html

    Så här ska en debugger fungera: http://www.jetbrains.com/idea/training/demos/debugger.html

    IntelliJ IDEA kostar $499 för en kommersiell licens, eller $249 för privatpersoner. I utbildningssyfte eller open-source projekt så kan man få en licens gratis. Man kan alltid ladda ner en 30-dagars prov-licens gratis och testa. Ni hittar allting, samt alla demos, på http://www.jetbrains.com/idea/nextversion/.

    Om du är en av de som kodar Java men inte testat IntelliJ IDEA än så rekommenderar jag starkt att ni gör det. Jag brukar testa både Eclipse och NetBeans med jämna mellanrum för att se hur deras utveckling går, men det slutar alltid med att jag går tillbaka till IntelliJ…

  11. Maven 2 – bra men buggigt

    I takt med att mjukvaran blivit mer komplex har behovet av standardiserade och dynamiska byggssystem blivit allt större. Min ringa erfarenhet av byggare sträcker sig till Make, Ant och nu senast Maven.

    Make var svårt att undvika när man väl kom in i Unixvärlden, som ofta är synonymt med universitetsvärlden. Genom åren har man hört ett och annat okvädningsord om Make, men personligen förstår jag inte riktigt varför, speciellt inte efter ha mött Ant.

    Det stora problemet med Ant är att man har tagit ett sk. uppmärkningsspråk (mark-up language) som i bästa fall kan klassas som deklarativt och sedan försökt införa kontrollflöde ovan på det. Dessutom får jag en känsla av att hela språket genomsyras av bristande kunskap om hur man designar språk, ett problem som i sig räknas som ett eget vetenskapligt område inom datavetenskapen.

    (Ants språkliga design får mig att tänka på språket RPG fritt format, där varje sats måste avslutas med semikolon. Man kan ana hur språkdesignerna bör ha influerats av samtida språk som C och Pascal. Det intressanta är dock att till skillnad från RPG så fyller semikolonet en funktion i båda dessa språk eftersom man kan ha flera satser per rad. I RPG är detta inte tillåtet: här gäller en sats, en rad. Därför blir semikolonet helt onödigt. )

    Det var därför med blandade känslor jag började använda Maven i mitt nuvarande projekt. I likhet med Ant så skriver man i Maven också sina byggfiler i XML. I stället för build.xml kallas de för pom.xml. Här slutar dock likheterna. Ant ger dig inget mer, du måste själv bestämma projektstruktur och hela faderullan. Det slutar oftast i ett gytter av intrikata beroende mellan inkluderade byggfiler och luddiga targets.

    Maven har istället standardiserat hur byggena ska genomföras. Naturligtvis går det att anpassa mot t.ex. gamla Antbyggen om man vill, men det blir knöligt. Mitt tips är att följa Mavenkonventionen så långt det är möjligt. Ett bygge genomgår ett antal faser som är beroende av varandra. Skriver man t.ex. ”mvn package” för att skapa byggets artifakt så genomförs alla tidigare faser som t.ex. compile och test.

    Maven har direkt stöd för nästlade moduler (projekt) som i t.ex. Netbeans. Tyvärr har inte alla verktyg detta (t.ex. Eclipse). Därför bör man för största IDE-kompatibilitet försöka köra en platt struktur. Varje modul har en sk. pom.xml-fil (Project Object Model). I denna specificeras t.ex. vad modulen heter, vilken version den har, vad den producerar för artifakt, om modulen är beroende av andra moduler (interna som externa).

    Varje modul producerar högst en artifakt . I Maven finns inbyggt stöd för de vanligaste artifakterna (WAR, EJB, JAR etc) i form av pluggar som laddas ner automatiskt när de refereras. Pluggarna hjälper till att skapa artifakten genom att bl.a. generera deskriptorer och inkludera beroenden. Det enda man behöver tänka på är att följa Mavens katalogstruktur, men även detta får man hjälp med.

    Varje plugg kan konfigureras för exakt bestämma hur genererad artifakt ska se ut. Exempelvis bestämmer man i maven-ear-plugin vilken kontextrot man vill ha, om man inte nöjer sig med default. Maven ser till att generara nödvändig information i application.xml för detta.

    För varje beroende (t.ex. Hibernate, Log4J etc) man har i sin modul så specificerar man dessa genom namn, version och scope. T.ex. Hibernate, version 3.23 och scope test innebär att Maven lägger Hibernate version 3.23 till classpath vid körning av enhetstester. Rätt beroende tankas automatiskt hem från ett centralt Mavenarkiv. På det här sättet får man en bra versionshantering av sina beroenden. Alla i projektet kommer att utveckla mot samma version.

    Vilka arkiv som ska användas kan man styra. Man kan sätta upp egna speglar och proxies mot det centrala arkivet eller egna företags-arkiv. Varje användare har dessutom ett lokalt arkiv i sin hemkatalog där alla beroende cacheas. Utveckling kan alltså ske offline.

    Det är att rekommendera att man som företag sätter upp en proxy mot det centrala Maven arkivet. När beroenden tankas hem från det centrala arkivet kommer de automatiskt att lagras på proxyn. På så sätt säkerställs att företaget har direkt tillgång till alla refererade beroenden. Notera att beroenden normalt är transitiva, t.ex. Hibernate beror i sin tur på Log4J. Som tur är behöver du inte bry dig om det, utan Maven sköter det åt dig genom att automatiskt tanka hem transitiva beroenden.

    Maven hjälper dig inte bara med att kompilera ditt projekt, köra tester och generera dokumentation, utan du kan också få hjälp med att driftsätta. Pluggen cargo-maven2-plugin kan t.ex. fjärrdriftsätta mot en JBoss-server när man skriver ”mvn install”. Vill man så kan få Maven (genom cargo-maven2-plugin) att tanka hem, zippa upp och start en JBoss om den inte redan finns.

    Vad blir slutsatsen då? Det låter ju som Maven är ett helt underbart byggverktyg. Och det är det oftast. Mavens absolut största nackdel är att det är så **** odokumenterat. Maven är en enda stor samling insticksprogram som var och en är separat dokumenterade. De mindre änvända insticken är mycket sparsamt dokumenterade. Det finns väldigt få centrala källor att gå till, utan mycket ligger utspritt på webben. I början känns Mavenrymden väldigt kaotisk.

    När jag säger Maven så menar jag dessutom Maven 2. På nätet finns en del information om Maven, men i bland avser den Maven 1. De två versionerna skiljer sig relativt mycket. I början kan det vara lite förvillande.

    Räkna också med en del buggar vad det gäller de mindre frekvent använda funktionerna. Bara i dag har jag sprungit på två stycken: den ena som har med arv av profiler att göra verkar det ännu inte finnas nån fix för och den andra som har med filterhantering i maven-assembly-plugin att göra fanns det en fix i version 2.2-beta-2-SNAPSHOT av pluginnen. För att avhjälpa det senare problemet behövde jag bara specificera rätt version i pommen.
    Tyvärr så känns det inte helt stabilt att förlita affärskritisk verksamhet på en snapshot. Nästa dag kan en ny bugg som fallerar bygget vara introducerad i snapshoten. Visst, i de lägena går det faktiskt att specificera en specifik snapshot, t.ex. 2.2-beta-2-20070808.014358-13.

    Hur som helst. Maven är trots nackdelarna ett så stort steg i rätt riktning att jag inte skulle tveka att använda det i nästa projekt. Men om du eller ditt företag ska gå över till Maven räkna med en tuff startsträcka. Jag rekommenderar ha en Maven-expert nära till hands.

  12. Draft Review of Java 7 ”Measures and Units”

    Det har varit oklart ifall denna JSR skall gå igenom omröstningen, men nu ser det ut som om det skall bli av. Kanske. http://jscience.org/ har gjort en referensimplementation av denna JSR: javax.measure.*, för de som inte vill vänta på att JSR:en skall bli klar.

    Problem som javax.measure.* löser är bl a representation av en storhet utan att enheten anges, med komplikationen att efterföljande utvecklare kan få det svårt att inse vilken enhet som är den rätta. Innehåll:

    • Checking of unit compatibility
    • Expression of measurement in various units
    • Arithmetic operations on units
    • Concrete classes implementing the standard types of units (such as base and derived units) and unit conversions.
    • Classes for parsing and formatting textual units representations.

    Några exempel kopierade från https://jsr-275.dev.java.net/files/documents/4333/34956/jsr-275.pdf:

    Making your interface unit agnostic

    s51.PNG
    Converting between units

    s53.PNG

    Compile type checking of dimension consistency

    s54.PNG

    Projektet JScience tillhandahåller även ett Java-biblioteket som innehåller andra, till synes, nyttiga moduler:

    • mathematical structures (e.g. Group, Ring, Field, VectorSpace)
    • A linear algebra module, which includes a first (and possibly unique) parameterized matrix class capable of resolving linear system of equations involving any kind of elements (e.g. Complex, ModuloInteger, RationalFunctions)
    • A functions module for symbolic calculations and analysis.
    • Different types of numbers such as real numbers of arbitrary and guaranteed precision, or the always exact rational numbers.
    • Support for exact or arbitrary precision measurements (also strongly typed).
    • A monetary module for precision-guaranteed calculations and currencies conversions.

    Och när man nämner JScience och JSR ”Measures and Units” bör man också nämna alternativet GeoTools som visst skall vara något liknande.

  13. JavaFX NetBeans-plugin Beta

    Det har tagits fram ett tilläggsprogram (plugin på s k svengelska) till NetBeans för JavaFX Script som går att ladda ner via NetBeans Development Update Center. Tilläggsprogrammet gör det möjligt att enkelt utveckla JavaFX Script-program i NetBeans. Det finns för både NetBeans 5.5 och 6.0 Preview och kommer finnas med i NetBeans 6.0 vilket är nästa version av utvecklingsmiljön. Tilläggsprogrammet hjälper dig med självklara saker som kompilering, bygge, körning och kontextstöd i form av feldetektering och syntaxfärgning.

    Tutorial Hello World: https://openjfx.dev.java.net/Getting_Started_With_JavaFX.html

    6.0-varianten av tilläggsprogrammet innehåller dessutom JavaFXPad vilket är ett verktyg för att bygga grafiska JavaFX Script.

    Och när jag ändå nämner GUI-byggare för JavaFX vill jag nämna JFXBuilder som verkar vara en bra en JavaFX-GUI-byggare. Den är stand-alone och kan köras direkt i browsern från http://www.reportmill.com/jfx/

  14. Vill-ha-begär: UltraSPARC T2

    Vad sägs om åtta kärnor och stöd för 64-trådar på ett chip, men andra ord handlar det i praktiken om en 64-vägs server på ett chip. Saker som vi saknade i UltraSPARC T1 är nu åtgärdade, tex flyttalsenheter:
    • Bearbeting med hög genomströmning – åtta kärnor och åtta trådar per kärna
    • Nätverk – dubbla, virtualiserbara multitrådade 10 Gigabit per sekund Ethernetportar med inbyggd paketklassificering
    • Säkerhet – åtta kryptografiska accelerationsenheter
    • Beräkning – åtta flyttalsenheter
    • I/O – åtta kanaler med branschstandard PCI Express I/O
    • Minnesåtkomst – fyrdubbla minneskontrollenheter ger över 50 gigabyte per sekund minnesåtkomst

    Sun kommer inom kort att även släppa källkod för UltraSPARC T2 till OpenSPARC community.

  15. Javaforum Q3 börjar ta form

    Här kommer en liten ”teaser” på presentationer som är inbokade för Javaforum Q3:
    * JavaUpdate, MarKus Wahl
    * The Hundred Kilobytes Kernel (HK2), Rikard & Ferid
    * GWT, Peter Norrhall, Movlin
    * Web 2.0 Trender, möjligheter och utveckling, Jonas Carlsson, lk9.se
    * Spring 2.1 – nyheter, Sping User Group
    * MakeWave kommer och pratar om OSGI

    En mycket intressant agenda med andra ord. Inbjudan kommer att skickas ut om någon vecka via javaforum.se

Nästa sida