Skip links
Main content

Procurios TechBlog

RSS icon linking to RSS overview

New blog:

Sunday 16 June 2013 09:34 We have started a new blog with shorter blog posts: The blog you are now reading may still be used for larger, technical articles. full story

How to migrate MySQL databases without downtime

Saturday 25 February 2012 14:21 It is time for me to write a new techblog article, not only because it's been a while, but mostly I found myself going through my old notes again and again. This time I'm going to write about copying MySQL databases ... full story

Friend classes in PHP

Monday 30 May 2011 15:30 Have you ever found yourself writing comments like this: "Do not use this function!! Used by class X only!!!"? Or even exposed some of a class' internal structures just to speed up your application? Then friend classes may be what you need. full story

1 Javascript event handler

Monday 25 October 2010 20:00 As I was implementing a datagrid GUI component, the number of events to be handled increased more and more. In order to cope with their complexity, I had to think of ways to organize these handlers to keep my code simple and readable. full story

Fragment Cache - an introduction / PHP

Thursday 10 June 2010 22:00 This article will introduce you to that powerful new form of website speed optimization called Fragment Caching. It builds upon ideas used elsewhere to make the technique even more powerful. full story

MySQL GET_LOCK() explained

Wednesday 02 June 2010 18:10 I've seen many questions arise around the MySQL GET_LOCK function. Some people complain it's broken, but it's not: You need to harness the power of GET_LOCK(). It's able to do unique things. full story

Locking multiple objects in MySQL

Sunday 17 January 2010 11:41 I was looking for a way to lock several objects in a single transaction. It took me some time to figure it out, but it turned out to be very simple.
full story

Mark unread tabs in FireFox

Sunday 03 January 2010 14:16 I'm a heavy FireFox user. When doing research these days my primary source of information is the web and the browser is my primary application. So I'm interested in everything that makes my FireFox life easier. I'd like to share the best tweak I know. full story

Upgrade to PHP5.3 using dotdeb debian packages

Wednesday 12 August 2009 10:54 Currently we are testing PHP 5.3 on some of our production servers. It has a quite stable feel to it. I expected much more problems. Although we had to modify our sources a bit, (To avoid this bug for example. Using ... full story

Cache a large array: JSON, serialize or var_export?

Monday 06 July 2009 10:30 While developing software like our framework you will need to cache a large data array to a file at some point sooner or later. At such a point you need to choose what caching method you will be using. In this article I will compare three methods: JSON, serialization and var_export() combined with include(). full story

ProtoFish: advanced hover menu based on Prototype

Wednesday 17 June 2009 16:42 ProtoFish is an advanced hover menu based on Prototype. You can easily add a delay to your menu (on mouseout) and choose your own hover class. All ProtoFish menu's are keyboard accessible conform ARIA best practices. On top of that: it's fully customizable and free to use! full story

Semantic web marvels in a relational database - part II: Comparing alternatives

Monday 15 June 2009 20:09 In this article I will compare the basic technical details of current relational database alternatives. full story

Semantic web marvels in a relational database - part I: Case Study

Monday 01 June 2009 11:03 You have heard about the semantic web. You know it is described as the future of the Web. But you are still wondering how this vision is going to make your applications better. Can it speed up application development? Can it help you to build complex datastructures? Can you use Object Oriented principles? This article shows how it can be done. And more. full story

Syntactic Sugar for MySQLi Results using SPL Iterators

Tuesday 12 May 2009 09:26 Ever wondered why you can't use foreach() on MySQLi Results, and instead have to write less convenient while() loops with fetch_row? Actually, you can use foreach() on MySQLi Results. All it takes is some SPL Iterator magic. full story

Calculate ISO 8601 week and year in javascript

Wednesday 22 April 2009 14:18 For one of our projects I needed to be able to calculate the current weeknumber and corresponding year of a given date... in javascript. Not really a big deal, just calculate the number of weeks between the requested date and the 1st of January that year and you're done, right? Wrong! full story

CSS Rendering problems in IE8? Fix your conditional comments!

Friday 03 April 2009 17:29 Are your existing websites incorrectly rendered by IE8? Do you have a hard time getting IE8 to render your CSS correctly? The core problem may be incorrect usage of conditional comments... Ofcourse, a fix is available in this article! full story

Testing Internet Explorer 8: CSS3 for Web Design

Monday 23 March 2009 10:55 CSS3 introduces many exciting new features for webdesigners and webdevelopers. These features can help you create some common webdesign techniques like rounded corners, opacity and dropshadows just by typing out some CSS rules. Let's find out whether Microsofts newly born baby, Internet Explorer 8, supports these CSS3 features or not. full story

Protection against SYN Floods

Saturday 14 March 2009 15:03 Just after lunch our office is a calm and peaceful place. The only sound comes from a handful of developers discussing possible solutions for a challenging problem in a project... full story

Transforming the button element with sliding doors and image sprites

Friday 13 March 2009 11:06 One of the elements lacking a standardized look is the button element. In this article, we're going to transform the buttons image from fixed to flexible and good looking using HTML and CSS. Let's get styling! full story

Issues upgrading to Lenny+Xen with a Broadcom NetXtreme II NIC

Friday 27 February 2009 10:44 I experienced some difficulties upgrading a Dell PE 2950 Etch Xen server to Lenny the other day. After performing the normal upgrade procedure, I noticed that my NIC was detected as being a Broadcom NetXtreme II (bnx2) but I was warned to install the firmware-bnx2 package. full story

Everything You Always Wanted To Know About Character Sets In Webdevelopment * But Were Afraid To Ask

Saturday 24 January 2009 21:07 This writing is about character set in the webdevelopment area. I will explain about character sets in general and then go into the specifics of character sets in the field of webdevelopment, focusing on PHP, MySQL, HTML, HTTP, XML, CSS, Javascript, and Ajax. full story

Mimetype corruption in Firefox

Saturday 27 December 2008 11:33 If you upload a file through Firefox, it may send the wrong mimetype for this file. This article dives into mimetype handling of browsers, explains why the Mozilla team has a hard time fixing the bug, and what we as developers can do about it. full story

PHP myths confused

Thursday 18 December 2008 17:16 Every now and then, when you least expect it, PHP behaves in an unexpected way. I was ready to file a bugreport, when I noticed it was documented behaviour. full story

Reinstalling your remote debian server

Tuesday 09 December 2008 08:07 This article is about reinstalling your remote server. Maybe you made a mess of your machine, your development machine is taken by sales as a demo server, your webserver gets a second life as a mailserver. Sometimes you just want to start over. Everything would be easy if you could just put the debian etch cd into the cdrom drive and access the console. But you can't. Your server is in a datacenter and you don't trust the goons walkin' around there to know the difference between the eject button and the power switch.
full story

How do I write my own parser? (for JSON)

Friday 05 December 2008 09:00 If no parser is available for the file you need, writing one yourself may be easier than you think. What file-structures are managable? What would be the design of such a parser? How do you make sure it is complete? Here we describe the process for building a JSON parser in C#, and issue the source code. full story

Three-way merge for HTML

Wednesday 03 December 2008 09:21 On-line editing allows you to collaborate work on a document by multiple users at the same time. But what happens when the changes are committed? This article describes the issues that arise when you implement a merge-tool for HTML sources. full story