Stig Runar Vangen homepage
Blog

Blog

PostMaster on Chrome Web Store

Chrome Web Store was just launched, and I wanted to test how the publishing process compared to the process of publishing your application on Android Marketplace. I added a simple application in form of a web shortcut, and published PostMaster there.
Friday December 10. 2010

Tic Tac Toe for Android

Lately I've been playing around with the Android SDK, and made some interesting prototypes for apps and games. To test out how the Android Marketplace publishing process works, I've decided to port a simple old game I made way back over to Android. This game is called Tic Tac Toe.
Monday September 6. 2010

Fuel injection for Wisweb

For little over a month ago I did some rather large changes to how Wisweb works. I rewrote the whole engine for page templates from ground up with a strong focus on performance and reliability. At the same time, the operations department changed the webserver. What did we gain by these changes?

Perfomance
The methods for fetching data from the database was completely rewritten. This rewrite resulted in an average reduction of database pressure by two thirds. In addition the techniques for building the pages were changed so much that the server generates the pages with minimal CPU usage. On top of this, we've added an internal cache for the generated pages which results in most pages does not get processed by the server at all. The sum of all these changes results in a lot more idle time for our servers, and we are ready to receive a lot more users.

Responsiveness
All these performance improvements resulted in a way better user experience for our users. Startup time for the intranet pages loads almost instantly. Both pages on the internet and the intranet are loaded way faster as a result of all this.

Predictability
This improvement is mostly for us who work with the system. With the changes I've made to the server we will always get the result we expect. This was also the case partially earlier too, but we now have no known weirdness factors.

Stability
The system will now give us better feedback when something does not go according to the plan. Some customers has lately experienced us calling them to tell them that the feature they couldn't get to work was finally working again. This without them taking contact with us to inform us about a problem. Their problem was found from the updated logs, and we knew from that which customer had problems. In addition I found a setting for our application server that let the users be logged in even though the servers has been down. Some customers has probably seen that they've been logged out of during the night if they left the computer logged into the system. Thse customers will not see this anymore unless they are working in the moment that we take down the application.

Conclusion
With the changes I've done to the systems lately, the system is in better shape than it has ever been. I've still got a lot of ideas on how it could be done better to give an even better performance, but that will have to wait for an another time. What we currently have will give us a lot more room as we start on the next version of the system.
Saturday March 6. 2010

Back to WIS

Now that Funcom is financially troubled, a lot of us were laid off. Unfortunately I was one of them. I decided I wanted to go back to what I was working on earlier, and am now working for Waade Information System again. It will be interesting to see how their systems have evolved since I left.
Monday December 14. 2009

Added search functionality

Search functionality have been added to these pages. It is now possible to search through the wast amount of material available on this site.
Sunday November 29. 2009

More content and better language switching

I've added some information on more of the projects that I've worked on at Funcom. That list should now be complete as far as I remember. In addition I've changed how the language switcher for these webpages work slightly. When you selected language earlier, you were sent to the front page of that section. Now you remain at the same page whenever language changes. This does not apply for the blog, as those entries does not have both languages. Older entries are in norwegian only, while newer are in english only.
Friday November 20. 2009

More functionality and content

I've added a new filter for projects, namely what technology a project uses. This will for example make it easier to find all projects I've worked on that uses Java.

In addition I've added a few more projects I've worked on. There will be more of these as I'll be gathering screenies and such.
Saturday November 14. 2009

Updated web pages

I've finally had time to update these webpages. The update has included a completely new design, converting the content that were there over to a nice CSS layout. I also decided to throw out all the code behind the page and use an existing framework. After trying out a few frameworks I found one that I really fell in love with, CakePHP.

CakePHP is a MVC framework that looked very promising from the start. While I was making these pages I run into some of problems, but the framework came to the rescue every time. I highly recommend it to everyone thinking of making a webpage.
Thursday November 12. 2009

Starting in a new job at Funcom

It is time to move on, and I am now leaving my old job and starting in a new job at Funcom. Here I will be working on a for now undisclosed project.
Monday October 1. 2007

Exporting images from Java

Lately I've been working on image processing for the Wisweb 2 project. I can safely say that the image processing we had in Wisweb 1 will be greatly improved. In addition to adding some new effects I've corrected a lot of bugs in the old version. Some functions also worked fine in the old version, but didn't always give optimal image quality. They will do that now.

The biggest issue I've met so far has been to export the generated images from Java after all processing has been done. This time we want to support correct export of transparent images. In the old version some pictures were in some cases turned opaque instead of transparent after some processing. All image operations does now support transaprent images.

The final piece of the puzzle is the export of images from a completely processed image to something that can be presented in a web browser. To begin with we want to support JPEG, GIF and PNG. There are many solutions out there, and there is not always the simplest or the most obvious solution which are the best. Java 6 does support export to all these formats, but there are some caveats with some of them.

JPEG
  • Java 6 - Top notch export of images. The quality can be fine tuned until you turn blue. Export of JPEG-images in Java has existes as a hidden library in the standard package since.. well.. not too long after the dawn of time, and is incredebly fast.
We decided to use the buildtin Java functionality without more hesitation here.

PNG
  • Java 6 - Pictures are exported perfectly, with correct transparency and all, but.. incredibly slow.
  • Catcode - Images did not preserve its transparency.
  • Objectplanet - Top notch speed, way better than the original. But.. some images got corrupted
The decision fell on the buildtin Java exporter, even though it was not as speedy as we wanted. If anyone knows of any alternative, please drop me a message.

GIF
An another challenge here: Convert true-color to 256 colors (color quantizing), transarency, blending.
  • Java 6 - Images were converted from true-color to an indexed palette, which resulted in a pretty bad color reduction, and lacked transaprency
  • ACME - Does not support color reduction.
  • Gurge - Does not support color reduction.
  • Gif4J - Really good color reduction. Transaprency were exported perfectly. Lacks blending only.
I've contaced the authors of Gif4J with regard to the blending, and got a positive feedback on this. Even without blending their library is the best library available today.
Thursday August 16. 2007