Monday, November 30, 2009

10 Most Awesome iPhone Apps of 2008

10 Most Awesome iPhone Apps of 2008

Posted using ShareThis

Monday, November 16, 2009

Typography Converter

Typography Converter

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")

Thursday, October 22, 2009

Inside scoop on enterprise java and middleware technologies: EJB 3 Stateless bean Web service in WebLogic Server

Inside scoop on enterprise java and middleware technologies: EJB 3 Stateless bean Web service in WebLogic Server

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

Graphic Design: The Forgotten Web Standard - Slides in 3 Minutes on Vimeo

I've often admired graphic designers.
How they combine technology and creativity constantly amazes me.

Graphic Design: The Forgotten Web Standard - Slides in 3 Minutes on Vimeo

Monday, September 14, 2009

XRX: Simple, Elegant, Disruptive - O'Reilly XML Blog

XRX: Simple, Elegant, Disruptive - O'Reilly XML Blog

XForms on the client
REST interfaces
and XQuery on the server

Monday, August 24, 2009

Programmer Competency Matrix

Programmer Competency Matrix | IndianGeek

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

Thursday, August 20, 2009

Eclectic Programmer :: Entries :: Book Review: Core J2EE Patterns, Second Edition

Eclectic Programmer :: Entries :: Book Review: Core J2EE Patterns, Second Edition

Tuesday, August 11, 2009

Eclipse Java IDE - Tutorial

Eclipse Java IDE - Tutorial

Tuesday, August 04, 2009

Why are we not using Java EE 5? | Javalobby

Why are we not using Java EE 5? | Javalobby

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.

Friday, July 17, 2009

Darwin-IT: Hello Metro

Running Metro on Eclipse Ganymede

Wednesday, July 01, 2009

Demonstration of Sherlock - Plagiarism | Subject Centre for Information and Computer Sciences

Demonstration of Sherlock - Plagiarism | Subject Centre for Information and Computer Sciences

anti plagarism detection tool

see also moss.stanford.edu

Tuesday, June 30, 2009

10 dying IT skills | 10 Things | TechRepublic.com

10 dying IT skills | 10 Things | TechRepublic.com
To quote the article:

There are some things in life, like good manners, that never go out of style. And there are other things, like clothing styles, that fall in and out of fashion. But when an IT skill falls out of favor, it rarely ever comes back. Here’s our list of 10 dying IT skills. If any of these skills is your main expertise, perhaps it’s time to think about updating your skill set.

Note: This article is based on a Global Knowledge white paper by Linda Leung.

1: Asynchronous Transfer Mode

ATM was popular in the late 90s, particularly among carriers, as the answer to overworked frame relay for wide-area networking. It was considered more scalable than frame relay and offered inherent QoS support. It was also marketed as a LAN platform, but that was its weakness. According to Wikipedia, ATM failed to gain wide acceptance in the LAN where IP makes more sense for unifying voice and data on the network. Wikipedia notes that ATM will continue to be deployed by carriers that have committed to existing ATM deployments, but the technology is increasingly challenged by speed and traffic shaping requirements of converged voice and data networks. A growing number of carriers are now using Multi-Protocol Label Switching (MPLS), which integrates the label-switching capabilities of ATM with the packet orientation of IP. IT skills researcher Foote Partners listed ATM in its IT Skills and Certification Pay Index as a non-certified IT skill that has decreased in value in the last six month of 2008.

2: Novell NetWare

Novell’s network operating system was the de facto standard for LANs in the 1990s, running on more than 70% of enterprise networks. But Novell failed to compete with the marketing might of Microsoft. Novell tried to put up a good fight by acquiring WordPerfect to compete with Windows Office, but that move failed to ignite the market, and Novell eventually sold WordPerfect to Corel in 1996. Novell certifications, such as Certified Novell Engineer, Master Certified Novell Engineer, Certified Novell Certified Directory Engineer, and Novell Administrator, were once hot in the industry. But now, they are featured in Foote Partners’ list of skills that decreased in value in 2008. Hiring managers want Windows Server and Linux skills instead.

3: Visual J++

Skills pay for Microsoft’s version of Java declined 37.5% last year, according to the Foote Partners’ study. The life of J++, which is available with Microsoft Visual Studio 6.0, was not a smooth one. Although Sun Microsystems licensed Java to Microsoft to develop J++, Microsoft failed to implement some features of the official Java standard while implementing other extensions of its own. Sun sued Microsoft for licensing violations in a legal wrangle that lasted three years. Microsoft eventually replaced J++ with Microsoft .NET.

4: Wireless Application Protocol

Yes, people were able to browse the Internet in the late 90s before Apple’s iPhone. Web site operators would rewrite their content to the WAP’s Wireless Markup Language, enabling users to access Web services such as email, stock results and news headlines using their cell phones and PDAs. WAP was not well received at the beginning because WAP sites were slow and lacked the richness of the Web. WAP has also seen different levels of uptake worldwide because of the different wireless regulations and standards around the world. WAP has since evolved and is a feature of Multimedia Messaging Service, but there is now a new generation of competing mobile Web browsers, including Opera Mobile and the iPhone’s Safari browser.

5: ColdFusion

ColdFusion users rave that this Web programming language is easy to use and quick to jump into, but as many other independent software tools have experienced, it’s hard to compete with products backed by expensive marketing campaigns from Microsoft and others. The language was originally released in 1995 by Allaire, which was acquired by Macromedia (which itself was purchased by Adobe). Today, it is superseded by Microsoft .NET, Java, PHP, and the language of the moment: open source Ruby on Rails. A quick search of the Indeed.com job aggregator site returned 11,045 jobs seeking PHP skills, compared to 2,027 CF jobs. Even Ruby on Rails, which is a much newer technology - and which received a major boost when Apple packaged it with OS X v10.5 in 2007 — returned 1,550 jobs openings on Indeed.com.

6: RAD/extreme programming

Back in the late 90s and early 2000s, the rapid application development and extreme programming development philosophies resulted in quicker and more flexible programming that embraced the ever-changing needs of customers during the development process. In XP, developers adapted to changing requirements at any point during the project life rather than attempting to define all requirements at the beginning. In RAD, developers embraced interactive use of structured techniques and prototyping to define users’ requirements. The result was accelerated software development. Although the skills were consistently the highest paying in Foote Partners survey since 1999, they began to lose ground in 2003 due to the proliferation of offshore outsourcing of applica­tions development.

7: Siebel

Siebel is one skill that makes a recurring appearance in the Foote Partners’ list of skills that have lost their luster. Siebel was synonymous with customer relationship management in the late 90s and early 2000s, and the company dominated the market with a 45% share in 2002. Founded by Thomas Siebel, a former Oracle executive with no love lost for his past employer, Siebel competed aggressively with Oracle until 2006 when it was ultimately acquired by the database giant. Siebel’s complex and expensive CRM software required experts to install and manage. That model lost out to the new breed of software-as-a-service (SaaS) packages from companies such as Salesforce.com, which deliver comparable software over the Web. According to the ITJobsWatch.com, Siebel experts command an average salary of GBP52,684 ($78,564), but that’s a slide from GBP55,122 a year ago. Siebel is ranked 319 in the job research site’s list of jobs in demand, compared to 310 in 2008.

8: SNA

The introduction of IP and other Internet networking technologies into enterprises in the 1990s signaled the demise of IBM’s proprietary Systems Network Architecture. According to Wikipedia, the protocol is still used extensively in banks and other financial transaction networks and so SNA skills continue to appear in job ads. But permanent positions seeking SNA skills are few and far between. ITJobsWatch.com noted that there were three opening for permanent jobs between February and April, compared to 43 during the same period last year. Meanwhile, companies such as HP offer consultants with experience in SNA and other legacy skills, such as OpenVMS and Tru64 UNIX for short-term assignments.

9: HTML

We’re not suggesting the Internet is dead, but with the proliferation of easy-to-use WYSIWYG HTML editors enabling non-techies to set up blogs and Web pages, Web site development is no longer a black art. Sure, there’s still a need for professional Web developers, but a good grasp of HTML isn’t the only skill required of a Web developer. Professional developers often have expertise in Java, AJAX, C++, and .NET, among other programming languages. HTML as a skill lost more than 40% of its value between 2001 and 2003, according to Foote Partners.

10: COBOL

Is it dead or alive? This 40-year-old programming language often appears in lists of dying IT skills. But it also appears in as many articles about organizations with legacy applications written in COBOL that are having a hard time finding workers with COBOL skills. IBM cites statistics that 70% of the world’s business data is still being processed by COBOL applications. But how many of these applications will remain in COBOL for the long term? Even IBM is pushing its customers to “build bridges” and use service-oriented architecture to “transform legacy applications and make them part of a fast and flexible IT architecture.”



Friday, June 26, 2009

Design enterprise applications with the EJB 3.0 Java Persistence API

Design enterprise applications with the EJB 3.0 Java Persistence API
http://www.ibm.com/developerworks/java/library/j-ejb3jpa.html


Here is a live example: (based on ibatis) http://www.jwebhosting.net/servlets/jpetstore5/index.html

Here is a Petstore 2.0 on google app engine: http://jazzmaster-examples.appspot.com/petstore/

Saturday, June 20, 2009

Comparing JSF, Spring MVC, Stripes, Struts 2, Tapestry and Wicket

Check out this SlideShare Presentation:

Wednesday, June 17, 2009

A developer's perspective on Google's Android SDK

A developer's perspective on Google's Android SDK

Android sucks

It seems that android (even the 1.5) version doesn't support WPA-enterprise (nor WPA2-enterprise).

or.. at least the UI.
(see http://code.google.com/p/android/issues/detail?id=1386)

But good news - since this is based on Linux, and linux supports WPA-enterprise, an enterprising (sic.) student at Purdue, Fan Zhang, has built an android app to edit the wifi supplicant code in the linux kernel to allow you to edit the supplicant configuration file!
http://forum.xda-developers.com/showthread.php?p=3765595

You can download the app from the Android Marketplace, or from here:
http://web.ics.purdue.edu/%7Ezhang42/wifiHelper.apk

The source is here: wifihelper - Google Code


Monday, June 15, 2009

How-To: Use iPhone as USB Mass Storage & File Viewer - MacTalk Forums

How-To: Use iPhone as USB Mass Storage & File Viewer - MacTalk Forums

Actually you only need to load the Discover app on the iphone. 
It then runs as a web server at http://x.x.x.x:8888 so you point your pc browser at this address then upload.
The app is supported by adware. Quite annoying. But heck it is free.
The fileview is excellent. Supports pdf and xls/doc files (readonly)


Friday, June 05, 2009

Running J2ME on Android

Now that I have my new Android Developer Phone 1 (aka, HTC Dream or T-mobile G1), I'm investigating how to develop apps on it

There is a complete new toolkit (Android SDK) and Eclipse Plugin (which includes the emulator). And a tonne of new APIs to learn (growl)

But what about J2ME? It's not natively supported on the Android platform.

Lucky for us, there are 2 "emulators" / Bridges for it.

(1) Assembla J2ME Android Bridge: This is a set of bridging libraries - just port your code to the Android eclipse  platform, plug these libraries (which emulate javax.microedition.*) and away you go. Although only tested on  1.0r2 and I just upgraded to Android 1.5.. ggrr

(2) Run an emulator on Android. Not the fastest thing to do. Try http://www.netmite.com/android/ aka the MIDP runner. Hey, this supports the Bluetooth API too!! Great.

(3) My preferred alternative is to use J2ME Polish. This development platform is great - you write to their libraries, and then choose the device to build against. The beauty of this is that you can choose other targets too like Nokia, Blackberry, Android, generic J2ME devices etc. And you use CSS styles to decorate your application. And includes HTML/RSS browser widgets in addition to the usual microedition.lcdui stuff.
Also apparantly it has a Windows Mobile, iphone and Palm target for builds. Assuming you have the relevant toolkits installed of course :-)

Friday, May 29, 2009

Development notes to myself: EJB3 Weblogic 10 and backward compability

Development notes to myself: EJB3 Weblogic 10 and backward compability

Wednesday, May 20, 2009

Transactions in the world of Web services, Part 2

Transactions in the world of Web services, Part 2

Epic user interface fail of Homeric proportions

Nearly pissed myself laughing at this one. So to speak.
peripatetic axiom: Epic uer interface fail of Homeric proportions

Monday, May 18, 2009

The Five Essential Phone-Screen Questions

Stevey's Home Page - The Five Essential Phone-Screen Questions�

Without further ado, here they are: The Five Essential Questions for the first phone-screen with an SDE candidate:

1) Coding. The candidate has to write some simple code, with correct syntax, in C, C++, or Java.
2) OO design. The candidate has to define basic OO concepts, and come up with classes to model a simple problem.
3) Scripting and regexes. The candidate has to describe how to find the phone numbers in 50,000 HTML pages.
4) Data structures. The candidate has to demonstrate basic knowledge of the most common data structures.
5) Bits and bytes. The candidate has to answer simple questions about bits, bytes, and binary numbers.

The FizzBuzz test & programmers ... or not

Coding Horror: Why Can't Programmers.. Program?

Simple test for programming skills:
Write a program that prints the numbers from 1 to 100.
But for multiples of three print "Fizz" instead of the number and for the multiples of five print "Buzz".
For numbers which are multiples of both three and five print "FizzBuzz".


See also:

Separating Programming Sheep from Non-Programming Goats

it seems fundamental skills are not being understood:


See also :http://www.cs.mdx.ac.uk/research/PhDArea/saeed/

All teachers of programming find that their results display a 'double hump'. It is as if there are two populations: those who can, and those who cannot, each with its own independent bell curve. Almost all research into programming teaching and learning have concentrated on teaching: change the language, change the application area, use an IDE and work on motivation. None of it works, and the double hump persists. We have a test which picks out the population that can program, before the course begins. We can pick apart the double hump. You probably don't believe this, but you will after you hear the talk. We don't know exactly how/why it works, but we have some good theories.

So true. I see this in all my programming subjects!!!

Tuesday, May 12, 2009

The Average Web Geek: Tomcat JSP and Servlet Reloading

The Average Web Geek: Tomcat JSP and Servlet Reloading

Friday, May 08, 2009

So I want to use the JAX-WS RI with JDK 6, so I need the endorsed directory right?

Gerard Davison's Blog: So I want to use the JAX-WS RI with JDK 6, so I need the endorsed directory right?: "javax.xml.ws.spi.Provider.DEFAULT_JAXWSPROVIDER"

Thursday, April 30, 2009

SKYPE video bit rates

SKYPE video bit rates

Wednesday, April 29, 2009

Improve your XSLT coding five ways

Improve your XSLT coding five ways

Top hints are:

Tip 1: Cascading style sheets, tables, and XSLT

Tip 2: HTML entities

[ incidentally, to use non-breaking spaces, use #&160; ]

Tip 3: Multiple input documents

Tip 4: XSLT and client-side JavaScript

Tip 5: Automating style sheet creation


Friday, April 24, 2009

Star Trek XI trailer music

Nice trailer music for the next stat trek movie.

http://www.imeem.com/people/hhz_iA/music/2KihKMOL/two-steps-from-hell-freedom-
fighters/#