| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Sep | ||||||
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
Posted on September 22nd, 2008 by arnljot.
Categories: other.
Okei, må innrømme at når jeg først hørte denne nyheten så tenkte jeg at den dama var farlig i nærheten av en datamaskin siden hun tilsynelatende ikke har klart å beskytte e-posten sin.
Men det er visstnok ikke hun som har dummet seg ut, det er Yahoo som er blitt manipulert. Bytt e-post leverandør!
Okei, så er det hårreisende at man benytter privat e-post i jobb sammenheng fordi man vil unngå offentliginnsyn og journalføring. Men hun ga i det minste ikke passordet sitt vekk…
På den andre side har hun ansvaret for at informasjonen er på avveie, sier det ikke seg selv at jobbsaker skal sendes over jobb e-post?
Det vanligere og vanligere i Norge at arbeidsgivere krever at du ikke benytter privat e-post på jobben. Skjønner det godt hvis Sarah Palin representerer snittet for de ansatte kan finne på…
Men jeg blir likevel frustrert når jeg blir stoppet av WebSense på jobben fordi jeg skal sende en kompis kinoinvitasjon på e-post
Posted on September 22nd, 2008 by arnljot.
Categories: other.
Norge er et demokratisk land, men i følge feks Eva Joly er har nok Norge sine mørketall. NRK slår nå et slag for et åpnere samfunn - ihvertfall hva politikerne angår, hvor det skal være vanskeligere å gjemme seg.
Også får vi bare håpe at skattelistene forblir åpne, skal du se etter meg så finner du meg her (tror ikke linken er tidsforankret).
Posted on September 22nd, 2008 by arnljot.
Categories: other.
Er det mulig, ja det er vist det! Her har skikkelige geniale IT utviklere vært i fri utfoldelse…
Hele saken på VG.no
Daniel de Carvalho er akkurat innenfor hvis mellomromet mellom navnene ikke teller.
Posted on September 5th, 2008 by arnljot.
Categories: other.
Computerworld har skrevet følgende artikkel for vg, se her.
Når du leser artikkelen, søk etter “direkte på prosessoren”. Fantastisk! For en ide Google har, at vi ikke har tenkt på det før??! Vel, nå må Google passe seg, for jeg har hakket vassere ide: Jeg skal legge det rett i RAM, og hoppe over det fordyrende steget det er å måtte gå via CPU i dag. Oi oi oi….
Posted on June 16th, 2008 by arnljot.
Categories: java.
Den 5. mai begynte jeg hos ny kunde. Et spennende prosjekt som relaterer seg til produksjonsstyring. Her skal vi skrive en fet klient som gjør alle sine tunge operasjoner på en OAS server vha EJB3.0 Session Beans.
Erfaringer:
1) @MappedSuperclass i javax.persistence 1.0 kan ikke inngå i relasjoner!
Denne var ikke uten videre innlysende for meg, og heller ingen andre på prosjektet her. Men vi skjønnte tidlig at det måtte være dette som var feil. Tilslutt fant vi et quote på en webside som vi tolket dithen at vi ikke kunne bruke det slik vi tenkte. Fra siden http://en.wikibooks.org/wiki/Java_Persistence/Inheritance#Mapped_Superclasses leser man følgende: “It is similar to table per class inheritance, but does not allow querying, persisting, or relationships to the superclass“. Dette klarte vi ikke å finne i API spesifikasjonen http://java.sun.com/javaee/5/docs/api/javax/persistence/MappedSuperclass.html eller fra bøkene OReily boken om JPA eller PRO EJB 3 JPA API.
2) Maven plugin maven-plugin-plugin har en bug som ikke tillater 1.5 annotations eller andre 1.5 source features i plugins kode.
Denne var værre å forstå. Helt til man dypt inne i Maven dokumentasjonen finner at maven ikke er 1.5 compliant i sin core ennå. Og at plugins kompileres med noe som heter QDox som kjører en Java extractor. Denne extractoren er java 1.4 kompliant.
Maven utviklerne har bestemt seg for å unngå problemet ved å avvise alle feil av denne typen, og heller velge å si at pluginkode må være java 1.4, og at de heller legger til en excludesources feature til maven-plugin-plugn slik at man får bygget pluginprosjekter som benytter seg av java 1.5 features.
For de som vil føge saken er issuen med avgjørelsen her: http://jira.codehaus.org/browse/MPLUGIN-15, og den opprinnelige feilen vi fant er MPLUGIN-21 og MPLUGIN-1 (man legger ikke inn en issue ticket uten å undersøke om de finnes fra før
)
3) JDeveloper kompilere generics klasser hvor inline klasser benytter seg av instanceof
Denne er morsom. Pseudokode:
/**
* Demonstrates a bug in the maven compiler
*
* @author <a href=”mailto:NOSPAM_arnljot.arntsen[at]avenir[dot]no_NOSPAM”>Arnljot Arntsen</a>
*/
public class MavenFailToCompile<T> {
class InlineClass {public boolean equals(Object o) {
if(o == null) { return false;}
if(!(o instanceof InlineClass)) { return false;}
// This will compile:
// if(o.getClass().equals(InlineClass.class)) { return true;}
if(o == this) {return true;}return super.equals(o);
}
}
}
Feilen man får er:
C:\code\mvn-compile-bug\src\main\java\MavenFailToCompile.java:[11,21] illegal generic type for instanceof
JDeveloper, har altså en bug som ikke Maven eller JavaC har. Først trodde vi det var andre veien. Men etter å ha dobbelt sjekket spes for generics og JavaC. Så er det Maven som har rett, og JDeveloper som gjør feil når den klarer å lage klassefiler av denne koden.
4) Toplink essentials støtter ikke orphan, toplink essentials støtter ikke ophans
Dette er mest et hjertesukk enn noe mer. Vi hadde ikke forutsett alle problemene vi skulle få med relasjoner gitt problemer med entitymanager.merge(entity) og det at frakoblede objekter hvor alt av relasjoner er nullet ut IKKE blir tatt livet av. I Hibernate når det er din JPA provider så løser man det så lekkert med CascadeType.DELETE_ORPHAN. Det er noe vi alle tar forgitt mange ganger…
Toplink/Toplink-essentials har sitt tilsvar, men er ikke noe særlig lekkert:
Man legger til i persistence.xml en toplink spesifik attributt, som tilpasser sesjonene… (ex name=toplink.session.customizer value=mypackage.PrivateOwnedCustomizer)
package mypackage;
import oracle.toplink.essentials.sessions.Session;
import oracle.toplink.essentials.mappings.OneToManyMapping;
/**
* PUBLIC:
* This interface is to allow extra customization on a TopLink Session
*/public class PrivateOwnedCustomizer extends SessionCustomizer {
public void customize(Session session) throws Exception {
RelationalDescriptor entityDescriptor = (RelationalDescriptor) session.getDescriptor(domainmodel.MyEntity.class);
OneToManyMapping mapping = (OneToManyMapping)entityDescriptor.getMappingForAttributeName(”<propertyName>”);
mapping.privateOwnedRelationship();
}
}
Som dere ser blir dette en svært mer intrengende endring enn en egen Hibernate mapping (org.hibernate.annotations.CascadeType.DELETE_ORPHAN).
Vi har da heller valgt å løseutfordringen den standard JPA måten, uten fancy hjelp fra Hibernate, og følger det PRO EJB 3 boken og JPA spesifikasjonen repeterer igjen og igjen:
Relationship maintenance is the responsibility of the applicatiobn. We are going to repeat this statement over the course of this book, but it cannot be emphasized enough. Almost every problem related to removing an entity always comes back to this issue.
Konsekvensen for oss gitt denne forskjellen mellom “Standard JPA” og “Hibernate JPA” er at våre bønners metoder for å oppdattere entiteter i databasen blir vesentlig mye mer verbos…
5) SwingX har noen bugs…
Ofte har “problemer” i data modeller skyldtes bugs i SwingX sin render pipeline og eventhandling. Feks SwingX issue #855.
6) JDeveloper sin POJO generator gjør et slett arbeid…
equals(), toString() og hashCode() mangler som oftes. Vilket fører til at bugs du opplever i applikasjonen først ikke virker opplagte… Men når du tar en titt på equals() og hashCode() så skjønner du raskt hvorfor…
7) Elementers rekkefølge i Maven POM er ikke likegyldig.
Sørg for at alle Managment seksjoner står før Plugin eller dependency seksjoner. Og definer properties først, selv om POM userguide sier noe annet. OG definer parent så tidlig som mulig, også dette på tværs av POM userguide anbefalninger. Gjør du dette så vil du unngå mange rare problemer.
Dependency management…
Det er kanskje opplagt for alle at <type> er en del av “nøkkelen” til det som ligger i DependencyManagement. Vel, det er det.
9) oc4jClient.jar er et mareritt å “mavenize”
Men det lar seg gjøre på noen timer, og med tunga rett i munnen….
10) Timbuktu prosjektet på Apache (mange oracle utviklere der…)
Timbuktu prosjektet har en plugin som lar deg lage et JDeveloper prosjekt av et maven prosjekt… Virker ok nok.
—
Der har vært mange andre små finurligheter. Som feks at det er lett å glemme og konfigurere opp maven-ear-plugin med rett JavaEE versjon når man skal bruke EJB3.0… I mellomstort prosjekt som det vi har (22 pom filer, 4 pom aggregerings prosjekter - super, server, plugins, maven), så er det utrolig viktig og tidlig få en god struktur og unngå sirkel-avhengigheter mellom prosjektene.
==> Det er vanskelig å mavenize en JDeveloper “prototype”.
—
Spørsmål vi ikke har fullgode svar på ennå:
1) Hvordan skal vi teste bønnene våre?
Vi hadde opprinnelig valgt EJB3Unit her. Men pga en bug i Hibernate som den test-harnessen er avhengig av så kan vi ikke bruke det (noe sånn som “lazy: cannot fetch more than one bag at a time”). Vi kan bruke JMock, TestNG etc etc… Men vi ønsket oss en test som også loaded persistence.jar fila vår og verifiserte spørringer etc.
2) Hvordan skal vi teste Swing GUI
Vi holder på å teste ut UISpec4J. Så langt så virker det svært lovende.
3) Hvorfor henger Hudson seg når den skal bygge maven prosjektet vårt
Heldigvis er vi ikke alene om denne bugen, og Hudson teamet har releaset en ny versjon av Hudson som lar deg se på mavens minne mens den byger (stack) slik at du kan hjelpe dem i å finne ut av det…
Posted on June 16th, 2008 by arnljot.
Categories: other.
5. mai leverte jeg inn min Lenovo Z61m laptop til reperasjon. Dette på tross av jeg visste at det var batteriet som var gåent, og ikke maskina.
Infocare insisterte at det var merkelig at maskina ikke kunne virke med hverken strøm eller batteri tilkoblet og ba meg levere den inn. For to uker siden så sendte de meg regning. Ca 2800 kr for nytt batteri (ca 500 kr) og resten var port og arbeid!
Litt om litt så skjønnte de at dette var drøyt, og ble enig om å gi meg maskina tilbake og stryke hele regninga. Men det var over en uke siden (torsdag 5. eller fredag 6. juni)… I dag ringte jeg og purret, og jovvist, de hadde maskina og ventet på meg. Denne prosessen har vært helt utrolig, for jeg har vært nødt til å sørge for all fremdrift og mas heleveien for å få ting til å skje. Slett arbeid av både Telehuset og Infocare! (Uansett om de peker aldri så mye på hverandre).
Posted on March 27th, 2008 by arnljot.
Categories: Apple.
My first computer was an Atari 2600jr, okay - so it was a game console. But don’t hold it against my parents, they didn’t know better.
But it was what sealed my fate as a “nerd” after having getting hooked on computers after having played games on an Intel/IBM box of some sort at the neighbours house.
I shortly upgraded to an Atari XE 64, a computer I sometimes think that I’m the only one who ever owned. And searching google it might seem so.
But I quickly became an Amigian, and joined the Clan. I had the 500, the 1200 and the 4000. I also spent all my money on the Phase5 PPC cards, but in 1999/2000 as I was finishing up my IT degree at college, I wanted Java.
Java was, and is not available to the Amiga platform, so I had to leave. Going Wintel was not a choice, so I bought an Apple iMac. It was as modern as I could get back then, without breaking my Amiga heart too much.
Now to what this post is really about.
My recent purchase. The Apple Mac Mini.
In my living room I had a HTPC (XP based) and a PS3 hooked up. Currently the PS3 isn’t complete and versatile enough yet to completely handle all my needs.
The XP based HTPC has always given me grief in one way or an other. And lately it’s become so unstable (hardware) that it’s been crashing and rebooting a lot, and worst of all. The sound has been corrupted.
So I looked for a replacement, that would work great, and be very silent. Very very silent.
I considered the Psile PC briefly. And even though I used to hate Windows and all it’s incarnations, I’ve grown to accept it’s existance over the years, and even like some of it’s ease of use and features… But don’t tell my friends at Amiga.org
But the Psile option could not simply compete with the Mac Mini on price. And also, it was hard to determine if it was quieter. In fact, some reports reported the opposite. So at more than double the price, I determined it was a no-brainer, and got myself the Mac Mini.
Tuesday this week it arrived, and I was very curious to see if the myth “It just works” was true.
Here are my experiences:
Posted on March 27th, 2008 by arnljot.
Categories: Playstation 3, Playstation Portable.
I was reading the Playstation Blog, especially this posting.
I’ve played the game, “Everybody Shooter” and I enjoyed it. It’s a fun little retro experience, it’s easy to get to grips with. And it’s hard to be excellent at it. Just the way it should be I think.
But reading about Johathan Mark was almost just as fun as playing his little gem of a game. Here follows some quotes from the post.
In the day of 42″ and 50″ plasma rave, I quite loved this byte: “I look forward to playing Heavenly Sword on my 12″ TV.”
And these were suspicious. They are surely not the variety that one finds in Amsterdam Coffee houses? The quote: “Yesterday I bought 5lbs of hash browns.”
And the best one, the one which convinced me that this is a genuine character: “The Everyday Shooter code has no 4s or 5s execpt in the combination of 54, or in very rare instances 0.5, because 5 and 4 are very unlucky numbers.”
Now, so that it’s perfectly clear. The term “character”, is a term of endearment.
Another guy, who’s got plenty of character is Jeff Minter. If you want insight to the way he thinks, and what he’s up to check out his blog where he excersises his freedom of speech.
Posted on March 27th, 2008 by arnljot.
Categories: Playstation 3, Playstation Portable.
I recently left M33 customfirmware for Sonys offical Playstation Portable PSP firmware (version 3.93).
No loss, actually. Sony is really getting to grips with the whole media home experience. And I hate be left behind when Sony is racing along with new features all the time for this killer combo.
But there is still a lot of “missing features” and tuning that has to be done for the features that’s there.
I posted a little comment on the playstation blog here, about what I feel has to be done to the RemotePlay feature.
I love my PSP and PS3, especially with Remote Play!
But I would like a little more tuning to when I’m able to connect.
Currently my PS3 has to be switched off, or listening for connection for my PSP to connect (I have the last but one FW for my PS3 “pre 2.20″, and 3.93 on my PSP).
I’d like it to be so that if I connect my PSP with RemotePlay to a running PS3, it’ll connect if no “counter meassure” is taken on the PS3 locally.
This ofcourse assumes that the PS3 is running in a RemotePlay compatible mode (RemotePlay enabled game, XMB, Folding@Home, etc).
When running something, and PSP attempts to connect, the PS3 should notify the local user to press the PS button or something within 5 seconds or so to reject the connection. If not rejected the PSP is allowed control.
The PSP should get appropriate error messages, like “Connection rejected by local user” or “PS3 running RemotePlay incapable game/activity”.
Posted on March 27th, 2008 by arnljot.
Categories: appfuse.
After a long time away from Appuse I recently had to download it again to make a POC.
It’s really coming along real nicely, I love the ready to go DAO layer, and I was quickly able to produce the POC. My only snag was the bug with full source. It doesn’t work currently. I’ve posted it to the userlist, but hasn’t been able to follow up with more debugging details.
Will have to do that soon.