Consulting and Contract Services
2316 Americus Drive
Clearwater, Florida, 33763-4503 USA
scott.ladd@coyotegulch.com
http://www.coyotegulch.com
+1 727 631 5935 (cell)
The art lies in picking the right tool for the right job.
I develop high-performance data processing applications,
wrapping platform-independent C, C++ or Fortran code in graphical interfaces
written in Java or another appropriate tool. The software I create software
emphasizes portability, efficiency, and designing-before-coding. But I've been
in the industry long enough to understand how to design and code, to quickly
bring reliable programs to market without getting bogged down in proceedures and
diagrams.
As of February 2006, I have a significant client commitment that will limit the time I have available for other work. I'm interested in taking on small Open Source projects, particularly those related to science and engineering.
What sort of work do I do?
- Software invention
Building high performance software in C, C++, Fortran 95, Python, and Java, for Linux, Windows, and Unix. My expertise is in high-performance numerical applications, information analysis, and database engines. - Optimization
Tuning and refining code for top performance in different environments, ranging from workstations to parallel systems. - Parallelization
Exploiting the potential of today's multiprocessor workstations and servers. I can bring the power of multicore processors, NUMA architecture, and clusters to your server applications. - 64-bit Testing & Conversions
Conversion and reliability checking, ensuring that your code is portable to 64-bit architectures. - Legacy System Modernization
Updating existing programs and systems for today's high-performance environments and operating systems. A specialty is wrapping legacy code in Java or C++ user interfaces to put a new face on an old workhorse. - Code Reviews
Check for compliance with industry standards, along with performance or portability auditing. - Technical Documentation
The creation of high-quality documentation for the most demanding algorithms and systems.
Specific areas of development include:
- High-performance business computing
- Scientific and engineering software
- Small database engines for concise applications
- Training in C++, software design, and multiprocessing architectures
So what does this mean for you? High-quality, well-designed, fast code with intuitive interfaces and real documentation. Rather than argue the relative merits of different tools, I use languages and technologies to their best advantage, based on the requirements of a specific application. If a GUI needs to be available cross-platform, then Java or wxWindows provide excellent tools; for number-crunching, Fortran 95 or C99 provide the necessary performance and expressive power. Wrapping a legacy COBOL application in a Java graphical interface is often preferable to rewriting working code.
For larger projects, I call upon a network of industry professionals, building dynamic teams to accomplish complex tasks. These people include professional artists, applications programmers, and experts in various application areas.
I am actively seeking international opportunities, particularly in Latin America and Europe; Coyote Gulch has in-house English and Spanish speakers. I've worked for companies in Britain, Italy, and Canada, in addition to many clients in the United States. I count among my better-known clients the BBC, British Telecom, Borland International, World Savings and Loan, and Microsoft. I also work on Open Source and free-as-in-liberty (GPL) software, both for my own needs and those of my customers.
Engines of Software
I specialize in creating engines: the software that performs the "heavy lifting" behind the scenes; understanding the vagaries of multiprocessing and threaded applications, getting the maximum "horsepower" from hardware. By focusing on the platform-independence of an application's business logic, my programs ensure that your investment today is portable to the computer systems of tommorow.
I focus on custom software development for Linux, Windows, and general Unix. In-house platforms include workstations, web servers, and multiprocessor systems, running the latest Linux and recent Windows software. The primary tools of choice include:
- C++, Java, Python, C, Fortran 95
- Linux (since before it was trendy), Windows 2000/XP
- TWAIN, gtk, PNG, TIFF, and other graphic formats
- Beowulf, Linux SMP, OpenMP, MPI, POSIX/Linux, Win32 threads & processes
- make, autoconf/automake, MS Visual Studio(.Net), gcc, Intel C++ & Fortran, Eclipse, Cygwin
- SMTP, NNTP, Sockets, HTTP, NTP, FTP, HTML, Javascript, Apache, Java applets
Rates
US$40 to $75 per hour, depending on the complexity of the work -- although I prefer to work on a package basis, with payments broken across a few reasonable milestones. For example, I've created a quick COM component, in less than a week, for $1500; for another project, I put together a team that built a real-time data acquisition system in eight months, beginning with requirements through design, implementation, and installation, for $100,000. Training in C++ and object-oriented programming is available on a per-student, flat-fee basis.
Contact me, and we can talk about what you need and how to get it done.

