One of the most basic security features of any laptop or workstation is the ability to lock the sscreen. It might be convenient in many other, non-security related, scenarios as well. In most cases, this feature works without user's intervention on most of the Linux distributions, yet it did not work for me in Xfce4 with LightDM on Arch Linux. As I understand, Xfce does not have its display manager, so it relies on third-party solutions, mostly Gnome Display Manager (GDM). As I prefer Xfce as my desktop environment, I did not want to install GDM as it needs many Gnome libraries to work. Because of this, I decided to use LighDM as my display manager, which is more desktop environment agnostic and lightweight. Unfortunately, Xfce lacks proper integration with it (at least in Arch Linux). In this post, I want to provide a solution to this problem. Moreover, I believe that information in this post might give some ideas to the users of the other desktop environments and window managers on how to integrate them with LightDM. (continue reading)

Like many other users, I find it convenient to connect an external monitor to my laptop sometimes. As I often do this, I expect this functionality to work flawlessly but, unfortunately, I experienced some problems when using LightDM on Arch Linux . By default, LightDM tries to mirror data on multiple displays, and it does not work well when you have monitors with different resolutions. In this post, I want to share my solution to this problem. I expect that this solution might be useful not only for laptop users but for the workstation users with multi-monitor setups as well. Moreover, if LightDM's user interface sometimes stops responding to your actions, this post might be useful for you. (continue reading)

Recently I needed to query registry values from within Emacs. Emacs, being a cross-platform application mostly tailored to work on UNIX-like operating systems, lacks this functionality. As you can expect, I ended up writing a code which accomplishes the task. (continue reading)

Recently I have encountered a problem while using a new laptop - sleep mode did not work reliably. Sleep mode is an important feature for me, so this state of affairs was not acceptable. The fix was rather illogical and it is impossible to accomplish via settings in the graphical user interface tools provided by the Windows operating systems. If you have newer hardware and ever encountered the issues when your Windows-based laptop will not go into sleep mode or will not wake up reliably, or you would put your laptop into sleep mode only to find two hours later that it is active and hot in your backpack - please, continue reading. Probably I have a solution for you worth investigating. (continue reading)

If you use GNU Emacs on Windows you might have noticed that on the official site the only download option for this platform is a ZIP-archive, no installer is provided. It is, of course, a very compatible option and, probably, most of the GNU Emacs users can integrate it with the operating system manually. Nevertheless, I think that there is no need to make it harder than it should be. It would be great if there was an installer. (continue reading)

Today, as I announced earlier, the Corman Lisp 3.1 has been released after more than a decade-long break. Somehow it happened that I am one of the active maintainers of the Corman Lisp, so, I think, it might be appropriate to make a post on this site about how I became a maintainer, what motivated me to work on it and why I believe it is important. You will not find the release notes here because I think it is not the right place to post them. If you have at least mild interest in this implementation, I would suggest you to continue reading. (continue reading)

Recently I have completed my tiny DIY-project: an external antenna for a 3G modem/router so I decided to make a post to provide some additional details as well as to publish some photographs. You can find them at the end of the post. (continue reading)

Whatever they say, writing System-V style UNIX daemons is hard. One has to follow many rules to make a daemon process behave correctly on diverse UNIX flavours. Moreover, debugging such a code might be somewhat tricky. On the other hand, the process of daemon initialisation is rigid and well defined so the corresponding code has to be written and debugged once and later can be reused countless number of times. (continue reading)

Today I want to share with you some code which helped me to track down a problem in a rather complex networking VoIP application. I believe it might be useful in other scenarios as well. (continue reading)

Today I replaced jekyll-feed plug-in on the site with a feed temlate to make it easier for me to manage and tune the RSS feed settings. As a result, you might encounter some problems if you are subscribed on this site via an RSS reader. In this case, please, resubscribe. (continue reading)

The first thing I install on every UNIX machine on which I have enough administrative rights is tmux (terminal multiplexor) - I feel uncomfortable to connect to it via SSH otherwise. For example, you could encounter some problems with your Internet connection - any sudden disconnect might disrupt a lengthy operation like backup which might have been initiated from within the remote terminal session. I want my remote session to be persistent. (continue reading)

So, here goes yet another technical blog. The need to make one emerged after the realisation that I miss technical writing a lot since I left a university. Moreover, I hope that it will help me to improve my written English. (continue reading)