Postfix 451 4.3.0 Temporary lookup failure

You set up Postfix and attempt to send the mail, but receive an error saying “451 4.3.0 Temporary lookup failure”.

Check to see if you have /etc/postfix/transport file. If you don’t, run the command below and try again:

  • cd /etc/postfix
  • touch transport
  • postmap transport

Obfuscate PHP code

So you write some software in PHP and are about to upload it to the server. But what if the server is not secure, what if it gets compromised, what if somebody steals your intellectual property? There may be situations where you are really concerned about it.

In most situations the best practical solution is to simply obfuscate your code, by making it unreadable to humans. It can still get stolen and used as it is, but it is very hard to practically impossible to restore the logic behind the code. And that is sufficient in most situations.

Quite good tool for that is YAK Pro. It works really well for small projects. As your project gets big and complicated, it begins to mess up the code, which makes the output unusable. But for small projects it is just fine. See for yourself, if you can make use of it.

The easiest way to install it is to use git.

1) Go to the directory where you want to have the obfuscator directory created, then type:

git clone

2) Change into the newly created directory and again type:

git clone –branch=1.x

NOTE: It is “branch” with two dashes “-” before it, WordPress may mess up the text formatting.

Afterwards you may test it in action.

Read the rest of this entry »

Desktop wallpaper switcher for Linux Mint

Those of you who have used Mac know that having ability to set different wallpapers for each of your workspaces is a nice feature.

Unfortunately such feature is not [always] available in Linux.

But, turns out that you can easily add this feature on your own.

Your system already has the utility xprop, which allows you to monitor your desktop parameters, and gsettings, which let you change desktop configuration on the fly. You just need a simple script to tie all that together. Feel free to copy the code below:

 # This script runs in background, waiting for you to switch to
 # another workspace, so that it can change the desktop wallpaper
 # accordingly when you do.
 # Tested on Linux Mint 18 Mate
 # Script by crcok from:
 # Based on the script by garolou from:
 # If you know how to make Linux Mint Mate display a different set
 # of desktop icons for each of the workspaces, please come to
 # and share your ideas in comments.

# Edit this. Your wallpaper directory. Don't forget the trailing slash.

# Edit this. Wallpaper image file names. One for each workspace you are using.

# This is a function nicely encapsulating a call to the desktop.
 # Note that it is Mate and not Gnome we are talking to here.
 setdesktop() {
 gsettings set org.mate.background picture-filename "$desktop_dir$1"

# The main loop. Every time you change to another workspace,
 # xpropr will output its number and thus will trigger the change.
 xprop -root -spy _NET_CURRENT_DESKTOP | (
 while read -r; do
 setdesktop ${desktop_img[$desk]}

Use PID of child process in bash

Launch a child process, get its PID, show a message, wait for the child to complete and show another message:

  • ls -R /var >> /dev/null &  echo PID $! running; wait $!; echo PID $! completed


  1. Use of & after the command is mandatory, or else you will not get the PID you want.
  2. Using asynchronous execution in combination with wait command is, obviously, equivalent to using a synchronous call, except that it gives you more power.
  3. Using wait with no arguments will make the parent process to wait for all children it ever spawned, using wait with a PID will make it wait only for that particular process.



Wireless networking does not work after reinstall of Windows XP on Fujitsu-Siemens Amilo L1310G

So you reinstall Windows XP on a Fujitsu-Siemens Amilo L1310G, using ordinary retail disk and not the restore disk which originally came with the laptop.

First you bump into the problem of missing drivers, which can be solved by fetching the drivers from here.

But then you stumble upon another problem – the Wi-Fi does not work. The hardware, the drivers seem to be Ok. But at the Wireless Network Connection it says “not connected”. The Wi-Fi light is off. Pressing the special button in the four-button row above the keyboard does nothing. You may search for the wireless networks, but it finds none.

The solution is counterintuitive. You have to fetch the “Power Manager silent mode/RF” utility for another laptop model (AMILO A1655G) here, and install it. This takes care of the functionality of the dedicated Wi-Fi button ant lets you switch on the wireless networking. You press the button, the blue LED goes on, voila…!

Mount TrueCrypt volume from command line

You can mount/unmount TrueCrypt volumes from command line or .BAT file automatically, using key files, like shown below.

This example uses two key files to mount the encrypted disk image as drive T. Both shall be present for the encrypted volume to be mounted.



"C:\Program Files\TrueCrypt\TrueCrypt.exe" /q /s /l T /v "C:\Usr\Data\User.dat" /k "E:\Keys01.key" /k "F:\Keys02.key" 


"C:\Program Files\TrueCrypt\TrueCrypt.exe" /q /s /d T 

Hiding user name at Windows XP login screen

So you have created this extra user name for use just in case, and do not want it to be eye sore at your Windows XP login screen (and User Accounts management panel in Control Panel as well, btw).

  1. Just fire up regedit,
  2. go to HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
  3. Create a new DWORD value and give it the name of the User
  4. Then enter its value either 0 for hiding, or 1 for showing up

If you want to log in into the hidden user account, just press Ctrl-Alt-Del twice and log in as usual (though some people say they have experienced problems with, so be careful and don’t lock yourself out of your system by accident)