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.

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!

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

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

Roxen CMS and XHTML

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

Welcome!

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

Sep 24, 2017

Categories

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 http://animatedpng.com/ ... 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 http://shader.kaist.edu/sslshader/ 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.