AjaxTabbedPanel in combination with AjaxLazyLoadPanel

Wicket (extensions) offers a AjaxTabbedPanel to take care of your tabs. The constructor of the AjaxTabbedPanel expects a wicket id (obviously) and a list of ITabs. The implementation of this interface should return the panel via getPanel(String panelId) which will be the ‘actual’ tab. Out-of-the-box Wicket (extensions) offers an abstract implementation of this interface (AbstractTab).

What I want to achieve is that an AjaxIndicator (loading image) will be shown on the place were the actual panel will come till it is completely loaded. Especially when you have a lot of components to render this can be handy. See image below.

Example

Example

Continue reading AjaxTabbedPanel in combination with AjaxLazyLoadPanel

WordPress application on iPhone

This test entry is submitted via my iPhone. I was looking for a free application which is able to write/edit blog entries and manage comments. I think this application will fit my needs. ūüėČ (More info)

Synology released new firmware (DSM v2.2)

A couple of days ago Synology released new DSM firmware (v2.2) with a big list of new features/upgrades/fixes and improvements. For the whole list, please click here. Synology even offers/supports 2 free iPhone applications (DS Audio and DS Photo)!! Those applications allows you to play your own music ,stored on the NAS, on your iPhone and easily upload/share your photo’s.

Hibernate SQL logging

When you turn on Hibernate’s SQL logging during Java development (e.g. log4j.logger.org.hibernate.SQL = debug, console), you won’t see values (only a ?) which will be/are used in a query.
e.g.

select this_.id as ID113_4_ ........ from INCOMINGMESSAGE ... where this_.STATUS=? and this_.FOO=?

Now turn on some extra logging (log4j.properties):

log4j.logger.org.hibernate.type = trace, console

Now you’ll see some extra information like the type (StringType / EnumType / etc.) and the value:

select this_.id as ID113_4_ ........ from INCOMINGMESSAGE ... where this_.STATUS=? and this_.FOO=?
DEBUG org.hibernate.type.EnumType  - Binding 'UNHANDLED' to parameter: 1
DEBUG org.hibernate.type.StringType  - Binding 'Bar' to parameter: 2

Note: When your application uses big queries then you’ll get a lot of extra logging\!

A lot of spam? Check for X-Spam-Status.

The last couple of months I received a lot of spam on my e-mail address which I am using for my soccer club. When I contacted my provider they told me that they do check for spam and that they put the results of this in the email header. In the email header you can find something like this:

X-Spam-Status: No, score=0.001 required=5
In case of spam:
X-Spam-Status: Yes, score=16.401 required=5

If the score is above 5, the X-Spam-Status flag is set to Yes. In your email application like Microsoft Outlook you can create a rule to check for this status and remove (or move) those emails.

Continue reading A lot of spam? Check for X-Spam-Status.

Synology unveils Diskstation Manager 2.2

The Disk Station Manager 2.2 is expected to have its beta in July and official release in September. It will have some nice features, like:

  • iSCSI Target Support
  • iPhone Support – Photos, Music and Files
  • Apple Time Machine Support
  • DLNA Compliant Media Server
  • Built-in Firewall
  • New Surveillance Station 2 – SMS and More
  • New Download Station 2 – RapidShare and RSS Support
  • NTFS Write on External Drive
  • System Resource Monitor
  • Source: Synology.com

    Javascript Compressor

    When you download JQuery plugins there are often two versions. A ‘normal’ version and a compressed (*.min.js) version. The purpose of this compressed file is to speed up your application, especially for slow speed internet connection. A very good website/tool to compress your Javascript files is http://dean.edwards.name/packer/. I tried a couple of files and it will reduce the JavaScript file size with 50%.

    Continue reading Javascript Compressor

    Wicket’s RequestLogger

    Wicket provides you with a build-in request logger. It can give you a lot of information. See also example below. To activate this logger you have to enable the logger and setup (in our case) some Log4j configuration. In this post I’ll show you how to get this done.

    Continue reading Wicket’s RequestLogger

    New firmware Synology DSM 2.1.0839 released

    Today Synology released a new firmware version (2.0.0839). It is recommended to install this version because it will fix a security issue.

    Change log:
    DSM 2.1-0839 fixed a security issue by disallowing general users to access other users’ home folders through Samba. Users who are using the User Home Folder feature are encouraged to upgrade to the current version.

    For File Station 2, DSM 2.1-0839 enhanced progress display when copying files and download handling for Internet Explorer 8, and fixed the failure of setting group privileges for sub-folders.

    For Download Station 2, DSM 2.1-0839 improved special character handling for eMule service and fixed error download progress when download is finished.

    DSM 2.1-0839 applies to the following models: DS209+, RS408, RS408-RP, DS508, DS408, DS108j, RS407, CS407, CS407e, DS207+, DS207, DS107+, DS107, DS107e, and DS-106j.

    Synology: http://www.synology.com/download
    Synology Mirror: http://ukdl.synology.com/download/ds/

    Subversion pre-commit hook

    When you commit a file or files¬†to your repository it’s not, by default,¬†required to fill in a message or comment. If you want to force your users to do so. then you can use the pre-commit hook. A pre-commit hook is a script which will be evaluated and if everything is fine then it will exit with code 0 and commits the file(s). This script is very powerfull and can be written in different languages like Python, Perl¬†or Bash.¬†This article describes a simple pre-commit hook.

    Continue reading Subversion pre-commit hook