Latvian Government Uses Linux
Recently I've found a new unusual use for Linux, which I have used successfully at work. Here is a list of machines and software I had to work with:
Local Ethernet network
Novell NetWare 4.10 file server
About 15 DOS/Windows workstations
Linux box as an IP router, mail server, etc.
A database application written in Clipper for MS-DOS, which contains more than 400,000 records
This database application was written for a stand-alone DOS workstation about five years ago, and the most powerful computer we had at that time was a 386SX with 2MB of RAM. At one point we patched this program to add a little network support. The main database migrated to the NetWare file server, and the program worked with the server as if it were a local drive (Z:). Data is added to this database every day, and it has grown to more than 300MB in size. There are now 15 users connected to it, but the program itself remains the same as it was five years ago.
Each time a user searches the database, his workstation uses about 30 to 100MB of network traffic. The NetWare server shows 100% utilization and searches can last for hours. One day (it was a beautiful spring morning to be precise) my boss asked me to connect 10 more workstations to the database and to add remote access to the database via the Internet and dial-ups. I just about had a heart attack.
Of course, we needed to rewrite our database from scratch with client server and Intranet support. Yes, we had to, but we are a government organization with a very limited budget. When I asked local software developers about the possible cost for this rewrite, they told me that because it would be a mission-critical client-server application, with extended network and Internet support, as well as maintenance, the price would be about $20,000 to $40,000. Now my boss had the heart attack. That's not all—our database is very special. It was written for very specific tasks and was tested for a long time with bug fixes added during the experimentation period. We just couldn't afford to write such an application ourselves from the beginning, going through all the same problems once again. And even more—we needed to add remote access to the database immediately, so we needed another solution.
I have used our Linux box to solve some of these problems in the following ways:
I moved the database from the NetWare file server to Linux.
I installed the most recent version of the DOS emulator (dosemu-0.64.3) available at that time.
After configuring and starting up the dosemu, I mounted the directory with my database as a local disk (Z:) in dosemu and installed the application.
I started the application to be sure it worked—it did.
I configured dosemu to use the exact amount of memory my application needed, and I checked the terminal specific configuration lines in the dosemu configuration file.
I made a TELNET connection to my site and started dosemu with my application—this also worked.
I made a dial-up connection to Linux and started dosemu from the shell prompt with the application—it worked again.
I started X using xdos--another success. Oops, now I was running four copies of my application at once.
Last, I shared the database directory via Samba or MARS_NWE (NetWare server emulator for Linux), mounted it on the other workstations as a normal database disk, and it worked that way too.
Our DOS/Windows workstations can continue using the database in the old manner. All that has changed is that the file server for the database is now Linux, and clients can be connected to the database not only via NetWare protocol but also via the Microsoft Network using Samba—not bad.
Since more than one copy of the DOS emulator can be run at one time on Linux, it is possible for users to access the database from the Linux console, the X Window System, an X terminal, a serial terminal, a remote TELNET connection and a remote dial-up connection. Note that if the database application is started from dosemu, it works 10 times faster because, in this case, it uses data not on the network but on a local drive.
After using this configuration for about two months, I've found running the application from dosemu on Linux is more stable than running it from Windows 3.11. There are some tricks to prevent data loss in case of a broken remote connection to dosemu. By the way, while experimenting with MARS_NWE, I found it to be very stable, powerful and fast. Data transfer speed from Linux via MARS_NWE remains almost as fast as it was from the native NetWare 4.10 file server, so users connected from DOS/Windows workstations do not see much difference. And all this was accomplished during one night without any programming or additional capital investment.

Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.
Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.
Sponsored by ActiveState
| Speed Up Your Web Site with Varnish | Jun 19, 2013 |
| Non-Linux FOSS: libnotify, OS X Style | Jun 18, 2013 |
| Containers—Not Virtual Machines—Are the Future Cloud | Jun 17, 2013 |
| Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer | Jun 12, 2013 |
| Weechat, Irssi's Little Brother | Jun 11, 2013 |
| One Tail Just Isn't Enough | Jun 07, 2013 |
- Speed Up Your Web Site with Varnish
- Containers—Not Virtual Machines—Are the Future Cloud
- Linux Systems Administrator
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- Non-Linux FOSS: libnotify, OS X Style
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Android's Limits
- Web & UI Developer (JavaScript & j Query)
Featured Jobs
| Linux Systems Administrator | Houston and Austin, Texas | Host Gator |
| Senior Perl Developer | Austin, Texas | Host Gator |
| Technical Support Rep | Houston and Austin, Texas | Host Gator |
| UX Designer | Austin, Texas | Host Gator |
| Web & UI Developer (JavaScript & j Query) | Austin, Texas | Host Gator |
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?




1 hour 37 min ago
2 hours 53 min ago
6 hours 25 min ago
9 hours 18 min ago
9 hours 44 min ago
12 hours 13 min ago
12 hours 46 min ago
12 hours 47 min ago
12 hours 48 min ago
12 hours 50 min ago