Had a great run at GitLab, worked with some amazing people and created some awesome stuff over 6 years 7 months. Was laid off June, 2026. Resume update pending. Check my GitHub (thewoolleyman) for what I'm currently hacking on.
Job History
I worked at Pivotal for 13 years doing full-stack web development and DevOps (before it was called devops). Rob Mee, the co-founder and CEO, interviewed and hired me as the 10th employee when starting Pivotal's Ruby on Rails practice (Rails had just hit 1.0). For the first year or so, I was the de-facto IT department, and set up the first CI box in the office. Pivotal is a pioneer and leader in agile, and I've done full-time TDD and pair-programming for most of my time there. I did many various things in my career at Pivotal; too many to list here, but I'm happy to discuss anything in more depth. Here's some highlights:
- Pivotal Tracker: In my time at Pivotal, I worked primarily on Tracker since its creation. I had the 43rd commit in Apr '06, it is now at 53K+ commits. I'm the #1 committer on Tracker, with well over 2000 commits and 2 million lines of code (Don't know the exact numbers; Github's analytics only go back to 2010, and Tracker's source predates git itself). This was 13 years of full-stack Rails+JS+DevOps+Support over the lifetime evolution of a globally-used, high-traffic SaaS product, including 24-7 on-call production infrastructure monitoring and outage support, and answering support tickets.
- Agile Consulting: In the early days at Pivotal (during the SF dotcom boom, where new tech startups like like Twitter, Github and Heroku were working closely with Pivotal), I worked on several agile consulting projects, enabling and training clients on software development and agile practices.
- Cloud-Native App Transformation Trainer (Java): I worked as an instructor at Pivotal's Platform Acceleration Lab (PAL) co-teaching multiple 3-week-long tech-intensive workshops in the US, Singapore, and Bangalore, where we trained senior Java engineers and architects how to transform legacy apps to be Cloud Native. The workshops involved in-depth hands-on development and deployment exercises using cloud technologies to handle various aspects of building and deploying highly-scalable, highly-available, distributed systems. This included an emphasis on the "App Continuum" architecture evolution, which describes how to gradually evolve from a monolithic to a microservices architecture, and when microservices may not be appropriate.
- Pivotal Tracker CloudFoundry On-Prem "Tile": I led a year-long effort to modernize and transform the Tracker Ruby on Rails app to be 12-Factor compliant and Cloud Native, and to be deployable as a self-contained on-premise tile.
- And much, much more...
In addition to the full-time jobs listed here, I have had numerous part-time consulting jobs. These were all software development in a range of technologies, including mentoring Nigerian devs, Devops, Ruby on Rails, Javascript, PHP, and technical research. These were all remote work.
With one other developer, I managed all aspects of developing and maintaining http://PlanitJewish.com. The codebase was hundreds of thousand of lines of complex Java, XML, XSL, and shell scripts. Used Resin, Apache2, Oracle 10g, and Subversion.
- Managed 24/7 production support, including all aspects of deployment, maintenance, and system administration. Set up Linux servers from scratch, including Resin and Oracle 10g client/server installs. All of my production work was performed remotely, via ssh, VNC, and Remote Desktop.
- Responded to a security audit which uncovered security flaws in the legacy code (some of which had been previously identified). Provided a detailed analysis and response to the audit (including HTTP header analysis) - by pointing out some flaws in the initial audit, and making code/db changes to help address remaining problems.
- Created and deployed new customized sites for several cities, schools, and synagogues.
- Managed support ticket estimation, prioritization, and status reporting with a customized Trac installation.
- Closed hundreds of bugs, maintenance requests, and enhancement tickets.
- Performed troubleshooting and debugging of complex production errors.
- Provided monthly consolidated site traffic statistics using WebTrends. Wrote batch and Ruby automation scripts to cut several hours of manual labor out of this process each month.
- Administered production firewall and load balancers.
- Installed and migrated to multiple new servers (two redundant application servers, one database server, staging server, and tools/support server) with zero downtime.
- Worked on Ruby on Rails applications, and wrote support/automation scripts in Ruby.
Developed and maintained internal and client-facing Enterprise Web and Client-Server applications.
- Used Test-Driven Development, Spring, Swing, Hibernate, Tapestry, Maven, Oracle 9i/10g, Oracle Enterprise Manager, Apache Axis, Web Services, and AOP/AspectJ, in a generally Agile and XP-like environment.
- Performed statistical performance analysis using the "R" statistical analysis package
- Set up an enterprise-wide Continuous Integration solution using AnthillPro, which managed the automated build and deployment of common internal libraries, and cross-project dependencies.
- Worked on a small (2-3 person) team which a wrote a client server Java application with a Swing GUI front end, which was automatically deployed with Java Web Start, and communicated via Web Services to a central server. The application automatically downloaded, synchronized, and played audio and video advertising media which the customers had purchased.
- Worked with a team to write a client-server application infrastructure which uploaded and processed high-volume, real-time closed-captioning and audio/video data captured by PC clients in hundreds of TV markets nationwide.
Worked on development of J2EE web-based Property Management system to be used by Choice Hotels franchisees worldwide. Studied and applied Core J2EE Design Patterns. Used Agile, Extreme Programming and Open-Source tools and practices, including: Frequent iterations and releases; aggressive refactoring using Eclipse; test-driven-development using Junit, Mock Objects, JSUnit and Cactus; Struts; Jakarta taglibs; Jakarta Tomcat; Aspect-Oriented Programming; and Continuous Integration using Ant and Anthill. Also used BEA Weblogic, MS SQL Server, and Tomcat.
- Created Wiki website to manage team documentation and communications
- Participated in database schema redesign and refactoring.
- Responsible for redesign and support of continuous integration process. This included writing and maintaining several Ant scripts to manage the testing, integration, build, verification and publishing of entire application consisting of multiple projects. Used Anthill and Ant to automatically email teams and provide Ant logs when builds failed, and automatically publish artifacts, including links to archived artifacts and logs.
- Used Eclipse IDE, including advanced features such as: AspectJ plugin; Jalopy plugin, import management, dependency management of multiple projects; JUnit Testing; remote debugging of Tomcat and Weblogic; and automated refactoring across projects.
- Performed aggressive and efficient refactoring, using Eclipse. Wrote JUnit tests to prevent bugs from reoccurring. Leveraged Struts framework and taglibs to write compact and simple classes and JSPs.
Performed team lead, technical lead, project management, customer interaction, requirements management, project planning, architecture, design, documentation, development, testing, integration, maintenance, and troubleshooting roles on several diverse projects:
- IBM Web Development Project: Worked on a web project with Internet and Intranet components. Used Websphere Studio Application Developer, Websphere 4, Struts, Log4J, and Parasoft JTest. Collaborated on design and enhancement of relational database model and Object-Relational mapping. Designed and implemented persistence layer using Data Access Objects design pattern. Used the Struts framework to develop a pure-HTML expandable tree structure with the ability to modify data on any node of the tree.
- IBM Healthcare Account (Horizon Blue Cross Blue Shield NJ): Worked on development of a commercial web application, using VisualAge for Java to develop for Websphere. Designed and implemented MVC/Model 2 architecture using Struts and JSPs, including custom taglibs. Interfaced with a back-end team that provided the Business/Model layer as J2EE Session and Entity Enterprise JavaBeans. To see screenshots and flow of the application, go to http://www.horizon-bcbsnj.com/ and click Brokers, Member Maintenance, Online Tutorial.
- IBM Healthcare Account (Nasco): Worked on developing a Java/JSP web application using VAJ and Websphere. Designed and implemented MVC/Model 2 architecture, using Command Pattern for controller layer. Performed design/administration of test and production databases.
- University of Michigan Healthcare (UMHHC): Was Team Lead for the Support Team, which was responsible for Environment and Configuration and Change Management. Participated in Architecture and Design reviews and Object Oriented Analysis and Design effort using UML. Planned and managed the acquisition, installation, configuration, and support of multiple servers (Win2K and AIX) and workstations. Planned and coordinated migration of entire development group to Win2K Active Directory Domain. Planned the acquisition, installation, configuration, and usage of several client- and server-based software tools, including Websphere, Oracle Database, Rational Rose, Requisite Pro, ClearCase, ClearQuest, and MS Project Central. Planned and completed Document of Understanding with Tucson Server Support group to provide administration, support, and backup/recovery of servers. Participated in the interview and hiring of contractors who worked on Support Team, and was responsible for their training and task assignments. Created detailed Project Plans in MS Project based on Rational Unified Process methodology. Instrumental in the planning, implementation and support of a project "Team Site" which incorporated several Lotus Notes Databases as well as an HTML- and Javascript- based homepage, and was replicated between Tucson and Michigan.
- w3.ibm.com ("Enterprise Knowledge Portal"): Worked on major redesign of w3.ibm.com Intranet home page, which supported user customization and storage of links, and automated display of customized, continually updated links to users based on their "profile" (employee's rank, location, position, etc). Worked with a widely distributed multi-team group, which required communication with management, architects, and development teams in multiple locations across US and worldwide. Collaborated on design and implementation of a fairly complex relational database model, including consideration of normalization, performance and integrity issues. Worked on design and implementation of overall object model and application architecture. Designed and coded servlets and associated Java/DB2/XML back-end code. Responsible for design and implementation of an XML-based scheme for storage of high-volume user data. Assisted in support of testing group, and helped coordinate problem determination and resolution of issues found during testing.
- Track2: Held Technical Lead role, performed Project Management responsibilities, and was primary customer interface. Worked with customer to transform requirements into design, and managed development and deployment over several releases. Designed and implemented integration of Notes databases with MVS/TSO-based IBM HR Database, including mainframe batch jobs and Notes agents to synchronize data on a nightly basis. Track2 played a key role in ISO 9001/14001 certification of IBM's Storage Technology Division. It tracked audits and automatically escalated managers as required.
- CallOwn: Performed design and development on several CRM/Call Center applications. Gained experience in Java, VisualAge for Java, Object-Oriented design/programming, REXX, Lotus Notes, Notes/C APIs, Notes/Java APIs, and Notes integration with host-based databases.
- Distributed Services Billing: Worked on design and development of Java Swing application to automate billing and web-based reporting for cost-recovery services, such as Phones, Userids, and Help Desk calls.
- Configuration Management: Held Configuration Management Lead role on several projects. Designed, documented, implemented, and enforced Configuration Management and Control policies and procedures. Administered CM systems using CVS, Rational ClearCase, CMVC, ISPF/LMF, and SCLM, including the design and coding of several custom utilities and interfaces.
- Other projects: Worked on several teams to support a applications using COBOL PL/I, CICS, AIX, and MQSeries, including 24-hour on-call support to troubleshoot production problems for major external customers.
Installed, maintained, and administered a NetWare Ethernet-based local area network and all departmental computing resources, including initial installation/configuration of a server, computer lab, and many LAN-based applications, and physical installation of network cabling and fiber-optic security system. Hand-made RS-232 cables and Ethernet cables. Designed and created relational database systems for inventory, student, and alumni records. Created and administered a public departmental web site during the infancy of the WWW, which was accessed using Netscape 1.0.
Formal Education
New Mexico State University, Las Cruces, New Mexico, May 1994, 3.7 GPA
New Mexico State University, Las Cruces, New Mexico, May 1992, 3.5 GPA
Open-Source Projects Created/Contributed
https://github.com/rdy/fixture_builder - I am the sole active maintainer of Fixture Builder, which brings together the best of both worlds in Ruby on Rails testing - The maintainability of Object Mothers + the speed of Transactional Fixtures.
https://github.com/thewoolleyman/process_helper - I created and actively maintain process_helper, which "Makes it easy to
spawn Ruby sub-processes with guaranteed exit status handling, capturing and/or suppressing combined STDOUT and
STDERR streams, providing STDIN input, timeouts, and running via a pseudo terminal."
GemInstaller was by far my most successful and popular open source project. It has 77,000 downloads (FWIW), but has been deprecated since 2010, when Bundler superseded it. But until then, it was widely used as the best way to manage Rails dependencies, superior to the flawed "config.gems" approach which Rails itself provided. I conceived and wrote GemInstaller from scratch, using Rspec and a Behavior-Driven Development approach. It had a thorough and extensive test suite, and was continuously integrated against multiple RubyGems releases.
https://sourceforge.net/projects/virtualmock/ - I created VirtualMock, a Java unit testing tool based on an idea from an article in XP Magazine. It uses Aspect-Oriented Programming (AOP) and supports the Mock Objects testing approach. The key feature it had was the ability (via AOP/JVM bytecode manipulation) to mock static class methods. I now realize that this is an anti-pattern in almost all cases, but I was young and naive, and it was a good OSS experience ;).
- Contributed to Rails Core (
preinitializer.rbwhich facilitated the use of GemInstaller - Moderator for
rails-coremailing list for several years.
Contributed to various Pivotal-created open source projects.
http://github.com/thewoolleyman/cinabox - Automates setup of CI environments. Didn't get far, but got mentioned on a Rails podcast :)
Contributed to build serialization support.
http://emma.sourceforge.net/ - a Java code-coverage tool. Was a committer, rewrote the Maven 1 Plugin for EMMA from scratch, and helped monitor the mailing list.
http://www.easymock.org - contributed to the EasyMock mailing list for a while, and helped out with the class-mocking patch, which I was kindly given credit for.
http://jfig.sourceforge.net/ - contributed to Jfig a bit. It was really cool, but then Spring came along with PropertyResourceConfigurer. :)
http://sourceforge.net/projects/vcardsplitter/ - A small utility that I wrote for my own use, and then open-sourced to see if anyone would find it useful. My first Open Source experience; it only took me a few hours to write but people still downloaded it!
http://www.urbancode.com/projects/anthill/ - (one of the first Continous Integration tools) - contributed a couple of small patches to Anthill, and helped out on the Anthill OS and Anthill Pro mailing lists while I was using it.
http://typeinterceptor.sourceforge.net/ - made this, but then found out you can do the same thing with an undocumented Sun class.
Writings, Publications, Presentations, and Awards
https://github.com/thewoolleyman/npm-shrinkwrap-helper - A short rant + instructions about the abysmal state of the Node Package Manager circa 2015/2016. This has the most stars by far of any of my Github repos, lol.
goals_and_philosophy.md (doc page from an open source project)
Co-taught multiple 3-week-long intensive technical courses on transforming legacy Java apps to be cloud-native.
https://stackoverflow.com/users/25192/thewoolleyman - 554 reputation on Stack Overflow (top 55%).
blogged at Pivotal Labs (apologies for the random-order link, recent migrations of Pivotal blog has made it hard to link to my articles)
CI for the Rails Guy (or Gal) - An update of my Continuous Integration tutorial for RailsConf 2008.
CI for the Web 2.0 Guy (or Gal) - A hands-on tutorial on Continuous Integration presented at the Agile 2007 conference.
"Introduction to Spring Using Swing" - A tutorial published on IBM DeveloperWorks
Winner in the November 2007 Rails Hackfest
Reviewed "Junit Recipes" and had my open source project mentioned in it, reviewed "Craft GraphQL APIs in Elixir with Absinthe"
Informal presentations at the Tucson Java Users Group, East Bay Ruby Users Group, and lightning talks at technical conferences.
Peer Star Silver Award, "Dinner for Two" Award for Technical Contributions, Three 'Thanks' Peer Recognition Awards
Prepared and taught several end-user training classes
Skills/Tools - Methodologies/Processes
I have worked on teams which use Lean Startup style practices and related modern growth-focused methodologies and approaches, including metrics-driven planning, validated learning, pivot-persevere-kill, "double-diamond" (discover-define-develop-deliver), etc.
I've practiced and taught agile/XP for close to 20 years, long before big-A Agile became a buzzword. I am very familiar with agile methodologies, and their various pros and cons, benefits and drawbacks, in various situations.
For nearly as long as CI has been around, I've created, used, and maintained CI systems (the first tool I used was Anthill Pro, the first commercial CI tool). It is one of my areas of most expertise. Tools used include: GitLab, Travis CI, Circle CI, Buildkite, Concourse CI, CruiseControl, CruiseControl.rb, AntHill, Luntbuild, and others.
Created and maintained continuous deployment pipelines for many projects, including large-scale high-availability blue-green deployments. Tools used include GitLab, Heroku, Circle CI, Concourse CI, Amazon AWS, unix-based homegrown, Capistrano, and others.
I've written thousands of automated tests, at every level, in both Detroit/Classical style and Mockist/London style. On Pivotal Tracker, I helped grow an app from greenfield Rails 1.0 to tens of thousands of tests on the front and back end. Tools/frameworks used include: Rspec, Jest, Jasmine, Capybara, Junit, Selenium, Enzyme, Jmock, Easymock, and others.
Familiar with event sourcing as an architecture, and have worked on Pivotal Tracker which used a "Command" architecture before the "Event Sourcing" term was coined/popularized.
I've studied this architecture, which is closely related to Event Sourcing, but have not yet used it strictly on an app.
Here's a list of various patterns/architectures in my toolbox: Loose Coupling and High Cohesion (almost everything else flows from these fundamentals, IMO), Functional Programming, Object-Oriented Programming (OO), SOLID OO patterns, Refactoring book patterns, Gang of Four Design Patterns book patterns, REST.
Grab bag of older stuff I've used: Trac, XPlanner, MS Project, Rational Unified Process, Enterprise Unified Process, Software Configuration Management Patterns and Process Patterns, J2EE Core Patterns.
Skills/Tools - Frontend Languages/Libs/Frameworks
I've done Javascript since Javascript came out, and have written tons of it, but always tended to work more on the backend than the frontend, so I never got as strong as I would have liked, and honestly never liked the ecosystem that much. But ES6 and TypeScript have changed that; I'm really enjoying working with them nowadays!
CSS / SASS / SCSS / LESS / Flexbox - Like Javascript, I've done CSS since it came out, and did what I had to in order to get the job done, but design was never particularly my love or forté...
I've used NPM, Yarn, Babel, Webpack, Webpacker, React on Rails, Rails Asset Pipeline, Sprockets, as well as many older approaches.
I wrote this resume in Vue+Vuex+bootstrap-vue! It was my first experience with the Vue ecosystem, and I'm a fan!
I've used React/Redux on multiple apps
I'm a big proponent of strong-typing + strong type inference + null safety for modern development. I've started using Typescript on some personal projects, and I like it.
Grab bag of various stuff: ES6, Kotlin/JS, Jest, Jasmine, Jquery, Prototype.js, YUI, others...
Skills/Tools - Backend Languages/Libs/Frameworks
Tons of stuff over the years, here's a random and non-exhaustive list: Ruby, Rails, Javascript, Typescript, Kotlin, Elixir, Phoenix, Haskell, Java, Struts, J2EE, JSP, Servlets, PHP, XSL, C
Skills/Tools - Databases
SQL, Ruby on Rails Migrations, Mysql, Postgres, Sqlite, MS SQL Server, Oracle 9i/10g, DB2/UDB, SQL/DS, MS Access, Continuous Database Integration, Agile Databases, Relational Database Design/Modeling/Implementation
Rails Migrations, Rails Transactional Fixtures, Continuous Database Integration, Agile Databases, Relational Database Design/Modeling/Implementation
Skills/Tools - DevOps/SecOps/OS/Sysadmin
My first sysadmin experience was setting up and running a Netware network, and I've been using and administering Linux since Linux came out. I'm proficient with Linux command line utilities. Here's a big list of stuff I've used: Linux (Alpine, Ubuntu, Redhat, Fedora, Debian, WBEL3, etc), Bash, Posix, apt/aptitude, yum, VMWare, Solaris, AIX, Cygwin, Unix/Linux Shell Scripting and command line tools, installing/building Unix packages via RPM/SRPM/source, DOS, Windows 9x/ME/NT/2000/XP/8/10, OS/2, MVS/TSO, etc...
I've been doing less infrastructure work recently, but here's some of the things I've worked with: Kubernetes, CloudFoundry, Amazon Web Services, AWS Lambda, AWS CloudFormation, other various AWS tools, Docker, Chef, Ansible, Puppet, BOSH, Pivotal Platform (née Pivotal CloudFoundry or PCF), Pivotal Web Services (PWS), Google Cloud Platform (GCP)
I believe Observability (O11y) is an important paradigm shift - a much needed new perspective on how to approach this problem. I enjoy following Charity Majors, and I attended O11yCon a couple of years ago - and it was great. Tools: Honeycomb, Scout, NewRelic, Splunk, Datadog, AWS and GCP logging and metrics, etc.
Mongrel, Lighttpd, Tomcat, Apache Axis, BEA WebLogic, WebSphere, Resin, Apache/Apache2/IHS, Jetty, "R" statistical analysis package (for lack of a better category), WebTrends, MS IIS, JTest, Rational Rose, MQSeries, Lotus Enterprise Integrator, others
Skills/Tools - Editors/IDEs
Jetbrains IDEs are what I use for coding - Rubymine, Webstorm, Idea, Pycharm, PHPStorm
I use Jetbrains IDEs for coding, and only use text editors for quickly editing text files. I am very proficient in them, and would consider myself a power user in terms of keybinding usage, configuration (versioned in git), refactoring tools, debuggers, quickly exploring git history and annotations, etc. However, I do not use them for source control, other than visual diff and merge conflicts - I like my CLI for git :) The only other exception when I do not use them for coding is when Jetbrains does not have good enough support for the language (e.g. for Elm or Haskell when I last checked). I usually use Textmate as my text editor, because my main criteria for a text editor is that it starts instantly, but but occasionally use vi or Atom or VSCode if it's handier.
I only use vim/LESS when I have to, which nowadays is primarily when doing git command line commands. I can perform necessary basic tasks easily, but am nowhere near a power user.
Never learned emacs very well or became proficient. Tried Spacemacs recently, but went back to Jetbrains.
Skills/Tools - Remote Working
I've worked remotely for almost 20 years, and remote pair-programmed nearly full-time for the last 13. I've got a lot of experience with the psychological and technical aspects of it, which are far too extensive to discuss here. Let me know if you want to talk more about it!
Here's a random list of Remote Working tech I've used: Zoom, Skype, MacOS Screen Sharing, ScreenHero (RIP), Tuple, tmux, ssh, screen, NoMachine NX, VNC, Windows Remote Desktop, etc.
Skills/Tools - Networking
It's rare that you have to get too low in the networking stack in the glorious Cloud-Native future in which we live, but it's good to know your way around. Here's some stuff I know/have known: Network traffic analysis using Ethereal/Wireshark, HTTP header/cookie analysis, ssh, ssh port forwarding/tunneling, automatic key-based authentication using ssh-keygen and ssh-agent, scp, rsync, tftp, Putty, WinSCP, Basic Router/Load Balancer/Firewall administration, TCP/IP, MS Networking, NetBIOS/Samba, MS Active Directory, Novell, General Network Installation/Configuration/Troubleshooting/Administration
Skills/Tools - Source Control
I've managed and worked with many source control systems, going back to mainframe days. I'm glad we have git now :). Here's some of them: GitLab, Github, AWS Codecommit, Git, Subversion, SVK, CVS, ClearCase, SourceSafe, ClearQuest, ReqPro, RACF, CICS
Experienced and opinionated
on tradeoffs of various SCM workflows and patterns: Monorepo vs. Multi Repo, Monoliths vs. Monorepos,
Merge vs. Rebase workflows, Gitflow, Github Flow, etc.
One of favorite git CLI tricks is: git rebase -i $(git merge-base head master).
UPDATE: While studying for the GitLab technical interview, I found
this documentation on GitLab Flow.
Yes, I agree completely! It almost exactly echoes my opinions in the link above, including my criticisms of
the Git Flow approach, usage of rebasing for feature branches,
and the importance of --no-ff when merging upstream.
Skills/Tools - Legacy/Mainframe
COBOL, JCL, PL/1, Rexx, ISPF, Lotus Notes, OS/2, MVS/TSO, VM, Solaris, AIX
Favorite Books/Articles
Here's a few pieces of nonfiction writing which have been influential for me:
- Tech
- The Agile Manifesto
- Design Patterns: Elements of Reusable Object-Oriented Software
- Extreme Programming: A gentle introduction
- GroboUtils: The art of naming tests
- Hackers: Heroes of the Computer Revolution
- The Pragmatic Programmer
- Refactoring: Improving the Design of Existing Code
- The Soul of A New Machine
- Test-Driven Development: A Practical Guide: A Practical Guide
- Business
- Life
- Atomic Habits
- Deep Work
- Essentialism: The Disciplined Pursuit of Less
- Getting Things Done: The Art of Stress-Free Productivity
- Goodbye, Things: The New Japanese Minimalism
- How to Win Friends & Influence People
- The Magic of Thinking Big
- The Power of Habit: Why We Do What We Do in Life and Business
- Ultralearning: Master Hard Skills, Outsmart the Competition, and Accelerate Your Career
Personal Info
I have a lame and outdated website, https://thewoolleyweb.com, with some outdated info, some music I've
written and recorded, some pics and videos, and links to all my social
media accounts, all of which are completely public. Or just Google thewoolleyman, I've been on the web since there's
been a web; I'm transparent and easy to find :)