Development Blog

JPEG acceleration with libjpeg-turbo

2011-04-24, 16:16 by Jonas Wallden in Development

Pike, the language environment in which Roxen products execute, includes a very common open-source JPEG library called libjpeg. This library implements decoding and encoding of JPEG images and has been used for years and years. If you work with RXML you have probably used <cimg src="..." format="jpeg" /> at some time or another to generate image thumbnails.

Recently I stumbled upon a variant called libjpeg-turbo which has been designed as a drop-in replacement for libjpeg. The developers claim 2-4x faster execution due to large amounts of hand-written SSE assembly for Intel x86 and x86_64 architectures. The library has been adopted by Chromium and Firefox and that's naturally a stamp of approval that greatly reduces any fears of incompatibilities or future abandonment.

Read the rest of this entry

ActionFS coming to Roxen WebServer

2011-03-11, 13:15 by Jonas Wallden in Development

During our extensive refactoring of Roxen Editorial Portal v5 we laid the groundwork for creating highly dynamic web applications on a large scale. We wanted to create a server/client messaging system that is more lightweight than a full page request while providing a number of powerful capabilities:

  • Both server and client can initiate message sending at any time. The client can also subscribe to server messages of known types and be notified when something has happened server-side.
  • It is possible to return structured data (arrays, hash tables etc) to the client.
  • Multiple requests and responses can be in-flight simultaneously and arrive in any order.
  • The code needed to make a request or implement an action is minimal thanks to object-oriented framework classes that carry the heavy work.

Read the rest of this entry

Developers, developers, developers... (Part 2)

2010-09-26, 16:20 by Jonas Wallden in Development

"Eat your own dog food" is a popular way to articulate that developers should use their own products in real-world projects. The idea is of course that we should understand the work environment of our customers and make sure the product handles those tasks well. I can guarantee that all of Roxen's developers do this routinely, though over the years one may develop a blind spot for certain shortcomings.

One such feature that the CMS is currently missing is something that I personally have worked around using command-line tools to the extent that it's become second nature. However, seeing other people struggle with the same problem recently has reminded me that we could do better. What I'm referring to is repository searching.

It happens every day that I need to find XSLT templates, CSS declarations, RXML variables, JavaScript functions, HTML comments or other pieces of code. Not only is it helpful in sites I've developed myself – it's doubly so in projects where other people have written the templates and stylesheets. The workaround I've lived with is to use grep directly in the repository directory but that is far from user-friendly and suffers from drawbacks such as getting hits in deleted files or not understanding language forks.

Read the rest of this entry

Developers, developers, developers... (Part 1)

2010-08-05, 17:13 by Jonas Wallden in Development

If you are reading this, chances are you develop web applications in RXML and XSLT. If so you are probably familiar with the XSLT profiler that was introduced in Roxen CMS 5.0, and of course the old friend Resolve Path in the Administration interface. Both are useful in debugging CMS web sites but to be truthful they also have a pretty high threshold that can prevent you from using them effectively:

  • You need access to the Administration interface.
  • You must have server console access to enable the XSL profiler.
  • Collecting many reports involes a lot of tedious copying/pasting of URLs.

Read the rest of this entry

Windows Application Launcher 3.1, new release.

2010-05-21, 13:21 by Erik Allemann in Development

After some time of internal testing we're making the updated RAL for Windows available for the public. Please grab a copy and let us know what you think of it.

Coming soon – A new RAM cache

2010-03-22, 21:39 by Jonas Wallden

Last year Martin Jonsson blogged about the HTTP compression feature he was working on, and although it's not yet been enabled in standard 5.0 builds it will be in the near future. As Martin wrote you can test it now by using the -DHTTP_COMPRESSION start flag.

Another recent development which is about to leave the lab is a brand new RAM cache module. Like the HTTP compression capability we are giving it some real-world stress testing before enabling it universally but soon we will flip the switch and make it official.

Read the rest of this entry

Windows Application Launcher 3.0 Update

2010-01-08, 13:56 by Martin Pedersen in Development

It has been a while, but we have finally come around to finalize our work with the application launcher for Windows.

We are pleased to be able to present to you an application launcher built on the .NET 3.5 framework using C#. The program itself has been tested and should be working on Windows XP, Vista and the newly released Windows 7.

Thanks for all the support and bug reports during the beta-phase. As always, much appreciated. Please try the new version and let us know what you think!

Decoding mysteries of encodings

2009-07-08, 17:25 by Jonas Wallden

By now I'm sure no-one has missed that we've finally shipped Roxen CMS 5.0! This posting is not specifically about the new version but I'll definitely return to that subject in future articles. Today I'll instead bring up a topic that can be a great source of confusion, namely character encodings. After reading this you'll hopefully have a clearer understanding of how Roxen works and I'll share a couple of suggestions along the way that should let you avoid the most common pitfalls.

Read the rest of this entry

Roxen CMS 5.0 out!

2009-06-03, 13:37 by Erik Allemann in Development

Just a quick note:

In case you hadn't noticed. Roxen CMS 5.0 is out! This also obviously means a new Roxen WebServer 5.0 and a new Roxen CMS 5.0 PE is out there to explore too.

Go check them out and let us know what you think in the Planet Roxen Forums.

Windows Application Launcher 3.0/3.1 Public Beta

2009-03-12, 09:01 by Martin Pedersen in Development

Finally we are able to provide you with a public beta of the brand new Application Launcher for Windows. This new version adresses many issues that we have had with the older versions and also incorporates support for Roxen Editorial Portal. 

We look forward to hearing your thoughts and strongly encourage you to report any bugs you might stumble upon.

Read the rest of this entry

HTTP protocol compression in WebServer 5.0

2009-02-09, 08:53 by Martin Karlgren

In Roxen WebServer 5.0, a new feature will be introduced in the HTTP protocol module that should improve both web site visitors' perception of performance and reduce the bandwidth needed for the site's servers: gzip compression. The code is still considered experimental, although it's been briefly tested with some pretty good results.

Read the rest of this entry

XSL in Roxen CMS 5.0

2008-10-03, 18:20 by Jonas Wallden in Development

Now that we have announced Roxen CMS 5.0 I'd like to describe some XSL changes that will arrive shortly. In this posting I'll highlight three areas: profiling, compatibility and performance.

Read the rest of this entry

Community Update (Sept 26, 2008)

2008-09-26, 09:36 by Martin Pedersen in Community Update

This is a community update. Hopefully this will be a recurring tradition on the Planet. A chance for you to get a glimpse of what's going on.

There has been a lot of thoughts and discussions held about the User Conference. One thing is clear, Planet Roxen has greatly benefited from the conference. We believe that without the presentation given by our support manager Marcus Wellhardh and other colleagues highlighting the community we would not have as many registered users as we have today.

Also a big thanks to all of you who has posted and helped us get things started. 

Read the rest of this entry

Roxen CMS and XHTML

2008-09-01, 11:10 by Jonas Wallden in Development


First, a warm welcome to all readers of our new Planet web site! I and my colleagues will try to blog regularly on topics that relate to Roxen and the web in general. I've already collected some ideas on tutorials and tricks covering RXML features and CMS development that I want to talk about here.

Read the rest of this entry

Planet Roxen Begins

2008-03-10, 17:24 by Administrator in New sites

Roxen has started the development of a new community site for all Roxen users worldwide. Our goal is to create a site that can be used by anybody who is involved with or interested in the Roxen software suite, the pike programming language and webdevelopment in general.

Developing this site is one step in the process of reaching out and creating an environment where users and developers can exchange information and experience with one and another.

The community will of course run on a Roxen server using the latest and greatest additions to the CMS such as the new blog module with some custom additions. The community will be totally standalone with no significant connection to the corporate site, which will be running as usual.

Feb 24, 2018


Community Update (1)
Customers (0)
Development (10)
New sites (1)

Latest comments

The library is a drop-in replacement for libjpeg so I don't think I did much aside from having the library search path point to the correct location. Nowadays we build it automatically in our build system so I don't have a minimized build command handy, but if you experience any issues I can dig deeper and hopefully find some clues.
This is a bit unrelated but how exactly did you compile ImageMagick with libjpeg-turbo on Mac OS X.
Now you mention replacing image libraries... This could enable support for animated PNGs in Pike, similar to animated GIFs ... seems to be supported by at least Firefox and Opera (and people are asking for it in Chrome, if not already there?)
As for some gpu-supported enhancement, the page at describes a research project where a group of people achieved a 2 to 4 times gain in SSL performance by offloading RSA, AES and HMAC-SHA1 calculations to a gpu. Could be some nice food for thought for more of these enhancements.
Wow, that's an impressive gain! I've often been wondering if there would be any gain in using libraries which use the gpu for encoding and decoding images on the Roxen platform, while this library already provides an impressive improvement on the cpu itself and even is completely compatible. I'm curious to find out what the impact when it's running on our platform.