Applications and Systems Development

The following is a brief description of some of the web-based and network-based applications developed by me for various projects/systems. I have had the opportunity to develop applications for both high-end research computing and high-traffic ecommerce systems. Some of these applications and systems are proprietary to the agencies, corporations or companies they were developed for, and I am unable to share links or additional information regarding them. For applications and systems that were developed and deployed for public access sites, I have included URLs for more information. Several of these applications are currently being used on hundreds of 24x7 production servers.

Tools Developed for IBM AIX Support Team:

From March, 2005 through May, 2007, I developed, tested, deployed and supported several toolsets for IBM AIX Team at Rochester, MN. These include, but are not limited to, (a) development, testing, deployment and support of firmware update tool that supports over 1600 AIX workstations; (b) development, testing, deployment and support of scripts for checking/installing security APARs on over 400 AIX servers; (c) debug, development, update and support of UserId Tools used by AIX helpdesk for managing userids and groups on over 350 AIX servers in 12+ countries including USA; (d) debug, development, update and support of UserId Web Tools for over 350 AIX standalone servers, to allow for automated processing of password and failed login count reset for users and automated notification for userid add, delete and sudo access requests; (e) development, testing, deployment and support of UserId Web Transfer Tools for automated processing of userid transfers, password reset and notifications for over 150 servers; and (f) development of a web-based tool set for managing wsupdate scripts for various AIX images, packages and versions supported on over 2000 AIX workstations.

Automated Processing of Earthquake Data:

This was a group project undertaken by the Geomorphic Computing Lab at the University of Iowa. As part of this project, I had setup multiple Linux servers including web servers (Apache, Tomcat Java Servlet Engine, IIS, Arc Internet Map Server), JDK, JRE, mail server and FTP servers; and networked multiple Linux and Windows machines. Additionally, I wrote PERL programs that automatically detect real-time EQ data received from over 300 EQ monitoring stations through a secure Linux-based FTP server; send email notification to pre-designated authorities; queue incoming data for sequential processing; verify and transform the input shake-map data and coordinate values; create several html files and publish the input data in a website hosted in a secure Linux-based web server; upload queued data to a Windows-based computer for processing by ArcGIS; check for completion of Arc processes; collect processed data from the Windows machine; create several html files and publish the outputs into the secure Linux web server; send the output data to a secure FTP server, send a confirmation to the pre-designated authorities, and above all, do all of the above FULLY AUTOMATICALLY 24x7.

Java-Based Platform-Independent Distributed-Parameter Hydrological Model:

This was developed by me for a IIHR project funded by National Science Foundation and undertaken by the National Center for Supercomputing Applications (NCSA), IL. (With Dr. Frank Weirich, Department of Geoscience, University of Iowa). For details, please visit: http://janswers.geomorphology.uiowa.edu/

Global Domain Control Panel:

Global Domain Control Panel was developed by me for GlobalFront Web Services. Written in PERL, this is one of the most user-friendly and secure, web-based, multi-tier domain management software in the internet. This software is used to forward/point a domain's URL and emails to external web and mail servers. GDCP allows a domain owner/admin to (a) view, edit, update, backup and restore URL/IP forwarding settings; (b) switch between cloaked/frame forwarding and non-cloaked browser redirection; (c) manage meta tags for title, description and keywords for the domain for SEO; (d) park the domain for future site; (e) post the domain for sale; (f) view, edit, update, backup and restore email forwarding to multiple destination addresses; (g) enable and disable catch-all email address; (h) view, edit and update custom web/IP pointing to external IP addresses or to external hosts/domains (DNS A and CNAME records) (i) view, edit and update custom MX pointing to external IP address or to external mail server with or without custom MX priority codes; (j) use both "unique domain login system" and "unified domain login system (for managing multiple domains from a single account)", (k) update domain password and use "Instant Login Finder", (l) manage any top-level domain (TLD) - all with a web browser and a few mouse clicks. The server admin interface for Global Domain Control Panel allows installation of a domain forwarding account with all of the above features by simply filling-out a web-based form and clicking a few buttons. The back-end of the program automatically updates configuration files for the web server (Apache), mail server (Sendmail) and DNS server (BIND), to allow for automated 24x7 updates of web forwarding, email forwarding and DNS pointing features of the domains. More information on this is available at: http://www.globalfront.com/jumpto/gdcp.htm

Global Web Control Panel:

Global Web Control Panel (GWCP) is a web-based software developed by me for GlobalFront Web Services. Written in PERL, the GWCP offers a virtual hosting account administrator a set of web-based tools that allow the admin to setup, manage, and update several features related to email alias, email redirection, auto-responders, mailing lists, listservers, list subscribers, and password protected web directories for a hosted domain account, all with a "point-and-click" secure interface accessible with browsers. The back-end of the software includes programs that are configured to check for user updates and security settings, and implement automated 24x7 updates for Apache, Sendmail, Procmail and FrontPage configuration files in a Linux server. The server admin interface for GWCP includes forms to allow the server admin setup a virtual hosting account with all of the above features by simply filling-out a form, clicking a few buttons and running a setup program from shell (which can also be run automatically with Cron). More information on this is available at: http://www.globalfront.com/jumpto/gwcp.htm

Web-based Search Engine and Automated Database Generator:

This project was conducted by the Geomorphic Computing Lab of the University of Iowa, for CFIRMS (Comprehensive Flood Impact Response Modeling System) Data Warehouse, for the U.S. Army Corps of Engineers. As part of this project, I wrote CGI-based MOD-PERL programs for automated generation of hundreds of dynamic HTML files. Additionally, I developed a browser-based dynamic search engine for the data warehouse, running in a Sun-Solaris system.

Web-based Account/Billing Manager:

This is a web-based database application that I developed in PERL using MySQL as well as flat-text databases in Linux servers. Developed for GlobalFront Web Services, this allows a server administrator manage hosting/domain clients' accounts and payment information. Its features include creation, modification and updating of clients' account and payment information; listing and keyword-based searching of client domains; posting payments and viewing payment history for specific accounts; and generation of semi-automated emails with renewal invoices, overdue notices, renewal confirmations and expiration notices.

SynFloodBlocker (Denial of Service or DOS Blocker):

This is a security utility that I wrote with PERL, utilizing firewall systems in Linux servers (IPTables or IPChain, and Portsentry). At a given interval (every minute or every other minute), the program automatically scans for all incoming network connections made to a Linux/UNIX server, sorts the connections by ports, remote IP addresses and connection "state" to identify simultaneous connections made from individual remote hosts, and automatically blocks a remote host if it detects a Syn Flooding attempt, which is one of the most common forms of Denial of Service (DOS) attack mechanism. The software can be configured to define possible threats based on number of simultaneous connections allowed, connection status and local port numbers to which the remote host is connecting. Run with Cron, this utility can defend a server from Syn Flood DOS 24x7. After blocking a DOS, the software automatically emails the server administrator a detailed list of connections made from the attacking host along with lists of remote and local IPs and ports involved in the SynFlood attack. Additionally, the software can be configured to automatically restart the impacted service (e.g., httpd for a port 80 attack) which would close the open Syn flooded ports.

Telnet Watcher/Blocker:

This is a security utility that I wrote in PERL. This automatically scans for all incoming Telnet connections made to a Linux/UNIX server, and automatically disconnects connections from unauthorized hosts. A server administrator can designate the IPs or hosts from which connections should not be disconnected. This is a great utility for maintaining server security against brute-force hacking attempts, if Telnet service needed to be granted to certain users. Unlike access control with TCP Wrappers (hosts.deny method), this can also block a connection when the connecting host hides its connecting IP.

Dynamic SMTP Authentication:

This is a mail server tool that I wrote with PERL for Geomorphic Computing Lab. The program automatically detects successful POP3/IMAP logins to a Linux/Unix mail server and authenticates genuine users' (based on successful POP3 or IMAP logins) connecting IPs for allowing SMTP (outgoing mail relay) access for a predefined time (e.g., 60 minutes or 120 minutes). After the pre-defined period, the program will automatically remove authentication and block further access to SMTP from the user's connection IP. While open-relay SMTP setups are subject to abuse by spammers, the normal restricted-relay system would not allow genuine users access to an SMTP server, especially if the users have dynamic IPs (either because they have DHCP or they are traveling). The Dynamic SMTP Authentication utility allows for implementation of restricted SMTP-relay solutions for Sendmail servers without blocking genuine users' access to SMTP relay.

Mail Queue Administration Helper:

This is a PERL based tool that can help sorting and displaying the mail queue based on specific keyword (e.g., source or destination address or domains), and helps the administrator to clean/remove all queued mails addressed to/from a spammer. This is very helpful when the admin would need to clear up 100s of spams or bounced messages (addressed to a spammer) from Sendmail queue in a Linux/Unix server.

Instant Password Finder:

This is a stand-alone web-based software that would allow automated email notification of login or password information to a user, in case the user forgets the password. The notification can be based on matching email address or authenticated domain or user name in a database.

Domain Lookup and Whois Script:

This is a web-based domain lookup utility that does a whois lookup to find if a domain is already registered or not. If the domain is not already registered, it prints the options/links for ordering the domain. If the domain is already registered, then the script automatically connects to the appropriate registrar's whois server, collects registrar records, prints the current registrant, contact and name server information for the domain in the visitor web-browser, and prints links for moving the domain with a hosting or domain forwarding account.

Several C Programs for Bio-geographic Simulation:

These programs were written by me for "Scaling in a Spatially Explicit Model of Ecological Response to Global Change", a project funded by U.S. Department of Energy, National Institute for Global Environmental Change, and undertaken by Dr. George P. Malanson, Professor, Department of Geography, University of Iowa. As part of the projects, I wrote several C programs and modified ARC/INFO AML programs for simulating bio-geographic processes and plotting 2-dimensional cells displaying simulation results.

Automation of Analog-Digital Conversion and Linear Interpolation of U.S. Rainfall Charts/Graphs:

Conducted by Geomorphic Computing Lab of the University of Iowa, for U.S. Department of Agriculture, Forest Service, this project involved development of a methodology for automating analogue-digital conversion of rainfall curves and linear interpolation of rainfall values from US conventional rainfall charts. I wrote the main program in C that would read digitized rainfall curves from ARC/INFO file and do the conversion and interpolation. The program and methodology developed for this project was used by U.S. Department of Agriculture (USDA) for processing thousands of rainfall charts.

Other Linux/Unix Programs:

Designed/programmed several online order, feedback and payment forms for various ecommerce websites, using custom Perl scripting, Formmail, cgiemail, FrontPage, etc. Also, wrote several other Perl/Shell scripts to automate adding users with pre-configured settings, adding BIND named entry and zone files with pre-configured settings, adding Apache virtual hosts with pre-configured settings, migration of hundreds of domains from one server to another, etc. Additionally, configured and/or customized many third-party PERL scripts, including scripts of automated classified ad system, auction system, online bulletin-board, phpBB, guestbook, link pages, etc.


(c) Copyright 1996-2006 M. Sayeeduzzaman
All Rights Reserved