<X />C{}JS();

About XCJS


What is XCJS?

Illustration of Zackary Lowery

I often get asked what exactly “XCJS” means. It, along with the nature of technology, has changed a little over time.

When I obtained the XCJS domain a few years ago, the web was even then a very different place. I had started web development with web standards in mind, learning HTML, CSS, and JavaScript.

I immediately observed how conceptually different these languages are and pursued improved methods of structuring code, both on the server and on the client.

I transitioned to the strict markup of XHTML, separated CSS from content, and learned design patterns associated with object oriented JavaScript.

From that came XCJS – a simple, four-letter domain I could call my own. I could experiment, provide a compelling portfolio, and maybe share what I find exciting about technology.

It is worth mentioning, however, that few pieces of software have changed as much as browsers in the last few years. XHTML gave way to HTML 5, CSS leveled up to 3, and JavaScript finally received some attention.

The moniker “XCJS” no longer makes as much sense, so you could think of it as referring to XML and XML-like languages (such as HTML), while CSS and JavaScript still hold their respective places.

What else can you do?

My education provided a basis in .NET technologies, including C#, Visual Basic.NET, and ASP.NET Web Forms. With that came basic experience using the browser-based technologies mentioned by name above and data persistence with relational databases.

My early work involved open source technologies, such as the LAMP stack (Linux, Apache, MySQL, and PHP). I quickly picked up on cross-browser development, discovering clever CSS, semantic HTML, and JavaScript frameworks like jQuery along the way.

These early efforts proved to me that code should be better organized and provide a SOLID platform for whatever future updates may come.

I independently studied design patterns and architecture, hoping I could combine these many disparate tiers in ways that allowed for flexible, responsive solutions.

I wanted to automatically test my software to ensure my code was dependable and behaved as expected, and I wanted deployment solutions paired with continuous integration so my software steadily improved over time with as few risks as possible.

I wanted to learn everything, and while I doubt that would ever be possible, I have learned much. Hopefully I can share some of my knowledge here.