upFRONT
I am the leader of a group of Linux-like contributors to a gigantic open-source software project. Our goal is the creation of artificial intelligence using the natural language program ALICE. I developed AIML (Artificial Intelligence Markup Language) along with a crude interpreter, and released both under the GNU GPL. The result was the now-predictable, open-source magic: a team of developers from around the world began improving the code, creating content and providing an immense user base.
ALICE won the Loebner Prize, an annual “Turing Test”, in 2000, for being the computer program ranked closest to a human. The ALICE and AIML developers have created a library of content, numerous on-line documentation sites and versions of the ALICE server in both Java and C/C++. AIML is “platform-independent, language-independent” in the sense that ALICE robot scripts run on different interpreters on different operating systems. There are interfaces for HTTP, CGI, IRC, plain text, GUIs and even voice I/O (input/output).
There are at present four companies in various stages of starting up around ALICE and AIML technology. The developers have moved on to embedded system applications, intelligent customer service agents and entertainment applications of the technology. We are trying to stay “above the fray” and “not pick winners and losers”, as this technology begins to attract the attention of “suits and other real-world investors.” Does this story sound familiar?
—Dr. Richard Wallace, dr.wallace@mindspring.com
Low-Bandwidth Communication Tools for Science, by Enrique Canessa and Clement Onime, tells us how in Trieste they are building prototype on-line scientific tools to further enhance electronic collaboration and support the use of web navigation and database search by e-mail. ScientificTalk and www4mail are two such tools that are based on Linux and discussed here.
AIPS: A Historical Reminiscence by Patrick P. Murphy takes a look at the astronomical image processing system and how it is being used on Linux by the National Radio Astronomy Headquarters and astronomers the world over.
Four book reviews to help you decide if these books are worthwhile:
Linux Administration, A Beginner's Guide, review by Harvey Friedman.
Red Hat Linux 6 for Small Business, review by Paul Dunne.
Security Technologies for the World Wide Web, review by Wael A. Hassan.
Getting Started in Computer Consulting, review by Ralph Krause.
The use of cellular phones and other wireless devices has been rising exponentially. Recently, many of these devices have contained Internet-enabled functionality and even web-browsing software. If you run a popular Internet site, it's possible someone has tried to visit it with such a device and seen nothing! In this column, I'll show you how to configure the Apache web server to handle these requests successfully.
The leading Internet implementations on hand-held devices have used the Wireless Application Protocol, WAP. The idea comes from the wireless industry and is based on existing Internet technologies such as IP. Just as I use HTML for my site, mikal.org, I'll now use WML for people visiting my site over WAP.
WML stands for Wireless Markup Language and is based on XML. Similar to HTML, WML is read and interpreted by a browser built into a WAP-enabled device.
The first thing I need to do to handle wireless visitors is inform Apache about the MIME type I'll be using. I add MIME support for the WML file extension to the default MIME type configuration file in this way:
text/vnd.wap.wml wml
This file includes a definition of the most commonly known MIME types. On my file system, it's located in the /etc/mime.types directory.
I want to catch anyone visiting my web site with a wireless browser and send them to my WML page, welcome_wap_user.wml (listing below). For this purpose, I'll use Apache's powerful mod_rewrite module, available in version 1.2 or later. By using this, I can rewrite requested URLs on the fly based upon rule conditions. It's possible that mod_rewrite isn't already compiled into the server; check the Apache documentation for instructions on doing this. Specifically, I'll be looking at the HTTP_USER_AGENT and HTTP_ACCEPT environment variables to check for known WAP browsers.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml1_1.1.xml">
<wml>
<card>
<p> Welcome to mikal.org! </p>
</card>
</wml>
The mod_rewrite module can be used by placing the appropriate directives, shown below, in the httpd.conf Apache configuration file. Line 1 turns on the RewriteEngine. Jorrit Waalboer, from the WML programming list at eGroups.com, provided me with the RewriteCond statements in lines 2-7 to determine if the client is a WAP browser. If RewriteCond matches one of these browsers, RewriteRule tells Apache to serve welcome_wap_user.wml.
RewriteEngine on
# Catch most WAP browsers
RewriteCond %{HTTP_ACCEPT} text/vnd\.wap\.wml [OR]
# WinWAP, WAPjag
RewriteCond %{HTTP_USER_AGENT} wap [OR]
# Nokia emulators (sdk)
RewriteCond %{HTTP_USER_AGENT} 7110
# Rewrite!!
RewriteRule ^[\./](.*)$ /welcome_wap_user.wml [L]
To activate these changes, I'll need to restart Apache.
I can now check my site, but I'll need a WAP-compatible device. For this purpose, I use the UP.Simulator, part of UP.SDK, the Phone.com software development kit. The UP.SDK supports development of WAP services written in WML. After a quick check with the UP.Simulator, I see my site is now WAP-aware and ready for the future of wireless Internet.
For additional information on WAP, WML or building a WAP service, see Resources.
—Philip Mikal (philip_mikal@yahoo.com) is an Internet technology consultant based in Silicon Valley. He can be reached at mikal.org.
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
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- New Products
- Linux Systems Administrator
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Web & UI Developer (JavaScript & j Query)
- Designing Electronics with Linux
- Dynamic DNS—an Object Lesson in Problem Solving
- Using Salt Stack and Vagrant for Drupal Development
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
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?




15 min 33 sec ago
2 hours 8 min ago
9 hours 3 min ago
9 hours 19 min ago
11 hours 10 min ago
17 hours 2 min ago
21 hours 33 min ago
21 hours 34 min ago
23 hours 34 min ago
1 day 8 hours ago