Thursday, December 24, 2009

Monday, December 21, 2009

iphone/ipod touch location services

Well... it seems that Apple use Skyhook to do more accurate location based services than I expected.
I always thought the iPhone 3G simply used A-GPS and cell triangulation to determine your position - yet it was wildly accurate INSIDE my office....
turns out they use Wireless Location services - Skyhook have a massive database (using wardriving) of all the MAC addresses of wifi access points, and use this to determine your geographical location (in combination with GPS, A-GPS and cell triangulation),
heck, they even pay drivers to wardrive around the world.

Coverage is mostly densely urban europe, north america, australia and some asia (tokyo-osaka, HK, taipei, seoul, bangkok, beijing).

Monday, November 09, 2009

j2moose - how to reverse engineer j2ee

Saw this interesting research project:
Enabling the evolution of J2EE applications through reverse engineering and quality assurance


To quote:
To address the complexity of enterprise applications, J2EE offers a conglomerate of several technologies, (e.g. Enterprise Java Beans - EJB or Java Server Pages - JSP) using several languages, (e.g. Java, XML or SQL). In this context, simply applying existing reverse engineering and quality assurance techniques developed for object-oriented systems fails due to two major reasons:

analyzing only the Java source code overlooks the information written in other languages such as the XML configurations, the JSP files, the database structure or the SQL statements, and
even when analyzing the Java source code we need to consider the technology specific patterns (e.g. implementing specific interfaces).
This project aims to conduct a systematic study in reverse engineering and quality assurance of J2EE applications. In particular, we target the following questions each of them being addressed in a separate track:

How do we model J2EE to support analysis of the different languages?
What defines internal quality in J2EE applications and how do we measure it?
How do we visualize the diversity of languages to support understanding of J2EE applications?


Doc: http://scg.unibe.ch/archive/projects/Gurt06aJSP.pdf
Master: http://moose.unibe.ch/about
Description: http://scg.unibe.ch/research/hasler07

The implications for me: I want something to do automated marking for J2EE assignments. Basically a first pass would reverse engineer the submitted code, decide/visualise the model with certain matrices and then award a technical mark.
Humans (tutors) would then mark the assignment for completeness, correctness and qualitative measures such as "ease of use", "look and feel", "niceness" :-)

Friday, October 23, 2009

weblogic weirdness with @webservice @stateless beans

Weblogic 10.3 has a weird bug.
If you annotate a Stateless session bean, then add @WebService to it, it won't deploy and will give a strange message about xxxbean_xxx_WSOImpl.class not found.

Turns out that there is an SERVER side cache in your domain directory which confuses the EJB compiler and deploy tool
Remove the entire contents of $DOMAIN/servers/AdminServer/cache/EJBCompilerCache/*
(where $DOMAIN is your weblogic domain directory)


Oh, you also need to give your stateless bean a mappedName eg:
@Stateless(name="crapBean", mappedName="ejb/crapBean")

Friday, October 16, 2009

AMIS Technology blog � Blog Archive � EJB Dependency Injection of Session Bean Facade in JSF 1.2 on WebLogic 10.3 (JSF with JPA)

AMIS Technology blog � Blog Archive � EJB Dependency Injection of Session Bean Facade in JSF 1.2 on WebLogic 10.3 (JSF with JPA)

Also ork around for the issue of not being able to dependency inject Session Bean directly into JSF Managed Beans http://softquipeut.blogspot.com/2007/12/injection-dun-ejb-dans-un-back-bean-jsf.html

Tuesday, September 22, 2009

Monday, September 14, 2009

Monday, August 24, 2009

Programmer Competency Matrix

Programmer Competency Matrix | IndianGeek

A very true list of what programmers need have to be uber gurus.

Wednesday, July 22, 2009

Oracle workshop for weblogic 10g3 missing JPA

It seems that Oracle in it's wisdom deliberately removed JPA tools from Oracle Workshop for Weblogic 10g3.

The simple solution? Copy the feature from an existing Europa 3.3.2 WTP install.
For some reason, you can't use the eclipse update manager (Webtools update site) to download it - Oracle zapped the file I think? They only seem to offer the later Dali version, which of course doesn't work on the current europa based Workshop 10g3

The files to copy are:
  • features/org.eclipse.jpt.feature_1.0.2.v200802140100-77-7_CYQCD2CaLYCHCD
  • plugins/
    • org.eclipse.jpt.core_1.0.2.v200802140100.jar
    • org.eclipse.jpt.db.ui_1.0.0.v200705300001.jar
    • org.eclipse.jpt.db_1.0.2.v200802140100.jar
    • org.eclipse.jpt.doc.user_1.0.1.v200709120000.jar
    • org.eclipse.jpt.gen_1.0.2.v200802140100.jar
    • org.eclipse.jpt.ui_1.0.2.v200802140100.jar
    • org.eclipse.jpt.utility_1.0.2.v200802140100.jar

I actually made an eclipse extension directory for this, but really, this should be dumped into the bea/tools/eclipse_pkgs/2.0/eclipse_3.3.2/eclipse directory since this is really really the original eclipse europa. SILLY BEA/ORACLE!!!

You also need the Data Tools Project, get as a minimum 1.5.2 version: ie:

Update manager: Europa Discovery Site -> Database Development & -> Enabling Features -> Data Tools Platform JDT enablement

This downloads:

  • org.eclipse.datatools.connectivity.feature
  • org.eclipse.datatools.modelbase.feature
  • org.eclipse.datatools.sqldevtools.feature
  • org.eclipse.datatools.enablement.feature
  • org.eclipse.datatools.connectivity.db.generic.ui
  • org.eclipse.datatools.connectivity.db.generic
  • org.eclipse.datatools.doc.user

Then you can do New -> Project -> JPA project as usual.

See the tutorial at http://www.eclipse.org/webtools/dali
IMPORTANT NOTE: this is only Dali 1.0, so use the 1.0 tutorial at as an example tutorial



Saturday, July 18, 2009

Eclipse ganymede with Hibernate

Here is the KLUDGE way of doing hibernate with ganymede.
http://edemmorny.wordpress.com/2009/04/28/using-eclipse-dali-with-hibernate-as-persistence-provider/

In the past (actually very near past), you simply had a hibernate facet against your dynamic web project. You then loaded the libraries as needed.
Now you do stupid stuff like the old days, add stuff by hand.... this defeats the purpose of an IDE!!
I D I O T S.

Eclipse ganymede - more rants

Well it seems eclipse Ganymede Java EE version now discards many useful tools from Europa.
for example, you no longer have struts or hibernate facets in dynamic web projects.
This stupid decision is one for the dogs.
I also noticed that the default JPA providers are Eclipselink and Oracle (Bea) Kodo. Odd that both oracle projects got on the list but the #1 popular provider (Hibernate) didn't make it.

This is an example of political decisions at Eclipse making the product worse , not better, and more exclusive, not inclusive.

Here's another one - the default web service code is all based on Apache Axis. Now don't get me wrong, Axis is ok, but Axis2 is bloatware. So where is the Metro toolkit here? Ahah, nope, Apache (Sanjeva/Dave) koolaid at work here ("let's make axis more popular by excluding the web services stack used by glassfish, weblogic etc").

Oh, you mean IBM is part of the eclipse council? mmmm, no co-incidence that Axis is part of the IBM stacks now ... ??

Eclipse Ganymede update sux

It turns out that Eclipse 3.4 ganymede turns of the "classic" update by default in anything except bare bones Eclipse.
You don't even have the GUI option of turning it off.

Well this web site (http://hamandeggs.wordpress.com/2009/01/20/eclipse-34-ganymede-and-classic-update/ ) shows you how to turn it back on!!

YAY!. P2 Sux.