Category Archives: internet

Building A 64-bit Resin On Solaris 10 Using SunStudio 12u1

This has been bothering me for quite some time. Resin is one of the best application servers I’ve come across. But to get the best performance out of it, you need to recompile it for your platform. While this is no problem on Linux it never quite worked out on Solaris for me when using SunStudio 12. But now I finally made it happen. Here’s how.
Continue reading

WordPress 3.0: In the Update-Loop

After updating my WordPress installation to 3.0 I was stuck in the Update Loop. Every time I tried to access the admin interface WordPress would send me to the database update page where it then would say “No Update Required”. Turns out that WP-Cache was the culprit. After killing and restarting my memcache daemon I was finally able to complete the upgrade and manage WordPress again. What will take some more time to fix will be all the remaining problems like no longer working JavaScript functions.
Continue reading

Apache Patch: Pass environment variables to backends connected via mod_proxy_ajp

One popular method to connect Tomcat or JBoss to the Apache web server is using mod_proxy_ajp. This of course works very well except for the case where you want to pass some environment variables to the backends. This is especially true for those who want to implement a 404 error handler using Java or other languages backed by Java. A common request is to be able to pass the values of the REQUEST_… variables defined by Apache to the error handler. While the AJP13 protocol would actually allow for that to happen, mod_proxy_ajp doesn’t offer that functionality. Luckily it’s quite easy to patch the functionality in. All you need is the Apache source code. Download and unpack, then open the file modules/proxy/ajp_header.c in your favorite text editor. Look for this code snippet:
Continue reading

Code of the day

#if __APPLE__ && __MAC_OS_X_VERSION_10_5
int inxorcise(int nochdir __attribute__((unused)),
              int noclose __attribute__((unused))) {
    fprintf(stderr, "Apple does not want programs to use
        daemon(3) and suggests using launchd(1).  We don't
        agree, but their dad is bigger than our dad.\n"
);
    exit(1);
}
#endif

Continue reading

Give more threads to Varnish

When running my preferred proxy cache Varnish on Linux I realized that I couldn’t start enough threads on heavily accessed systems. As I found out, reducing the stack size is the key to get to the number I need. Oh well, if everything would be easy, I wouldn’t get paid I guess ;)
Continue reading

Move it, move it (a.k.a. “Screw it up the IBM way”)

I work with web sites for a living. I give them a place to live, I trash them when they’re no longer needed and I also move them. And believe me, moving a site is the trickiest of the jobs. But in all of my professional life, I’ve never ever seen a blunder like this (output shortened for brevity):

crow:~$ dig developer.lotus.com
; < <>> DiG 9.6.0-APPLE-P2 < <>> developer.lotus.com
;; QUESTION SECTION:
;developer.lotus.com.		IN	A

;; ANSWER SECTION:
developer.lotus.com.	127	IN	CNAME	192.147.106.27.
192.147.106.27.		0	IN	A	67.215.65.132

Really. Did they outsource the last thinking person in their networking department? Ok, maybe they fixed it and the change just hasn’t trickled down. So let’s try a different approach (again, shortened:)

Continue reading

Remove outdated languages from Ubuntu’s Firefox

Always on the bleeding edge I like to use beta versions of upcoming Ubuntu releases. This sometimes poses a little problem: More often than not, there come outdated language definitions with Firefox, causing some minor annoyances.
The biggest annoyance of which is that you just can’t seem to delete those offending addons:

firefox-undeleteable-addons

The solution, albeit simple, is harder to find:

Continue reading