Monday, November 2, 2009

Open Sourcing the Business Model

IT and Tech have started playing with open cards, exposing their handiwork and knowhow. What will happen if Business open up their inner secrets? Will the company still stay competitive? Will openness attract customers and open new prospects?

Sunday, October 25, 2009

Thursday, June 18, 2009

Simple REST server with Grails

I have recently worked on two small projects that need a simple data store for more intelligent clients. Choosing REST was a no-brainer after some discussion. Grails' HTML CRUD interface is a great template to start off with, but it lacks dealing with XML/JSON.

Sunday, March 22, 2009

Facilitating web page error reporting

Are there currently any products for facilitating reporting errors in web pages?

Problem description

A end user is browsing through your site, and stumbles upon a page which for him has an error or bug. It might be a mother-of-all-stacktraces shining at him, a number which is wrong or single space missing. Often, the end user is the only one who can see the problem, and it is difficult and timeconsuming to report through email or on the phone.
Preferrably, the user can send a screen shot. But it is a difficult process to explain, several manual steps involved, and the state of the application cannot be captured by a screen shot.

Possible solution

A "report bug" link which can easily be placed on every page, that when pressed, creates a report containing
* The offending web page as html
* A dump of all relevant state for the page
* A field where the user can type in what's wrong
* A crude marking device to easily tell where the error is located
The report can then be emailed and fed to an issue reporting system.

Relevant technologies

A javascript library or reusable SiteMesh decorator or similar. Preferrably as little intrusive as possible.

Does this already exist?

Please tell me if it does! :)

Wednesday, February 4, 2009

Debugging Java web applications

Debugging Java web applications is often necessary, but setting it up on different vendors can be difficult.
However, there is a generic, easy way to do this by setting the JVM running the web server in debug mode.

Jetty and Maven

export MAVEN_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n"
mvn jetty:run

Set up your IDE for remote debugging on port 4000 and you're laughing!

Wednesday, January 21, 2009

Publishing to Blog from Google docs

Google docs has a mighty fine WYSIWYG editor for text.
To publish to your blog: Share -> Publish as web page -> post to blog

Monday, January 19, 2009

Neo4J as a Grails backend

This post is a reply to @EmilEifrem's twition.

Neo4J could be a nice extension as a Grails' persistence backend, similar to a DB, space or LDAP. The problem today is that GORM is tightly coupled to Hibernate. Looks like @GraemeRocher is in the works of extracting Hibernate as a plugin, from which one can use other persitence plugins. Absolutely looking forward to that. (Graeme, please document what defines the folders which contain domain classes, controllers and views, so they can be changed!).

@Nawroth recommended using Neo4J through a JCR layer, though theres no implementation for Grails or Neo4J. The motivation for this is to be able to use the nice features such as MyPersonNode.find(), ... Recommend watching this clip 4 intro to Grails.

What can be done today is just using the Neo4J jar in Grails as it is. But the magic of  GORM that makes Grails so different, compared to regular Java won't exist...

Wednesday, January 7, 2009

Finally, a decent media server for PS3

I've been looking for a DLNA media server for streaming music and video to my PS3 for quite some time. And at last I can say that I've found a decent application for my streaming needs, PS3 Media Server. Most importantly, Its JAVA, Hooray!
What else? The application runs on Windows, Linux and mac, and is packaged with appropriate installers for the different OS'. Although the project builds on Ant, it could be worth looking into if it's done nicely.
Now to solve the problem with my sluggish wireless network...