Accomplishments

Recent Accomplishments:


"Catalist" - A Powershell script.

Admittedly, the first iteration of this tool was a very slow and painful batch script called, "checkServices" with much less depth, but after a year of use we needed to add functionality and Powershell was the right choice for our team. The basic process takes a list of servers organized by customer and environment and based on a know set of services interrogates the servers to collect details on those services for use in a tool a teammate has written. As with the original the core source of information is collected using SC.EXE, a Windows tool for inspecting the services on a Windows system I query and collect key information from the thousands of servers within individual datacenters around the globe. The information collected has grown over time from the basic service name and the startup type to include and derive the application location, the log folder(s), the Tomcat WebApps deployed and ports used. This is all collected to aid in ensuring that the monitoring required for any of our systems has the correct Zabbix templates assigned (which a team mate is scripting).

"Module deployment script" - Powershell

This is a step-by-step process that guides someone through performing a change through the copy and deploy aspects of a Content Server module to a whole environment. This in itself seems simple, yet in the high-stress and moderate risk of a production environment a walk-through process should put the mind-at ease with clear easy-to-follow steps with the work being performed behind the scenes.

"Email Extractor" - Powershell

This is recent and trivial, but the numbers game is a big part of the work we do and the time to get the numbers should not be time consuming. Coming to the aid of another team I converted a Visual Basic for Applications script in Excel to a Powershell script that extracts all of the messages from a particular shared Folder and stashes it as a combination of CSV files. The advantage is that this can be run in the background not interfering with the use of Excel and Outlook, but also by summarizing the results for use rather than creating a convoluted Excel spreadsheet. The script in its current for can be run daily or weekly, potentially scheduled, and it will collect all of the data up to midnight of the previous day. The purpose of this effort is to reduce effort and time for the user and also avoid the licensing and throughput demands of Power Automate. Power Automate is remarkable but access to your own information should not be so difficult or restrictive. I have another project that will be based on this code too.

"deployCAT" - Mixed, GitLab, Powershell, and batch

My team manages many servers in many datacenters across the world. Some are in Europe and need to adhere to GDPR constraints but even the many outside of the EU need to have tools deployed to them to help our delivery team get the job done. Moving data across firewalled and GDPR segregated systems, while absolutely adhering to the rules of GDPR is critical to our business. We have system information needs to get back to our reporting systems and new tools and scripts that need to be delivered to remote systems. These are best handled by a CI/CD Pipeline of sorts but while we get that sorted out the task of getting it done fell to me. While I was aware of what Git, and GitLab were I'd never had the opportunity to use it in depth, but I came to see it as an opportunity to get the job done for us. I had used batch scripts and robocopy to replicate our tools across our jump boxes for some time, there was a pressing need for something more resilient and less dependant on connectivity now, from a central location. This is where GitLab came in. I built scripts that cleanse and package our tool at the test site for distribution to GitLab. Sister scripts run on remote systems to copy the current version down at a time that's convenient to that region and datacenter. These take care of the distribution ans save me time and concerns about version synchronization.

Documentaion

Sadly, I cannot show you my documentation as it is for internal use by my employer but I do have a blog: https://camstechtricks.blogspot.com/


Where is all started

My first publication was a PC-based Math Tutor that my father distributed to colleagues at Humber College in Toronto, Ontario. It was written in GW-BASIC on my first PC, the IBM PCJr.

By the end of high-school I ran a bulletin board on a computer equipped with 1200 BAUD modem in my parent's garage. The system was linked into the FIDO network and exchanged messages between members and users all over the world. Communications was my interest and developing tools along these lines began with my purchase of TurboBASIC and developing a tool to connect PCs to LinoType digital typesetters. It was obvious to me that networking technologies, innovating solutions, and development of tools was my future.

The following are the accomplishments of my professional career, in many cases the solutions provided were over-and-above my prescribed role and were built based on a recognised need.

Microsoft Canada Inc.

Microsoft Canada Download Service - When I started at Microsoft, Canadian customers would only be able to source drivers and product updates though our BBS in Seattle. For the bulk of our customers this meant cross-board long-distance calls or waiting for a diskette in the mail. Based strictly on conservative mailing costs this system saved $250,000 the first year it operated and remained in operation until 1998 when the Internet was finally strong enough to replace the BBS technology.

The BBS did not solely serve the customer. The technicians faced the challenge of not knowing what files were and were not on the download service in Seattle and Toronto. The knowledge base would list a file as being available but there was no simple manner for the support services staff to verify that it was there, perhaps having a repeat caller due to a file being dropped. To prevent the inconvenience for everyone involved, the service gained a tool to verify and report all files on the service through an intranet web server. The file would report missing files as well as estimated download times.

The Microsoft Canada support services lab - Until 1996 PSS agents relied on cannibalizing their own PCs to test a customer's problem. Through pressure from myself and others the lab was created as a key tool in serving customers better. Featuring an isolated LAN, leading edge hardware, and controlled internet access this lab moved support ahead allowing technicians to research problems without a reliance on the corporate support teams and allowing them to maintain their own PC's stability.

Microsoft Canada Intranet Server - Providing easy access to information through a relatively new technology, this system began my web-centric activities and served the entire organization, putting Microsoft Canada on the electronic map. Services included Call Queue tracking, reporting, marketing information and social information.

15 year Wallpaper - While a trivial act, this was displayed on all PCs during the opening of the Canadian office on Matheson Blvd. in Mississauga.

Letter Log Report Generator - Used for tracking paper-based correspondence at Microsoft, this was written in BASIC 7.1 in my first year at Microsoft.

CD-Key Generator for Office 97 - When the manufacturing process dropped the last digit off the CD-KEY, the phone lines were swamped and the CSRs had no choice but to put people on hold for a technical support agent. They would wait for as much as an hour, at their expense. This tool allowed the CSRs to handle the issue and save the customer, and company a great deal of time.

Anti-Piracy Auditing - Supporting Microsoft's involvement with Canadian Alliance Against Software Theft (C.A.A.S.T.) I was fortunate to participate in software auditing raids across Canada. Under the rights offered by an Anton Pillar order we were able to enter and audit computer systems gathering evidence regarding software theft (piracy) within an organisation.

Molson Breweries Ltd.

Meridian Max Report Capture - Eliminating the paper output from our phone system and accommodating direct import to Microsoft Excel or Access through the use of Visual Basic and connection over serial communications

Move/Add/Change Database Application - Again, removing the need for paper and automated the access and review or upcoming MAC activity. Management no longer felt removed from the information and managers were able to print their own reports for reference and staff meetings. Developed with Microsoft Access.

Online Service Book - Web-based manual for on-site technicians featuring all technical documentation, online and updated as changes or additions were available.

Paramount Trading Inc./e-Concept/Berkshire Interactive Technologies

Web Skin Manager - Based on strict rules and design code, the tool would overhaul a web site's overall look through a management tool that mapped all graphics used and making adjustments to the content in a clean and user-friendly manner. This was later integrated into the online design using my code for a CGI tool to interconnect with a telnet-based gaming system.

Web-based Financial Reporting - Removing Cognos as the tool of choice (mostly because they wouldn't pay for it) I wrote the tool running on IIS in Active Server Pages against the Microsoft SQL database.

Migration of Site from Antigua to Guatemala - Start a move from one site in the first week of April for a drop-dead, servers-ready date of May 8th. We ordered 4 Dell Servers for delivery to our software vendor in Canada, Had them prepared and delivered to Guatemala and were ready to run in time to move the domain to the new systems, with no down time.

Planning and development of Antigua office network with Remote Access and ISDN connectivity.

Planning and development of the Server Rack featuring a Domain Controller, SQL Server, Exchange Server, IIS Server and Application server. This site maintained stable operations from 1999 through 2001.

Toyota Canada Inc.

Toyota Imaging Network - for PC deployment and data recovery. Reduces errors and time to rebuild from 1 hour, to 20 minutes. Allows for data recovery using Symantec Ghost. All system images are available and easily updated as needed through a common server and interface. The menu-driven solution ensures that even newcomers are able to get up to speed with very little hand-holding. On-line documentation and practical scripting ensures that systems built are 100% ready and able to protect themselves from the latest viruses.

SALVAGE.CMD and the procedures around System Migration - User impact reduced from over an hour to 5 minutes. Though there will be a change when Windows XP hits TCI, the current exploitation of unfettered (unfirewalled) access to desktop systems serves the team very well. Are there security concerns, yes, but the key is your people and a tightly controlled list of users who have rights to perform such tasks.

SMS Reporting Tools - Canned queries for software licencing, PC tracking, and administration have saved time and efforts for the whole of I.T. and have given some opportunity for pro-active user assistance. Transferred auditing demands from SMS Administrator, to clerical staff.

SMS compatible scripting (application packaging) allowed for manual or automated installation of software, even where SMS was not required, these packages saved time for end-user support team and reduced delivery time.

Mentoring TCI's co-op placements and full-time employees in the how and why of technology is a huge mutual benefit. The company gains very productive employees who are well trained. The co-ops gain practical knowledge, even though they are worked off their feet, and the company has a very capable body that doesn't cost them and arm and a leg. My reward, teaching. I love the transfer of knowledge

Disaster Recovery Image - Should anything cause TCI's location in Scarborough to be unavailable, the desktop systems will not be the hurdle. The systems are as similar to the employee's work environment as they can get. It'll be much easier with Windows XP, but as the standard is Windows 2000 for the next few weeks.

Multiple Monitors on one PC - When our operations team began requesting multiple PCs to accomodate applications that are meant to monitor our network they gained some resistance due to the cost of these additional systems. The simplest solution was to utilize some of the more capable video cards to connect two or more monitors to existing PCs. While we did upgrade many of the displays to LCD Flat-Panel, the cost per screen was $300 vs. the potential $1700 per PC (with screen) and, in this case, saved us the deployment of 4 or more PCs. The solution has been applied to many other projects around the company and is now a standard offering. Notably there are easier solutions available now that offer this solution, remarkably, through USB. This eliminates the need to open a PC and does reduce the cost.

Lafarge Canada Inc. (Lafarge North America)

The User Accounts Request System was designed to work outside of our existing ticketing tool, designed for end-user requests to user accounts, such as rights changes, group membership, application access, and VPN solutions. The system would route the request through the necessary approvers, and finally the Security Administrators that would close the ticket. A dynamic system that did not require development skills to add application forms or approver paths, the system saved time and put users in control. It was welcomed by end-users and absorbed some of the load on the help desk services team.

Firefox installers for version 3.5.9/3.6.18 - I was able to work with our architects to build a process to implement Firefox in the Enterprise, finally raising the user community above Microsoft's Internet Explorer 6.0 as a corporate standard. The 3.6.18 release targeted 6500 systems with very little impact on the help desk and implemented methods to back-up and preserve user-settings, this would include downgrading users to 3.6.18 as this was a corporate standard and prevented any automatic updating to a higher version of the Firefox web browser. This solution was developed in VBScript as an HTML Application as distributed through Symantec Altiris.

The Lafarge Deployment Framework. An HTML Application that could be used to build consistent and reliable installation packages that offered a degree of user comfort through a branded and consistent look that could be augmented to ensure the success of the installation, while not inconveniencing the end-user. This framework was the foundation of deployment to all Lafarge systems of Symantec Endpoint Protection and Windows XP Service Pack 3.

The use of Linux for system recovery and imaging - While not the only fan of Linux in the environment, the implementation of USB keys as the primary tool in system recovery and re-imaging, along with documentation that allowed any member of I.T. to build the solution with success and reliability in a timely manner was key to my goal of helping I.T. become more efficient. Working with Symantec Ghost for Linux to provide a consistent and familiar interface for the technician.

The Self Serve Portal - I was hired by Lafarge to maintain and enhance this Intranet service. I was able to streamline the code, suggest and built improvements, and provide a service that met the needs of all users across Lafarge North America. Whether it was improving navigation, making the site compatible with Windows 7 and Mac' systems allowing for the same experience as the Windows XP users but suited to their systems, or enhancing reporting to allow for usage and efficiency monitoring, or even knowing how to manage the database and troubleshoot issues with a system that was largely a mystery to both the database and server management teams. This system was operating on IBM's adaptation of Apache connecting to a Microsoft SQL Server under a Microsoft Windows Server 2003 environment. The service acted at the first point of contact for installation of printer drivers, supported and corporate approved applications, and account management.

Mentoring co-workers on the use of PHP, SQL, and VBScript as well as system imaging and being a well-respected technical resource by both technical peers, and end-users alike.

Freelance

Media Advertising Chart - This tool, based in Excel and written in VBA, allowed an uptown advertising company to plan and coordinate Radio, Print and TV ads over a calendar factoring costs and placement for accounts.

See also: skills matrix