Steven R. Loomis ~ Code Sculptor
| San José, California, USA | software development is an art and a science |
|
srl@monkey.sbay.org |
http://www.monkey.sbay.org/~srl |
Objective
To work on advanced software development projects, with emphasis on internationalization, networking, and Internet protocols.Qualifications
- Programming languages
Principals: C, C++, Java. (Object Oriented discipline applied where applicable regardless of language.)
Supporting Cast: sh, sed, sql, html, css, Javascript, gnumake.
Extras: perl, python, php, NT cmd, lex/yacc, PostScript, 6502 Assembly, Objective-C.
- Development Environments
Microsoft MSVC 4 through Visual Studio.NET 2005, Symantec Café, Gnu GCC, Eclipse, IBM CMVC, IBM VisualAge for C++, IBM CSet++ for AIX, Apple ProjectBuilder/XCode, Metrowerks CodeWarrior for Mac and BeOS, Apple MPW shell - Platforms/Operating Systems
Microsoft Windows Vista through 3.1, UNIX, GNU/Linux (Slackware, RedHat, Debian, Mandrake), AIX, Solaris, NeXT, PalmOS, Coherent, IRIX, A/UX, CTIX, HP/UX, BeOS, Taligent CommonPoint, MacOS, MacOSX, Newton, Apple ][ DOS, MS-DOS, OS/2, Microchip PIC16F84
- 1998—
Unicode Software Engineer, IBM Java Technology Center, Cupertino, California, USA.
Internationalization group. Returned from Leave to IBM San José (see below), ICU Internationalization Project. Working on the International Components for Unicode, an open source C/C++ project providing functionality for manipulating cultural and langauge-sensitive text using the Unicode standard.Developed applications using ICU - (web based) Locale Explorer, UnicodeBrowser, Transliterator.
Involved in many aspects of project. In charge of build and release issues. Emphasis on high quality work with quick turnaround for internal and external users. Involved in support and resolution of all aspects of product use (installation, build problems, code problems, debugging). Key role in support of single code base across many platforms (Windows NT,95,98,2000/Linux/HPUX 9,10/Solaris/AIX/IBM system 390,400, with support for BSD,Mac and many other platforms.) General "problem solver" when difficulties occur. (Especially: Hardware, UNIX, network issues). Proposal and implementation of changes to build and installation process, including a new tool for data packaging.
From mid 2006—, I have also been acting in a liason/consulting capacity with the Java2D group at Sun Microsystems, Santa Clara in regards to complex text layout and bidirectional text processing areas of the Java environment. Currently responsible for Bidi functionality and integration of the ICU layout engine into Java.
- 2001
Systems Engineer, Department of Computer Science and Artificial Intelligence, University of Malta (Europe).
Worked on Maltese Language localization, advocacy, and standardization activities. Technical advisor on font, keyboard, processing, and educational activities. Appearances in local media in support of Maltese language computing. (Continued in a part time basis for IBM)
- 1993—1997
Software Engineer, Taligent Inc., Cupertino, California. (A wholly-owned subsidiary of IBM from 1997 end)
Worked on a crossfunctional bidirectional text handling and layout project for Arabic and Hebrew enablement in a web server.
Initiated concept, and with team designed, implemented, shipped, and supported Taligent WebRunner Server Works, a set of C++ frameworks that provide an abstraction for writing Web server-side dynamic content across multiple operating systems and Web Server plug in mechanisms. (CGI/NSAPI/ICAPI/ISAPI) US Patent #6,233,622
Designed Server Works for Java, an extension of The Sun Servlet API.
My specific contributions for Server Works for Java include:- URL parsing/encoding, and an extensive RFC 1808 test suite
- Integration with existing Web Servers
- Sample Code and newsgroup/email based technical support
Represented Taligent and IBM in a product review for a major magazine, and also staffed a kiosk at trade shows demonstrating the WebRunner Server Works packages and discussing specific needs with potential customers.
Assisted in the implementation of the CommonPoint messaging frameworks. I was primarily involved with the low-level POP3 and SMTP code.
Implemented a service broker, port mapper, and service starter (the Primary Object Directory) for CommonPoint.
Assisted in further design work for the CommonPoint communications and service access frameworks, especially those related to the TCP/IP protocols.
Worked on maintainance for TCP/IP communications frameworks implementations for CommonPoint for AIX.
Build and integration support for the Taligent communications group on the Macintosh.
Maintained a 'lab' for the Distributed Communications group, including extensive unofficial technical support. (MacOS applications and configuration/AIX/Solaris/Ethernet hardware)
Departmental webmaster, Media/Distributed Communications
Wrote many tools to solve problems that came up, often web-related issues, including a C++ HTMLizer, URL Chat for internal link sharing, a GUI implementation of ‘tail’ for logfile viewing in MacOS, and a facility for communications channel performance testing.
Unofficially assisted IT and other groups with various technical issues, including security, email, web page updates and problems, and so on.
- 1993
Instructor, The Kings Academy, Los Altos, California.
Taught BASIC and 6502 assembly language to Junior and Senior high students.
Set up computer lab with Windows 3.1, and PromiseLAN network. Provided Technical support for the lab.
-
1990
Consultant to Color Blend Painting, San Carlos, California.
Provided Macintosh application consulting, troubleshooting. Among other projects, worked on prototype of a Hypercard-based contact management application. Provided training in the HyperTalk programming language.
-
1989
Software Engineer, IntelliChoice, Cupertino, California.
Worked on scripts for a Hypercard-based user interface for a Car Information kiosk.
-
Designed and helped install a 10Base-T network at home with four cascaded
hubs, for a total of 35-some ports. Set up Linux machine with a dedicated 28.8k dial-up
link to the Internet and my own Class C subnet. For several years, I ran a small ISP out of my house
called
The Monkey Lives which provided low-cost email
and dialup Internet access to many people, as well as web space (I have two commercial
virtual hosts that are run off monkey) and email to remote users over the Internet.
It also provided 24-hour full TCP/IP access to all machines on the house network.
Designed an experimental file transfer protocol for file transfers between a Hypercard-based client and a UNIX host over a dialup shell connection. Skills: Network troubleshooting (Appletalk, TCP/IP), NIC installation, cable installation.
I have a strong interest in languages, especially writing systems. I can communicate well in Maltese. Some familiarity with Japanese and Ancient Greek. Languages I have some interest/knowledge in: Arabic, Hindi (Devanagari) [Wrote a simple shaper for displaying Devanagari text], Syriac (Assyrian) [Wrote a simple shaper], Tamil, Russian (Cyrillic).
In 2000, Began an initiative to promote the use of the Maltese language on computers. l-Għaqda għall-Malti fuq il-Kompjuters (Society for Maltese on Computers). It continues to this day as active email groups named Kelmet and Maltese-Computing.
-
US Patent #6,233,622 - Adapter and handler framework for web server extensions. Co-author.
-
Current
Pursuing a Bachelor of Science in Applied Science and Technology, Computer Science, Thomas Edison State College (Trenton, New Jersey).
1999
Associate in Arts, De Anza College, Cupertino, California
1993
C++ Programming, West Valley College, Saratoga, California
1989
C Programming, Foothill College, Los Altos, California
- Extensive Unicode and globalization/internationalization experience.
- UNIX systems/network administration and technical support
- server design, configuration and administration: SMTP, POP, IMAP, HTTP/S, SSH/SSL
- UUCP, email, DNS configuration and troubleshooting
- virtual host configuration
- network performance analysis and troubleshooting
- Web-related protocols: HTTP/HTML/URL/URI/VRML.
- Internet messaging protocols (SMTP/S-MIME/POP3-S/IMAP-S).
- HyperCard programming and some pre-OS X Macintosh application development.
- UNIX tools development (scripts/binaries using 'sed', 'tr', and friends).
- Bulletin board programming and administration.
- Network planning, cabling, installation, support, and troubleshooting. Physical layers: 1000/100/10baseT/2 Ethernet, 802.11b/g, AppleTalk, Farallon PhoneNet, MOSES PromiseLAN.
- Use of a Network Analyzer to test/improve performance of applications (development), and network troubleshooting
- Other software projects (shareware/freeware/personal). All on MacOS unless specified otherwise.
- srlWDEF - custom window definition [look/feel].. one to emulate Taligent windows, one just random..
- HTMLColorPicker - uses mac color picker to choose HTML color tags (i.e. '#fe92fc')
- AuntieEm/Mac6502/asm - 6502 emulator (Apple ][ environment), with assembler. For MacOS and UNIX
- K-tris - tetris clone, Object Oriented (C++), multiple games in different windows
- KstacK - interactive world/story (HyperCard)
- Fearless Fred - goal-oriented maze game, with maps based on text files (C)
- Splish - "asteroids" clone - shoot the bubbles before they get you .. offscreen buffering, trajectory mapping (C)
- Mr Ball's Game - Maze game.. avoid nasties, collect prizes.. (HyperCard)
- kworld - Interactive object oriented adventure (ala MUD).. Client/Server on Pink (Taligent TalOS), singleuser on MacOS
- Many 2-d experimental graphics projects.. algorithmically generated pictures, gravitational attraction, plotting vector algebra problems, plots of sine waves and interference..
- Algorithmically generated MIDI pattern and rule based sound/"music"
- Ports:
- GnuChess for Windows (to mac)
- Sokoban from text-based to mac
- XWator from X to mac - fluid dynamics type simulation
- t_tris - Tetris from DOS to mac
- [linux] SQL-based 'bot' (automated chatroom assistant)
- 2008—
Deacon, Reformed Heritage Church, Campbell, California, USA.
Responsible for charitable distributions in support of needs, as well as support of ministry needs and budgeting.
Acting Treasurer (2009—).
-
References available upon request.
[ Back ]