Category Archives: Software

Scan Magic With Scan Tailor

If you do a lot of newspaper scanning you know the problem: grey backgrounds, blurry pictures. No longer. Using Scan Tailor, a high quality scan is just six mouse clicks away. Scan Tailor is available for Windows and Linux – and it’s free as in free beer. Would someone please port this to the Mac?

Before Scan Tailor

Before

After Scan Tailor

6 clicks Later

Scan Tailor not only optimizes the pictures and cleans the background. It also deskews the image and can handle multiple images in one go.
Continue reading

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

Porting For The Sun: The Zlib Problem (ld.so.1: exe: fatal: relocation error: R_AMD64_32:)

With the recent update of the Sun Studio 12 compiler set I started seeing errors like this when compiling for example MySQL from source:

ld.so.1: exe: fatal: relocation error: R_AMD64_32:

Turns out that it was Zlib 1.2.5 causing the problem.
Continue reading

Bash: Dynamic Variables

Every once in a while I need to use dynamic variables in shell scripts for doing things like

echo ${{$foo}_bar}

but unfortunately it won’t work like shown in the example above.
What will work however is this:
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

Dnsmasq for ReadyNAS (Sparc & Intel)

Two things I’ve always missed on the ReadyNAS were a DNS server to serve my local network and a fully fledged DHCP server allowing me to assign IP addresses to my machines based on their MAC address. Dnsmasq can do both and more. It even integrates a TFTP/BOOTP/PXE server to boot diskless machines off the network. So I dived into the realms of add-on programming again and baked some add-ons ;)

Continue reading

iSCSI Enterprise Target 1.4.20.1 for ReadyNAS (Sparc)

And yet another update: Took me some fixing of the sources but I finally was able to build a new release of the iSCSI Add-On for ReadyNAS. This release adds a lot of stability fixes of which mainly Solaris and Windows users will profit.

Get it here: iSCSItarget_1.4.20.1-readynas-1.0.3.bin (ReadyNAS Sparc only!)

Continue reading

WebSVN 2.3.1 for ReadyNAS (Sparc & Intel)

Since I was already updating the SVN stuff for the ReadyNAS line I thought I might as well upgrade the WebSVN add-on. So here we go:

ReadyNAS NV(+)/Duo/1100/X6: WebSVN_2.3.1-readynas-1.0.0.bin
ReadyNAS Pro/NVX/2100/3200: WebSVN_2.3.1-readypro-1.0.0.bin

Continue reading

Subversion 1.6.11 for ReadyNAS (Sparc & Intel)

Since I had some spare time I decided to upgrade my Subversion add-on for the ReadyNAS line. For a complete list of changes since the last version (1.6.6) see the official changelog.

Downloads:
For ReadyNAS NV(+)/Duo/1100/X6: subversion_1.6.11-readynas-1.0.0.bin
For ReadyNAS Pro/NVX/2100/3200: subversion_1.6.11-reaypro-1.0.0.bin

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

Varnish 2.0.5 released

As mentioned here, Varnish 2.0.5 has been released. Changes include performance improvements on Linux and reduced memory consumption when processing ESI. Going to test it on this site in a few …

Continue reading

Bacula 3.0.3 for ReadyNAS NV/NV+/Duo/1100/X6

Just a few days after I released Bacula 3.0.2 for ReadyNAS it’s time for an update. With Bacula 3.0.3, the developers included another bunch of bug fixes and enhancements. Update on the ReadyNAS should pose no problems since I also renamed the sample configuration files.
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

It comes by night and sucks the essence from your computers

Today, after some intensive initial beta testing by Jan-Piet I decided to release Bacula 3.0.2 for ReadyNAS NV/NV+/Duo/1100/X6.

For those of you who don’t know Bacula and what it does: The headline says it all. Or to quote the website:

Bacula is a set of Open Source, enterprise ready, computer programs that permit you to manage backup, recovery, and verification of computer data across a network of computers of different kinds. In technical terms, it is an Open Source, enterprise ready, network based backup program.

That said, you should know that’s it’s not a snap to configure, so be sure to read the documentation or at least have a look at the quick walk-through provided by Jan-Piet.

{openx:6}

ZFS on the Mac: The power to forge

Dustin Sallings writes:

Then today, I read this:

The ZFS project has been discontinued. The mailing list and repository will also be removed shortly.

That made me very sad, so I decided to do something about it.

And so he did: ZFS/Mac archive on Github
There’s even an installer for Snow Leopard in pkg format.
But please keep in mind his warning before trying it out:

You still need to kind of know what you’re doing to make use of it.

iSCSI target 1.4.18 for ReadyNAS Duo/NV/NV+

Today I released the iSCSI Target Addon 1.4.18 for the Sparc based ReadyNAS series. There’s not only the dramatic change in the version number. In addition a lot of changes happened behind the scenes:

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