In the Labs… X-Bot 2003 by Overtech Technologies.

Slides:



Advertisements
Similar presentations
Windows NT server and workstation Name: Li Shen Course: COCS541 Instructor: Mort Anvari.
Advertisements

COM vs. CORBA.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Chapter One The Essence of UNIX.
Linux vs. Windows. Linux  Linux was originally built by Linus Torvalds at the University of Helsinki in  Linux is a Unix-like, Kernal-based, fully.
Using R as enterprise-wide data analysis platform Zivan Karaman.
CSI 101 Elements of Computing Spring 2009 Lecture #2 Development Life Cycle of a Computer Application Monday January 26th, 2009.
Background Info The UK Mirror Service provides mirror copies of data and programs from many sources all over the world. This enables users in the UK to.
Module 1 Introduction to Network Operating Systems
Interpret Application Specifications
© Prentice Hall CHAPTER 3 Computer Software.
Module 6 Windows 2000 Professional 6.1 Installation 6.2 Administration/User Interface 6.3 User Accounts 6.4 Managing the File System 6.5 Services.
Guide To UNIX Using Linux Third Edition
Chapter 10 Application Development. Chapter Goals Describe the application development process and the role of methodologies, models and tools Compare.
The Basic Tools Presented by: Robert E., & Jonathan Chase.
Kurt Menke, GISP GRASS GIS Geographic Resources Analysis Support System.
Course: Introduction to Computers
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Computer Software.
Types of software. Sonam Dema..
 Advantages  Easy to learn  Graphical Advantages  Help and Support  Widely used  Software compatibility  Customisable  Customisable Hardware 
What is Unix Prepared by Dr. Bahjat Qazzaz. What is Unix UNIX is a computer operating system. An operating system is the program that – controls all the.
Operating System.
SOFTWARE.
Your Interactive Guide to the Digital World Discovering Computers 2012.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
Danielle Baldwin, ITS Web Services CMS Administrator Application Overview and Joomla 1.5 RC 1 Highlights.
Program development & programming languages Chapter 13.
Visual Basic: An Object Oriented Approach 12 – Creating and using ActiveX objects.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
Presented by Team D Compare Windows 2000, XP, and.NET By John Leonard, Brian North, Jeffrey Reynolds, Todd Saylor.
Incell Phonium Processor Project Plan Document Dale Mansholt Aaron Drake Jon Scruggs Travis Svehla.
Chapter 9: Novell NetWare
Quality Attributes of Web Software Applications – Jeff Offutt By Julia Erdman SE 510 October 8, 2003.
CIM6400 CTNW (04/05) 1 CIM6400 CTNW Lesson 6 – More on Windows 2000.
SB ScriptBasic Introduction to ScriptBasic There are more people writing programs in BASIC than the number of people capable programming.
CHAPTER FOUR COMPUTER SOFTWARE.
Introduction to Interactive Media Interactive Media Tools: Software.
UNIX JIN GUO 08/30/00. AGENDA 1.Creation of Unix 2.Unix Uniqueness 3.Unix Architecture 4.Unix Application 5.Unix Security 6.Unix & Web.
Chapter 11 An Introduction to Visual Basic 2008 Why Windows and Why Visual Basic How You Develop a Visual Basic Application The Different Versions of Visual.
1 3. Computing System Fundamentals 3.1 Language Translators.
Chapter 3: Computer Software. Stored Program Concept v The concept of preparing a precise list of exactly what the computer is to do (this list is called.
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
INTRODUCTION UTUBUNTU Why use Ubuntu for desktops? Ubuntu is a Fast, Secure and Easy-to-use operating system used by millions of people around.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Application Software System Software.
1 MSTE Visual SourceSafe For more information, see:
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
BIF713 Operating System Concepts MS Windows. Agenda 1. What is an Operating System (definition)? 2. Types of Operating Systems 3. Basic Operations: –
Introduction to UNIX CS465. What is UNIX? (1) UNIX is an Operating System (OS). An operating system is a control program that allocates the computer's.
Selenium server By, Kartikeya Rastogi Mayur Sapre Mosheca. R
Introduction  Program: Set of sequence instruction that tell the computer what to do.  Software: A collection of programs, data, and information. 
Northwest Arkansas.Net User Group Jay Smith Tyson Foods, Inc. Unit Testing nUnit, nUnitAsp, nUnitForms.
Microsoft Visual Basic 2015 CHAPTER ONE Introduction to Visual Basic 2015 Programming.
MICROSOFT RD WEB ACCESS 2008 R2 Remote Desktop Services Copyright 2012 Interfaceplanet.com | Phone: | Design.
Aaron Corso COSC Spring What is LAMP?  A ‘solution stack’, or package of an OS and software consisting of:  Linux  Apache  MySQL  PHP.
Chapter 2 Operating Systems
INTRO. To I.T Razan N. AlShihabi
Chapter 5 Operating Systems.
What are they? The Package Repository Client is a set of Tcl scripts that are capable of locating, downloading, and installing packages for both Tcl and.
Operating System Concepts
Maintaining software solutions
INFS 3500 Martin, Brad, and John
Lecture 13 RPM and its advantages.
Dev Test on Windows Azure Solution in a Box
Tools of Software Development
Continuous deployment best practices, methods and tools.
Linux Professor Sabol.
Presentation transcript:

In the Labs… X-Bot 2003 by Overtech Technologies

What is X-Bot? X-Bot is a remarkable combination of a powerful bot engine, customized scripts and a graphical front-end which makes setting up an IRC bot easy.

How was X-Bot Built X-Bot began as multiple programs. Eggdrop was the basis for the IRC interface. It is a relatively hard to use but highly customizable tool for creating bots on IRC OTBN.TCL (Overtech Technologies Bot Network TCL Script) was an add-on that made Eggdrop’s bot interface more user-friendly and more practical for wide deployment. Eggconfig was the original GUI for easing the configuration of the Eggdrop Interface.

How was X-Bot Assembled? X-Bot combined Eggdrop, Eggconfig and OTBN.tcl into a single easy-to-use package. X-Bot built upon these tools and improved them to provide a unique project. X-Bot worked with former programmers of OTBN.tcl to create a new script called X-Bot.tcl which was easier to code and easier to maintain – benefiting our project.

Programming X-Bot X-Bot by its nature is a modular program using other entire programs as modules of its own program. The X-Bot team broke down OTBN.tcl into more, smaller modules code-named “Bot-Solutions.tcl” which has become X-Bot.tcl This made programming X-Bot easier since tasks could be easily sorted to multiple programmers without much effort.

X-Bot’s Construction X-Bot is an immensely complex program To aid in the creation of a IRC interface for our product, we sought assistance from the open source community. Eggdrop and Windrop provided a GPL- compliant basis we could use for adding IRC capabilities to X-bot.

X-Bot’s Construction X-Bot treats the entire Eggdrop and Windrop programs as modules to the greater X-Bot program. This allows us to easily “swap” old versions of these products with new versions very easily.

Users want more, we give more! Halfway through the construction of X-Bot, beta testers were demanding X-Bot be compatible with shell server accounts. To accomplish this, we modified the code of another GPL program called “Imagica Telnet” which was written in VB. Fortunately, the program was built in such a way which made building a proprietary scripting language that the program can interpret very easy.

Users want more, we give more! Getting X-Bot on the shell needed more than just a telnet client. After much research, we discovered the best way to upload content which was compatible to most windows systems was to use Microsoft’s FTP scripting language in conjunction with Windows batch files.

Users want more, we give more! To keep X-Bot easy to use, we needed to hide this environment’s harsh interface from the user. We unfortunately could not hide the entire program from our users, leaving many brief command windows on screen which are performing tasks automatically. X-Bot 2004 will eliminate these problems.

X-Bot on Windows (Built in Visual Basic) Default ConfigurationsLocal Bot Interface Cygwin Linux Emulator Allows bot to run on local computer (Built in C++) Eggdrop on Linux (Built in C) X-Bot.TCL (Eggdrop add-on written in TCL) Control Eggdrop’s Environment (Windows Batch Scruot) Shell Interface Windows Command Line FTP (Built using Windows FTP Scripts) Imagica Telnet (Used proprietary language to interface with eggdrop on a remote server) Chart of how X-Bot 2003 works

Overcoming Boundaries That diagram illustrates the complexity of X-Bot. A program built in Visual Basic designed for Windows interfaces with a program built in C designed for Linux. Despite this, the entire program works on Windows machines thanks to Cygwin

Cygwin Cygwin is a GPL’d program which allows Windows to emulate Linux programs. Thankfully people at SourceForge.net have compiled a version of Eggdrop bundled with Cygwin for use on Windows called “Windrop.” This further eases the burden off our programmers and allows us to focus more on other aspects of this program such as the GUI.

Due to the modular nature of X-Bot.. It is easy for us to maintain parity with the Eggdrop standards. We can release more editions of X-Bot which uses different base TCLs more easily. It is compatible with many fun Eggdrop add-ons that make X-Bot very expandable and versatile.

Due to the modular nature of X-Bot.. We can focus more on X-Bot being cool We can make X-Bot easier to use at a faster rate We do not need to be concerned about the whole thing working. Modules are guaranteed to work. X-Bot is very stable despite its complexity

What we learned Extensive beta testing is an absolute necessity for all portions of any program. When we first released betas of X-Bot to the public, our web server’s bandwidth was overloaded. Use a different server that can handle the demands upon media announcements.

What we learned The coolness factor is missing in X-Bot and many beta testers are unhappy about that. Using GPL’d programs is a good way to boost RAD (Rapid Application Development)

What we learned Visual Basic can prove to be an extremely powerful language when pushed to its limits GPL does not prevent us from making a profitable program. Project Management Documents aid greatly in producing progress reports and coordinating large-scale beta testing.

What we learned When building an easy-to-use program, one must keep in mind the demands of advanced users Once beta testing has begun, routine releases are a must. When using GPL’d software, one must be aware of the bugs in that software and try to avoid implementing them into the final product.

X-Bot 2004 It’s Coming Soon…