Posts Tagged ‘operating systems’

Make Apache webserver fix spelling mistyped URL errors and serve files case insensitive with mod_speling

Wednesday, July 16th, 2014

On most if not all modern GNU / Linux distributions, Apache webserver comes preinstalled with mod_speling.

What mod_speling does is it tries to find and serve files and directories for non-existing  (404 return code) urls with a similar name to passed URL. Other thing mod_speling does is it serves files case-insensitive, even though the UNIX / Linux filesystems are built to understand files case-sensitive.

mod_speling is a very useful module especially when files are being pushed (synchronized) to Apache visible from web document folder from operating systems like Windows whose filesystem doesn't store files case sensitive.

Let me give you a small example on M$ Windows a create file NewFile.html, NEWFILE.HTML, NeWfIlE.Html etc. are one and the same file newfile.html and not 3 different files like it is usually on UNIX / Linux filesystems.

If you happen to migrate old static Websites from Microsoft Internet Information Services (IIS) to UNIX / Linux based hosting. Often Html coders which create websites on Windows platform doesn't respect in website hyperlinks case-sensitive, because anyways Windows FS is case-insetive, thus moving the website to Linux host with Apache the website/s will end up with many 404 error pages, whose fixing for big static websites will be a real pain in the ass.

Also there might be need for mod_speling module enabled, for PHP / Python / Perl websites developed on MS Windows platform and tested on Windows host and then officially to be deployed on Linux.

Note that mod_speling name as a funny thing as actually the module is also converting mis-pelled / mis-typed Apache URLs:

If for example, someone tried to link to your website from a forum mistyping the URL address with mod_speling the mistyped URL could still be handled to open the real existing URL:

Lets say you have URL:

and the actual URL is:


mod_speling will make Apache scan in /files/ for any files with similar name to what-Ever-fle.php and will open any similar matched file name, preventing you from the normal 404 error and therefore often serving exactly what it has to. Of course such a behavior could be unwanted in same cases for CMSes, which depend on 404 error code for proper operating, so be very sure when configuring mod_speling that this is exactly what you need.

mod_speling can be also useful sometimes for Search Engine Optimization – SEO, as it will show less 404 pages to Crawler search engine bots.

1. Enable mod_speling module on Debian GNU / Linux and Ubuntu

Enabling mod_speling in Apache in Debian / Ubuntu etc. debian based Linuxes is done with either creating symlink from /etc/apache2/mods-available/speling.load to /etc/apache2/mods-enabled/speling.load :

ln -sf /etc/apache2/mods-available/speling.load /etc/apache2/mods-enabled/speling.load

Or by using a2enmodDebian apache module enabling script:

a2ensite sitename

To enable mod_speling mis-speling resolve feature config directive is:


CheckSpelling on

To disable case sensitivity – as I said earlier helpful for migrations from Microsoft Windows hosts to Linux, use directive:

CheckCaseOnly on

To enable both use:

<IfModule mod_speling.c>
    CheckCaseOnly on
    CheckSpelling on

Enabling mod_speling case-insensitivity and fixing mistypes in URL could be done from .htaccess, for any <Directory> (vhost) with enabled .htaccess with

AllowOverride All

To enable it for default set host in new Apache install place it in /etc/apache2/apache2.conf and /etc/apache2/sites-enabled/000-default

Then as usual to make the configuration changes take affect, restart Apache:

/etc/init.d/apache2 restart

2. Enablig mod_speling on CentOS, RHEL and Fedora Linux


Most of RPM based Linux distributions have already mod_speling by default in Apache, so there will be no need to explicitly enable the module within HTTPD.

To check whether mod_speling is already enabled in httpd issue:

/usr/sbin/httpd -M |grep -i mod_speling

If you don't get no output from command this means the module is not enabled. This is the case with CentOS Linux 6.5 for example …

To enable mod_speling on Apache level add in /etc/httpd/conf/httpd.conf

LoadModule speling_module modules/

and restart webserver

/etc/init.d/httpd restart

If you get instead

/usr/sbin/httpd -M |grep -i mod_speling
speling_module (shared)


Then it is already loaded in HTTPD to enable the module for default domain add to /etc/httpd/conf/httpd.conf – within (<Directory "/var/www/html">),

<IfModule mod_speling.c>
    CheckCaseOnly on
    CheckSpelling on

Or if you want to make it active for specific directories within /var/www/html/whatever-dir use either new <Directory ..> directive within Apache config, or enable .htaccess processing with AllowOverride All and place them in .htaccess . For complete mod_speling reference check on Apache's official website

Anmap network port scanner – Nmap security scanner for your Android Mobile and Tablet

Tuesday, June 24th, 2014


Those who have to deal with network security or do periodic UNIX / Windows server security audits know  well Nmap (Network Mapper).
NMAP is the swiss army knife tool of choice of both crackers and security exports and it is a must have exploration tool.
For those who just heard of Nmap or want  to learn more on Nmap basics, I recommend my previos articles how to check Windows / Linux host port security (by examples)  and test a local network for open Windows shares.

Nmap is one of the most improtant tools for every cracker (white, grey black hat "hacker"). Nmap is a legendary hack tool and probably the prevelent networt security port scanner tool over the last 10 years on all major Operating Systems. Nmap's high portability is thanks to being open source, being ported so far for:

Window – Zen, Mac OS and Linux, FreeBSD, OpenBSD, NetBSD and even obscure proprietary operating systems like Hewlett Packard's UNIX – HP-UX, Sun Microsystems's UNIX variant Solaris. It is in an interesting fact to mention probably not much known Sun Solaris's core code base is based on Berkley's BSD 4.4 whose fork nowadays give birth to FreeBSD and rest of *BSD family OSes. 
Nmap evolved a lot through the last 7 years from only having a command line interface for hardcode console geeks like me to having a nice shiny GUI frontendinterface ZenMap.
Nmap is popular for being one of the hack tools in the famous move The Matrix (II) – Reloaded.

As hacking and security penetration is quickly moving from PC Desktops and Notebooks to more mobile and stealth variants with recent boom of smartphones – it is no strange that Nmap got ported to the most wide-spread (and very Linux compatible) – Android OS under the name ANmap (Android Map).


ANMap source code and apk – (Android Package file) is on GoogleCode here.

By the way using your android device to scan your own Android device on localhost (just like on above screenshot), could be quite helpful and often could reveal some unwated services, run by malware or viruses application.

To get full use of ANmap's full functionality (Stealth Scan, Full version and port scan etc.)  just like on other operating systems ANmap has to run with super user privileges .

To be able to run applications with Super user access on Android you need to have ROOTED ANDROID  (Tablet / Phone) device – rooting android is just a simply hack that makes Android OS to run certain applciations with root (administrator privileges). Usually Rooting a device breaks ups vendor (reseller) guarantees, so if you root your device to run ANmap on it be very careful to which application you give access to run as super user!
As Anmap page reads: There are some little bugs, as domain names resolving and unroot scanning.

If you want to use Anmap only command line interface (without gui).
Download compiled nmap with data files in this tar ball or this zip archive and keep it in one folder.

Than connect to localhost via ConnectBot, untar and start scanning:

$ tar -xvf nmap-5.51-1.tar
$ su
# ./nmap

Happy scanning 🙂

Install VMWare tools on Debian and Ubuntu Linux – Enable VMWare Fullscreen and copy paste between OS host and Virtual machine

Wednesday, May 28th, 2014


If you need to use Virtual Machine to run some testing on heterogenous Operating Systems and you have chosen VMWare as a Virtual Machine. You will soon notice some of Virtual Machines functionality like copy between host operating system and Virtual Machine, true fullscreen mode and most importantly Copy paste between your host operating system and VMWare is not working. I'm not too much into Virtualization these days so for me it was truely shocking that a proprietary software like VMWare, claimed to be the best and most efficient Virtual Machine nowadays is not supporting copy / paste, fullscreen and copy between host and guest OS.  For those arguing why I'm using VMWare at all as it is proprietary and there is already free software Virtual Machines like QEMU and Oracle's VirtualBox its simply because now I have the chance to install and use VMWare 9 Enterprise on my work place at HP with a free Corporate license – in other words I'm using VMWare just for the sake of educating myself and would always recommend VirtualBox for those looking for good substitute free alternative to VMWare.

Before trying out VMWare, I tried Virtualbox to emulate Linux on my HP work PC running Windows with VirtualBox I was having issues with keyboard not working (because of lack of support of USB, no full screen support and lack of copy / paste between OS-es), I've just recently understood this is not because Virtualbox is bad Virtualization solution but because I forgot to install VirtualBox Oracle VM VirtualBox Extension Pack which allows support for USB, enables copy paste and full screen support. The equivalent to Virtualbox Oracle VM VirtualBox in VMWare world is called VMWare-Tools and once the guest operating system is installed inside VMWare VM, its necessary to install vmware-tools to enable better screen resolution and copy paste.

In Windows Virtual Machine installation of vmware-tools is pretty straight forward you go through VMWare's menus


VM -> Install Vmware-tools


follow the instructions and you're done, however as always installing VMWare-tools on Linux is little bit more complicated you need to run few commands from Linux installed inside the Virtual Machine to install vmware-tools. Here is how vmware-tools is installed on Debian / Ubuntu / Linux Mint and rest of Debian based operating systems:

  1. Install Build essentials and gcc You need to have this installed some developer tools as well as GCC compiler in order for the vmware-tools to compile a special Linux kernel module which enables extra support (integration) between the VMWare VM and the installed inside VM Linux distro

apt-get install --yes build-essential gcc

2. Install appropriate Linux headers corresponding to current Linux OS installed kernel

apt-get install --yes linux-headers-$(uname -r)

3. Mount CD (Virtual) Content to obtain the vmware-tools version for your Linux

Be sure to have first checked from VMWare menus on menus VM -> Intall Vmware Tools
This step is a little bit strange but just do it without too much questioning …

mount /dev/cdrom /mnt/
umount /media/cdrom0/
mount /media/cdrom
mount /dev/sr0 /mnt/cdrom/
mount /dev/sr0 /mnt/


Note that /dev/sr0, might already be mounted and sometimes it might be necessary to unmount it first (don't remember exactly if I unmounted it or not)

4. Copy and Untar VMwareTools-9.2.0-799703.tar.gz

cp -rpf /media/cdrom/VMwareTools-9.2.0-799703.tar.gz /tmp/
cd /tmp/
tar -zxvvf VMwareTools-9.2.0-799703.tar.gz

5. Run vmware-tools installer

cd vmware-tools-distrib/

You will be asked multiple questions you can safely press enter to answer with default settings to all settings, hopefully if all runs okay this will make VMWare Tools installed

Creating a new VMware Tools installer database using the tar4 format.
Installing VMware Tools.
In which directory do you want to install the binary files?
What is the directory that contains the init directories (rc0.d/ to rc6.d/)?
What is the directory that contains the init scripts?
In which directory do you want to install the daemon files?
In which directory do you want to install the library files?
The path "/usr/lib/vmware-tools" does not exist currently. This program is
going to create it, including needed parent directories. Is this what you want?
In which directory do you want to install the documentation files?
The path "/usr/share/doc/vmware-tools" does not exist currently. This program
is going to create it, including needed parent directories. Is this what you
want? [yes]
The installation of VMware Tools 9.2.0 build-799703 for Linux completed
successfully. You can decide to remove this software from your system at any
time by invoking the following command: "/usr/bin/".
Before running VMware Tools for the first time, you need to configure it by
invoking the following command: "/usr/bin/". Do you want
this program to invoke the command for you now? [yes]
Making sure services for VMware Tools are stopped.
Stopping VMware Tools services in the virtual machine:
Guest operating system daemon: done
Unmounting HGFS shares: done
Guest filesystem driver: done
[EXPERIMENTAL] The VMware FileSystem Sync Driver (vmsync) is a new feature that creates backups of virtual machines. Please refer to the VMware Knowledge Base for more details on this capability. Do you wish to enable this feature?
Before you can compile modules, you need to have the following installed…
kernel headers of the running kernel
Searching for GCC…
Detected GCC binary at "/usr/bin/gcc-4.6".
The path "/usr/bin/gcc-4.6" appears to be a valid path to the gcc binary.
Would you like to change it? [no]
Searching for a valid kernel header path…
Detected the kernel headers at "/lib/modules/3.2.0-4-amd64/build/include".
The path "/lib/modules/3.2.0-4-amd64/build/include" appears to be a valid path
to the 3.2.0-4-amd64 kernel headers.
Would you like to change it? [no]
The vmblock enables dragging or copying files between host and guest in a
Fusion or Workstation virtual environment. Do you wish to enable this feature?
[no] yes
make: Leaving directory `/tmp/vmware-root/modules/vmblock-only'

No X install found.
Creating a new initrd boot image for the kernel.
update-initramfs: Generating /boot/initrd.img-3.2.0-4-amd64
Checking acpi hot plug done
Starting VMware Tools services in the virtual machine:
Switching to guest configuration: done
VM communication interface: done
VM communication interface socket family: done
File system sync driver: done
Guest operating system daemon: done
The configuration of VMware Tools 8.6.10 build-913593 for Linux for this
running kernel completed successfully.
You must restart your X session before any mouse or graphics changes take
You can now run VMware Tools by invoking "/usr/bin/vmware-toolbox-cmd" from the
command line or by invoking "/usr/bin/vmware-toolbox" from the command line
during an X server session.
To enable advanced X features (e.g., guest resolution fit, drag and drop, and
file and text copy/paste), you will need to do one (or more) of the following:
1. Manually start /usr/bin/vmware-user
2. Log out and log back into your desktop session; and,
3. Restart your X session.
–the VMware team
Found VMware Tools CDROM mounted at /mnt. Ejecting device /dev/sr0 …

.To make sure vmware-tools compiled modules are loaded into Linux kernel inside VM, restart the Virtual Machine. Once Linux boots again and you login to gnome-terminal to check what is vmware-tools status (e.g. if properly loaded) run:

service vmware-tools status
vmtoolsd is running


This method of installing works on Debian 7 (Wheezy) but same steps should work on any Ubuntu and rest of Debian derivatives. For Redhat (RPM) based Linux distributions to install vmware-tools after mounting cdrom drive following above instructions you will have an rpm package instead of .tar.gz archive so all you have to do is install the rpm, e.g. launch smth. like:

rpm -Uhv /mnt/cdrom/VMwareTools-9.2.0-799703.i386.rpm
Cheers 😉

My long lasting study university dilemma is it really worth Investment to study in University? Don’t study – invest your money in something more meaningful

Thursday, December 13th, 2012

I'm trying to graduate for a really long time, so far. Let me in short perephrase my story, as I'm sure there are probably plenty of people out there who are into the same shitty situation as I.

I graduated school while being 17 years old (one year earlier than supposed), studied in a Mathematical oriented High School with majors Informatics and Mathematics with itensified English language studying. 

While turning 17 I had my regular fancy-dress carnival (ball) as we have it each year near the end of May and beginning of June in Bulgaria, in those joyful times plenty of High School graduates has their celebrations. I don't know how it is in other countries but in Bulgaria, graduates are often mislead and does not have clear idea what exactly they want to study, because schools do less to properly orientate the student on what kind of study stream field or what kind of sphere of life he would like to be employeed (maybe it was just my alumni) or the alumnis student generations that emerged just 10 years after Communism regime fall, maybe it is just my individual case. Or maybe it was like this everywhere? Anyways I graduated desiring only to study informatics for the only reason, Informatics was fashionable and it was thought the future of existence will be fulyl pre-dominated by informatics. Therefore in my school me and many classmates thought graduating in informatics is the best thing one can do. Computers back in the day was not so heavily spreaded (every person did not have a computer), so still computers were perceived by Bulgarian people with high dose of mysticism and interest. And those interested in computers were much more interested into learning something and much less consumer oriented society … but doesn't matter, I can write a lot of this but will stop here as this is not the ultimate goal of this article ….

Once graduating in PMG Ivan Vazoff – The High School where i graduated, I tried to apply for a student by following the standard student entrance exams for the study stream of Computers and Information Technologies as this was my primary field of interest back in the day. Back in the day the only way to enter for study stream of Computer Engineering was lay exam solving 4 mathematical complex problems, mathametics. I'm a very bad mathematician and bad in counting, since my childhood I guess I had some bad teachers which didn't spend enough time explaining, I was lazy or just I don't have the talent to be good in mathematics, so following the exams in few mainly Technical Universities in few Bulgarian cities produced no good results. Because of my bad exam marks (my best one was 3 out of 6, where 2 is negative and 6 is positive – yeah the standard education system in Bulgaria is from 2 (poor) to 6 (excellent), I was not accepted in any of the universities to study informatics. You can understand my high disappointment, I was so keen to study informatics really! but the stupid system never allowed me to do so! Hoping I will be able to transfer to another study stream I signed in Varna TU (Technical University) in a study stream called "Machine Building and Instruments Construction". I was received in student with a very low mark of just 3 out of 6, there was practice back in the day that the students with worst marks entered into the Machine Building and Instruments Construction or Automation specialties. I was a total user, as the name of the specialty sounded not so bad and I hoped the specialty should be closely related to Informatics, I had hope. Spending just the first semester in the University I realized this specialty – as it was taught back then has almost nothing to do with Computing; besides that it had plenty of Engineer Drawings. As a graduate from a High School where accent was Mathematics, I never did even one Engineer Drawing! So it was a complete, mess I tried hard to learn  it but it was not possible, even though I tried my best I couldn't properly Draw. After all I never had the habit and even the basic knowledge on How Engineer Drawing is done. It was sad and stressful times, besides that I had to follow two University Higher Mathematics (Chapter 1 and 2) in 1st semester and University Technical Mathematics (Chapter pt. 3 and 4). First semester I couldn't pass Mathematics exam  1 and 2. Because of the reason the teacher was mostly terrible in explaning and also the level of mathematics required to know was very high; for me it was even harder as I never ever had good understanding or knowledge in mathematics. I failed the exams I hardly passed 2 out of 4 exams, I had troubles with few subjects certification (in those university studyign students, had to be certified by the teacher to go to the exam – if you don't attend the lectures you don't get certification and you can't go for the exam). It was a mess. After the end of 1st year I realized, I cannot in any way make it, to move myself to study in some study specialty that has to do more with Computer Science, so I stopped studying. 

During the summer I visited some private Mathematics lessons and tried my best to apply again to study for informatics this time for another University (The Economic University of  Varna). Though my hard attempts to learn a set of model mathematical tasks to solve, on the exam in June I only could achieve again a low mark 3.80 out 6. I needed at least 5 in order to be approved to enter the pre-selected number of students which would study Informatics. Here a note to make here is most of the students who studied informatics did not hold even basic understanding in computers or did not even been keen on computers ….

So in practice again I couldn't enter the study stream I wanted so I was accepted in a study stream called Commodity Knowledge (which consisted of a lot of Chemistry doing chemical analysis of products testing, if they're suitable for putting in store things like this). As a bad mathematician my knowledge in Chemistry was also not good, not to mention I had a very short life memory, so sciences with a lot of formulas (and a lot to remember) are so unsuitable for me …. Anyways I was trying to be very diligent in this Commodity Knowledge study, and I could even pass all my  exams in the first year with not so bad overall marks of around 4.30 out of 6.

I should say I spoke with administration and in first semester I was told it is possible to transfer in Computer Technology specialty if I have relatively good marks, they blutantly lied to me, since after talking with them in the end of the first year I was told the two study systems of Commodity Knowledge and Computer Technology has difference, so the only option is to start again from year 1!!!!! I was mad and disappointed, but decided to just study Stock Knowledge for the reason I already started it with hard intention this time I will graduate. Somewhere in the middle of year 2 in University, I was totally pissed off the studies, besides that at home there were plenty of family problems, so I was devastated. My mother and father was hardly urging me to find a job immediately because they cannot (or will not)  financially support me anymore. After some search on the Internet I was referred by a friend (from my school years who lived in Sofia) about a company called Design.BG which is looking for a Linux system administrator. I already had plenty of experience with Linux and Operating System as this was my hobby and most of my free time was invested in learning Linux, advancing my knowledge in Operating Systems, learning Computer Programming etc. etc. I went to the interview and was approved !!! Hooray I had job but I was paid a very funny money 250 lv (125 EUR) – of course I was just starting in this job but come on 125 EURO for a system administator responsible for 6 servers – 125 EURO per month was meakly ridiculous….

I worked in this company Design.BG for overall of 7 years. After 4.5 year of working and a working sallary of 450 lv I just quit, they were plainly using me as a Robot is used, ridiculous and stupid. I had some good times in the company made some friends, advanced my knowledge this is true. But after all after 4.5 years working in an office I had neither savings, neither achieved something and living on rent – working month by month for my rent and monthly food (very similar to people in Africa). A friend of mine who lived in Dobrich and also was very disappointed from his started Education and quit, told me he will be signing to study in a (comparatively new College) located in Dobrich (Holland-Dutch College ICA – International College Albena). I went to this college and signed up for the studies, usually the students were asked to study 1 preparation year, because they need to advance their English (all subjects were taught in English). As I had a relatively normal English I went to an interview in the College and to one Intelligence test exam and I was approved to start studying immediately without following preparation year 1.

The days while being in the College was relatively good, as somehow I managed to pass two years there in the specialty of International Business and Management (IBMS). After year 2 it appeared there was not enough students in my student group, so there couldn't be year 3. We were only 6 students in IBMS and 3 of them had plans to transfer to continue their studies in another Business School (Arnhem, Business School) in the Netherlands. I was again in a difficult situation, from one side I wanted very  much to go and see how living is abroad from Bulgaria, since I never went out of Bulgaria, but from other side I didn't have enough money to do it, so I had to ask for financial support from my parents, I went to banks asking for Student Credit but since my parents had little of earnings, the banks were not willful to provide me a student credit of 10000 lv. (5000 EUR) which even will not be enough for graduating; however I was dreaming to go and study abroad so I make plans that I can gradute with maybe only 7500 EURO. It was just after I realized how my plans are wrong I needed much more to graduate. The good news I had job as I continuously worked for Design.BG (as remote system administrator). so I was earning 650 euro – a money I hoped will be enough to support my studies, as well administrating few other Servers for Winner Ltd (a smal.l company started and owned by my best friend from my youth years). After a lot of "disputes" with my family

I was able to convince them to help me with money to go to the Netherlands.. I went here in Holland, thinking it is all like a bed of roses. I thought here I will be able to find a good job make a good earning. But guess what it was nothng like this. I realized it is pretty hard to find a good job in Netherlands, besides that Bulgaria was not in Shengen so we Bulgarians could only work if we have a special issued work permit document – the Employer however issues this only in case if there is no suitable Dutch person for the job + issuing this document is often seen as problematic by employeer. Thus as a consequence most of Bulgarians even if they find job have to "work in the dark" in the grey economy without being officially employed with a contract or paying a social security or taxes. Such kind of jobs are mainly provided by Turkish or Kurdish and often even those who get job are underpaind or the employeer lies him with money, and you have nothing to do since officially you have no employment contract ….

I signed up for a website providing some resources for people who are involved in IT searching for job but nothing decent poped up.

In Arnhem Business School I signed up under Human Resources and Quality Management specialty – this was one of the biggest mistakes in my life (from current perspective) – was always interested in social studies, so I thought HR will be good. However it might be, but the people I meet in face of teachers in University of Arnhem and Nijmegen (ABS) in HRQM was a hell. They were even worser than the ones in Bulgaria (and I always thought in Bulgaria people are narrow minded), here in Holland they were even more narrow minded. They were preaching what they believe, trying to impose themselves on the student constantly trying to manipulate you. Trying all kind of techniques which are against the normal people code of ethics. Experimenting hardly with experimental Psychology, Hypnosis, NLP – what can I say just a bunch of totally crazy ungodly people. Education, here in the Netherlands was a hell.

Teachers didn't care for the student even more than they don't care in Bulgaria. Teachers failed to identify brilliant minded students, but was forcing ahead only students, which somehow was pretending to be smart. Besides that my colleagues in study group's IQ and experience was far from the even minimal for a serious study and scientific thinking (of course this are just my 5cents), I had troubles with money. What made it even more of a nightmare was the fact in Netherlands people though being smiling and ethical was not too much believing in God and there was no regular Orthodox Church services. There is just one Orthodox Church here in Arnhem and they had 1 Church service per month  …. I have studied plenty of Bullshit subjects in Arnhem Business School. The only so-so reasonable was Counceling and International Labour Law. What made my studying situation even more hellish was the fact. The subjects taught here in Arnhem Business School are not identical as content to the ones I was taught over the 2 years I studied in Holland-Bulgarian College (International College Albena). The style of teaching was also very different. Here the student is left on his own to spend his nerves on shit issues, most of which are caused by the badly architectured university system and the unwillingness of teachers to be helpful to students. From my overall experienced in Arnhem Business School in HRQM. I urge you don't sign and Study for HRQM. This might be the biggest mistake you will make. The nerves,. the lost times and the brainwashing you're about to get with a shit content is not worthy the time and the price of tuition fee of 1672 euro per year. I've studied 1 year here in Arnhem Business School somehow managing it and I was totally devastated for the reason I spend 1 year with Teacheres who constantly practice brainwashing techniques doing lecture over the students. Besides that all system in the specialty is centered around a false Philosophy of Brainwashing. The teachers claim, they do all to help the student – they even have a study-buddy system but in practice it is totally opposite. Teachers do opposite to what they speak, acting often totally devilish. It is not a place for ethical people with high morale. Besides that I was amazed about the stupidity of information system in Arnhem Business School, all is built very complex and hard for the student; Whole information system is based on Proprietary Microsoft software. Even the wireless access to the Internet from the University is not officially supported for Free Opearting systems like GNU / Linux or FreeBSD. This  is a good indicator on how narrow minded the whole university is …. well it is the same old story with almost all education I have faced in my life. You pay and you get "shit" for your money, if hopefully you graduate you're not prepared so it is just like spending a lot of money on almost nothing.

The investments one does for his whole studying is another story, very often you spend about lets say 10000 to 15000 EURO for studies and the ROI could come someday or maybe not. With the harsh economic crisis and the reduce of management positions and increase of technology, the likeness of not getting a job or getting a shit underpaid job with or without Higher Education is quite high. Even the knowledge you get in moment of graduating is already out date due to the high dynamics of economics throughout the world and globalization. 

I have planned to complete Arnhem Business School for just 2 years of time, but the teachers and subjects make me stumble, so it is already almost 4 years and I still haven't graduated. Where I'm a position where I had to take two accounting exams. Here the subjects in Arnhem Business School has all fuzzy names like ILLW / (ACF1, ACF5Z0) / HRA. What makes situation even worser is this code names are changed with time. As I didn't studied for an year and half I had issues re-signing for studying. Even after I was said I can continue my studies from the moment where I stopped, there was plenty of issues that might be because the fact they changed the HRQM study content and even the specialty name HRQM was changed to IBS. Now I'm in a situation, where I need to pass two accounting exams they were used to be called under the fuzzy names ACF5 and ACF7 (Accounting and Finance). Again I'm a big troubles because I'm so bad with numbers and the university is so unflexible so they don't give you any alternative option to following the two accounting Exams. After all there are plenty of HRQM Managers out there which have not a good idea about numbers, besides that being an HR does not require you to have the knowledge of a professional accountant. But according to the exams I have to follow I have to study from a book which seems like for professional accountants ….. Passing the 2 accountings would have not been such an issue but the big problem is this two accountings ACF5 and ACF7 are a continuous ones from a previous ACF1,2,3,4 and I never studied ACF1,2,3,4 in Bulgaria but instead studied a different kind of accounting, which besides that was poorly taught by the teacher who didn't speak a good English and the Exam content has nothing as prior said nothing to do with the Accountings in ABS. Even though I spoke with the teachers and explained my situation numerous times, noone wants to take my big issue seriously and now I'm suffering trying to learn for this exams, but with my knowledge it seems hardly possible to pass the exams. Besides that which is mostly ridiculous is just for passing this 2 exams the university wants to charge me to pay them for a whole Study Year enrollment (via StudieLink – an online based system through which the student Sign ups for studying in Holland Universities – in Holland there is a commission of people who approves if one will study or not). It could be my bad luck, maybe my temper which is freeedom loving or the complexity of modern life, but I didn't like it.

Even if I graduate after some time find the enormous sum of about 1650 EURO, I don't know if I will be able to find job after that. Just to give you an idea about the approximate sallary in Bulgaria is about (150 to 200 EUR) MAX. Where only the IT jobs and some managers take like 1000 EUR of sallary. It is ridiculously high, what is even more ridiculous I forgot to mention is even though in year 2011 (January – June) I didn't studied or attended even one lecture the university required me to pay the Semester Tuition fee of 836 EUR (the second part of the normal study year). My explanation that I couldn't go to school because of health issues and financial reasons was not taken in consideration at all. I come to the conclusion that all studying are just made to drain your money and nobody really cares of you. And even at the end who cares what kind of diploma you have you only find Job in 80% of cases only if you have a person to refer you , recommend you  and place you in company. It is just sad how stupid and fragile the education system is in the EU.

Moreover this stupid European Union helps me nothing, they just say they help the countries but what I see happening in Bulgaria and across most of the European Countries speaks the opposite. 

How to solve ALSA sound problems with old Linux programs and games depending on (OSS)’s /dev/dsp / fix wine games and pulseaudio problems – My few thoughts on OSS and ALSA

Wednesday, January 11th, 2012


ALSA OSS Pulseaudio ESD Some fixes workaround to gnu linux audio messI remember GNU / Linux, 11 years from now, times when ALSA was not standardly shipped with Linux.
Back then ALSA still lacked good support for many SoundCards and was still a "baby project".
In that time what we used to have sound on Linux was OSSOpen Sound System. OSS emerged right after the first ever Linux sound system VoxWare (formerly known as the Linux Sound Driver).

Back in those days OSS was used for multimedia support on both GNU / Linux and BSD based free OSes. It was few years later when I heard and used ALSA for a fist time and it wasn't really a love from first sigth.

One can easily find out by the name ALSA it is a system especially built for the Linux kernel and that's one of the reasosn why *BSD systems has their custom separate sound system.
There is plenty of reasons why OSS was substituted with ALSA. Main reason was its commercial like license, OSS wasn't completely "open source" GPLed (free software), there was resctions on use of OSS for commercial goals.

With its emerge ALSA started to push away OSS slowly. Somewhere in 2003, alsa has officially entered the Linux kernel source and until 2005 it was the default standard for all GNU / Linux operating systems.

As of time of writting ALSA has become the only sound system to have support for multiple sound card devices for Linux.
My experiences with ALSA, however ain't so nice if I take a look in my past experiences.
Since the very beginning of using ALSA, I had plenty of troubles with configuring properly my sound card not to mention, even after configuring it the MIDI support was not there.
Besides all the troubles main problems were stemming from the many applications still written to use OSS as sound system and hence with those sound was impossible with ALSA.The most problematic thing about apps written with OSS in mind was all of them tried to stream sound via /dev/dsp (OSS Digital Sound Processor), since alsa did not used /dev/dsp those programs was soundless.

On the other hand OSS was creating issues as well, one severe problem with OSS was the inability to stream multiple sounds simultaneously, because each sound stream required to pass voice through /dev/dsp and usually there was only one /dev/dsp.

The message;

/dev/dsp: Device or resource busy
and the proceeding irritation that used to annoy us in the early GNU / Linux days had of course some raw workarounds hacks but generally the workaround did not fix problems always.

Introduction of alsa free us from /dev/dsp issues but on the other handy has created a whole ocean of new BIG problems …
ALSA has modular structure and this imposes a great problem nowdays. The modular architecture is generally a good idea, however the way this was implemented within ALSA is far away from clear and easy to understand by the end user and therefore makes it very unintuitive and obscure.
Alsa misses simplicity which somehow was partially in the days of OSS. Thinking over the general situation with Linux multimedia nowdays, I believe it was exactly ALSA Project responsible for the so delayed mass Desktop Linux adoption.

Many long year standing Linux users had certainly had the alsa troubles during new system installs (correct me if I'm wrong).
The only fix to multiple soundcard initialization problems was to download alsa source and compile from source and hence made it hard and discouraging for people giving Linux a try.
This kind of ALSA "brokenness" pattern continues even to this very day (in Debian) Linux and probably building the alsa system from source is among the good practices to have a functional Linux sound system…

With all said the historic reason why ALSA was not quickly adopted and still is not a preferred default system for many applications ported to Free Software OSes by commercial company vendors is clear. Its simply not working out of the box …

Hope some ALSA developers will read this post work on changing the crazy structure of ALSA over complexity. ALSA needs automate way to solve issues with itself, the configuration should be more trivial and unified if Linux has to become more attractive for Desktop adoption.

Anyways, after the few words of history and indicating my pesonal observations on ALSA. I will proceed and explain few things on how ALSA can be configured to support and play nice with OSS dependant programs as well some basic explanations on common incompatibility between esd and pulseaudio and how this can be fixed;.

To assure nowdays OSS API built programs and games would work with Alsa its necessery to have installed;

ALSA wrapper for OSS applications

On Debian, Ubuntu, Fedora and most Linux distributions the Alsa OSS compatability layer comes under a (deb / rpm) package named alsa-oss

To install OSS compatability on Debian, Ubuntu and the like Debian based distributions issue:

debian:~# apt-get install alsa-oss alsaplayer-oss

On Fedora and other rpm based distributions install is with:

[root@fedora ~]# yum install alsa-oss alsaplayer-oss

alsa-oss provides with a command called aoss that should be used to work around some issues with old applications still depending on OSS:

hipo@debian:~$ aoss programName

Using aoss is helpful especially in situations if you have to run programs which deal with MIDI and others which somehow want to use /dev/dsp

There is also alternative way to enable alsa native support for MIDI and OSS by loading 3 kernel modules:

debian:~# modprobe snd-seq-oss
debian:~# modprobe snd-pcm-oss
debian:~# modprobe snd-mixer-oss

Note! The three modules has to be separately build using kernel source at most cases and does not come with most Linux distributions, so on many installations (including my current), they will be missing. If for you they load properly or you have customly build them add them also to load on system boot, like so:

echo 'snd-seq-oss' >> /etc/modules
echo 'snd-pcm-oss' >> /etc/modules
echo 'snd-mixer-oss' >> /etc/modules

The Linux sound situation becomes even more messy when ESD enters the scene. Many of the novice new Linux users certainly don't remember (Enlightened Sound Daemon) . ESD historically preceded PulseAudio . Hence it will be good to mention ESD was used for few years in GNOME and in around 2006-2007 it was substituted by PulseAudio.
Many applications, however who was ported or written for Linux especially (the proprietary ported ones) was already built to work with ESD and even though newer GNOME releases was fully using pulseaudio, this (non free software apps and games) were still depending on ESD.

The situation was partially fixed by creation of module for pulseaudio which added emulation support for esd . This was done by a module library for pulseaudio called
The package for almost all Linux distributions which does the esd emulation via pulse is pulseaudio-esound-compat . In latest Fedora Linux pulseaudio-esound-compat is installed by default.
In Debian and other Linux distributions it might need to be installed via apt with;

debian:~# apt-get install pulseaudio-esound-compat

pulseaudio-esound-compat solves some of the ESD app incompability but not always …
Handy tool also worthy to mention in solving PulseAudio, OSS incompatibility issues is padsp

padsp is helpful in solving obsolete issues with OSS applications (trying to access /dev/dsp) and therefore unable to communicate with Pulseaudio
padsp – is a PulseAudio OSS Wrapper.

An example where padsp is helpful is in case of /dev/dsp errors like:

/dev/dsp: Device or resource busy
Could not open /dev/dsp

Another common problem with sound on Linux is when running windows applications (running windows games with wine).
Quite often sound fails to work since wine tries to directly communicate with alsa and fails because alsa sound channel is taken by pulseaudio.

To workaround wine issues with pulseaudio, one of the solutions is to temporary stop pulseaudio, before running the wine emulated application:

hipo@debian:~$ pulseaudio --kill

Later on when the windows wine emulation is completed, pulseaudio has to be started once again in order to make Pulseaudio applications produce sound again, e.g. one has to issue:

hipo@debian:~$ pulseaudio --start
Alternative way to workaround wine sound issues is by using a script to kill pulseaudio every second. Here is script

This script was reported by many people as fix to problems with wine games failing to play sounds and music, anyhow I personally prefer using the stop / start pulseaudio method.

The picture below is taken from Wikipedia and illustrates, clearly the intergalactical complexity of sound systems on Gnu / Linux and BSD

I just hope one day this (OSS, ALSA, esd, Pulseaudio) mess will be over! In the mean time I hope my suggested work arounds helps someone. If someone has a better more unified script or solution please share in comments

Frogatto & Friends – One of the TOP 10 Arcade Free Software & Open Source Games for GNU / Linux and FreeBSD

Friday, December 16th, 2011

Frogatto old-school 2d jump and run free software game for GNU / Linux and FreeBSD
1. Frogatto & Friends – Is an Indian Free Software (Open Source) game in the spirit of old-school jump’en runs like Commander Keen, Prehistoric, Jazz Jack Rabbit

The game is really entertaining, the graphics looks approximately nice, the music is awesome, the gamelplay is good even though after some point in the game the moment with “where should I go now, I can’t find exit” comes through and it gets boring.

Generally if you compare with all the existing jump and run arcade games free software games available for Linux and FreeBSD the game will definetely arrange itself in the list of TOP 10 free software Arcade Games
and therefore its my own believe that Frogatto is a game that every GNU / Linux and FreeBSD desktop should have in Application -> Games GNOME menu.

Frogatto is rich of levels, enemies obstacles objects, places to visit (which puts it ahead of many of the linux arcade games which often miss enough game levels, has a too short game plots, or simply miss overall game diversity).

Frogatto linux freebsd game bombing airplaine

The game’s general look & feel is like a professional game and not just some tiny free software arcade, made by its authors for the sake to learn some programming, graphics or music creation.
Frogatto door leading to Grotto

Frogatto Free Software game wood screenshot

Besides that Frogatto & Friends is multi-platform supporting all the major operating systems.
Game supports:

  • Windows
  • Mac
  • iPhone
  • Debian GNU / Linux
  • FreeBSD

The game source code is also available on – The Game’s Official website

The game is available as a deb package in Debian and Ubuntu GNU / Linuxes so to install on those deb based distributions, simply use apt:

debian:~# apt-get install frogatto

The above command will install two packages frogatto (containing the game’s main executable binary) and frogatto-data containinng all the game textures, levels, graphics, music etc.

BTW the package saparation on a gamename and gamename-data in Debian (for all those who have not still noticed), can be seen on most of the games with a game data that takes more disk space.

After the game is installed the only way to start the game is to run it manually through pressing ALT+F2 in GNOME or running the progrtam through gnome-terminal with cmd:

debian:~$ frogatto

Here are few more Frogatto gameplay screenshots:

Frogatto free open source game screenshot a game bad guy

Frogatto different level screenshot

I’ve noticed Frogatto is also available as an RPM package for Fedora Linux, as well as has a FreeBSD port in the /usr/ports/games/frogatto and this makes it easy to install on most free software OSes in the wild.

While checking , I found an interesting link to a website offering free graphics (pictures), textures and sounds for free and open source games for all those who hold interest into the development of Free Software & Open Source Games make sure you check looks like a great initiative and will definitely be highly beneficial to the development of more and better FSOS Games so I wish them God speed with this noble initiative.

Frogatto is very suitable for growing kids since it doesn’t contain no violence and every now and then the main game actor the Frogatto Frog leads few lines English dialogues with some of the characters found in the quest.
For none speaking English countries, the game can help the kids to learn some basic english words and thus can help develop kids intellect and knowledge
And oh yeah one more criticism towards the game is the Enlish structure, it seems people who wrote the plot can work this out in the time to come. Many of the English sentences during dialogues the frog leads with the cranks he met does not sound like a common and sometimes even correct english / phrases.

Besides those little game “defect”, the game is pretty awesome and worthy to kill some time and relax from a long stressy day.