me@jacobmunoz.com
Jacob Ángel Muñoz
Systems Architect and PHP Application Developer
Full-stack developer and system administrator providing services in the Northern Virginia / DC Metra Area.
Patreon     @ElectricShmoo on YouTube

Current Skills and Services:

Server-side Web Development: Collapse Collapse Expand
Linux
The full stack, some device driver development experience as well.
Fundamentals: scripting, cron jobs, networking, X11/Wayland, filesystems, services/systemd.

Completed: LFD331 - 'Developing Linux Device Drivers' V4.4 - 2016 Austin TX.
Completed: LFD420 - 'Linux Kernel Internals and Development' V4.6 - 2016 Austin TX.

Managed multiple desktop and server platforms with no intrusion incidents since 2008.

Served as Linux Administrator and technician for clients since 2014.
Apache
Experience with apache2 for 15+ years.
The original web server - installed and configured perhaps hundreds of times, with SSL/https certificates, mod_rewrite, etc.
Nginx
8 years of experience with Nginx. Primarily as proxy and load balancer.
The other web server - installed and configured several times, a perfectly fine alternative to apache2.
SQL
SQL experience since 2006. Both MySQL/MariaDB and MS-SQL (T-SQL)
Rather fluent in MySQL/MariaDB with MySQL Workbench and countless installs

User of MS-SQL Studio since 2012.
PHP (5, 7, 8) php-fpm/cli + Swoole
PHP development since the age of PHP 4. Now using PHP 8, alongside the amazing Swoole.
Performed several project version-migrations from 4-to-5, 5-to-7, and now 7-to-8.

Implemented a full-stack AJAX applicaiton framework and content management system with object–relational mapping from scratch.

Implemented fault-tolerant load-balanced cluster environment delivered by Swoole backend.
NodeJS
7 years of experience with node web services.
JavaScript on the server has been interesting, used for some webrtc experiments.
NoSQL/JSON (Mongo, CouchBase)
Experience with multiple non-SQL data platforms.
I've incorporated the appropriate query structures into my CMS ORM data-access (storage) layers.

I look forward to having a document storage need.
Mustache / Handlebars
Using Mustache/Handlebars and lightNcandy templating engines.
Mustache is great, but lightNcandy is lightning... I currently use Mustache for my CMS templating engine, but will be making it compatible with lightNcandy (same syntax). lightNcandy compiles templates into PHP code that gets called and run from the opcache - no template parsing, just output rendering!
WordPress
Some experience with WordPress modules and themes. Installed and configured many times.
Intermediate WordPress development skills, most of my work has been to incorporate non-WordPress elements into the site via direct custom PHP code.
SVG & PDF
Image conversion and composition using imageMagick, wkhtmltopdf, wkhtmltoimage, and Inkscape scripting.
Generated server-side application code to render documents in PDF and various image formats to produce flyers, printouts, badges, and receipts.
PowerShell
Experience with posh on both Windows and Linux
Used for simple cross-platform scripting as an alternate to PHP.
Custom CMS Development
Equation CMS and Application Framework soon to be released as open-source.
A work-in-progress, the Equation CMS is my main development project where I experiment with new APIs and features. The end product (hopefully) being a full commercial-grade business managment application.
Client-side Web Development: Collapse Collapse Expand
HTML5 & CSS3
Familiar with newer Web API's such as: GamePad, LocalStorage, FullScreen, DragandDrop, etc..
Familiar with latest CSS standards: media queries, flex, grid, box-model, etc..
DOM standard JS
Experience with JavaScript since 1998.
Familiar with latest JS features (ES6+): await, promis, arrow functions, ** exponent, etc.
jQuery & jQuery-UI
Experience with jQuery and jQuery-UI since 2012.
Used often for basic layouts and widget elements.
SVG (D3.js & raphael)
Data-driven animations and general vector graphics in the browser.
D3.js and raphael SVG graphics and animations. Mostly display experiements and embedded within HTML and PDF documents.
Templating (JSrender, Mustache)
Used jsRender, Mustache, and handlebars for client-side element rendering.
Made use of JsRender, JsViews, and Mustache for templating. Familiarity with, but no use of Vue.js.
Desktop Application Development: Collapse Collapse Expand
Microsoft Visual Studio C# & VB .Net
Visual Studio 2017, and most versions since pre-.Net framework.
Visual Basic since VB 4, through the early 1.1 .Net Framework, through to 3.5

C# from .Net versions 2.5 to 4.5.
Vala
Written minimal stand-alone browser as dedicated CMS interface using WebExtensions to access local platform via HTML5/JS API.
Effectively C# that is transcoded to C - then compiled. Fantastic for applications with the speed of C and the simplicity of coding in C#.
C, C++
General C and C++ application coding and debugging.
You can't get away from the C's.

Familiar with C++ 11, 14, some libboost.

Modest Qt experience.
GTK/Gnome 3
Familiar with the APIs of the most commonly used Linux and BSD desktop environment.
Created custom OpenBSD+Gnome desktop kiosk for automatically virus scanning file downloads.

Application and file type registration using magic bytes, .desktop files, etc.
WebKitGtk
Wrote transparent-background (free-form window shape) toolkit to create HTML-based applications.
Integrated webkit interfaces in Vala, C, GTK# (Mono), and Python.
node-webkit/nwjs
Experience with both node and nwjs (node-webkit).
Node is fun and interesting (especially nwjs for interfaces), it would be nice to find a use for it.

I personally have found very little use for it as PHP advancements have addressed most of my issues, but a video processing project would be fun. I experimented with some Node webrtc projects, but decided to use Jitsi instead.
go
Just a touch of Google golang.
Used for a management application that updates network device firmware and settings.
Python
A bit of Python experience since 2001, but not a specialization.
I've known some Python since the earliest days, and I even remember working at the 2000 Python 10 Meeting in Arlington VA.
Platforms: Collapse Collapse Expand
Linux (Debian, Fedora, and Arch families)
Desktop Linux user since 1998 and System Administrator since 2006

Primary personal platform (Ubuntu & Debian) since 2008
My first Linux distro, purchased at Microcenter in 1997. Slackware 1997
OpenBSD & FreeBSD
"Kiosk" applications and customized platform implementations.
My first OpenBSD distro, purchased at MicroCenter in 1998.
Windows 10
Windows user since 1997, DOS since 1994.
My original MS-DOS operating system floppy floppies, from my beloved NorthGate 286.
Windows Server
General system administration since 2012.
I have no particular love for Windows Administration, but often integrate with Samba/CIFS, LDAP, PXE, DNS, DHCP, etc..
WinPE
Window Pre-Installation Environment installation and deployment experience since 2016.
I've customized the bizarre world of WinPE for various purposes, integrating apps written in C#, PowerShell, and PHP.
General Application Experience: Collapse Collapse Expand
Inkscape
Intermediate to advanced Inkscape experience from both GUI and command-line interface.
Truly my favorite graphics application, mostly because of the flexibility of SVG - but the interface is clean, easy, and intuitive.
LibreOffice
MS Office alternate for all platforms.
If you're still paying for - or subscribing to - paid document editing software, you should give LibreOffice a try. It works for almost all file types and costs nothing. Available on Windows, Linux, BSD, and Mac.
FileZilla, SSH/SFTP, & SSHFS
You almost always need FileZilla, will always need SSH, and you wish you used SSHFS.
SSHFS makes life better.
Embedded Systems and Support: Collapse Collapse Expand
Microcontrollers
ATMega, ATTiny, Arduino, PBasic, and some PIC programming experience.
Automated watering and lighting system for personal carnivorous plant collection. Light timing based on native latitude and solar azimuth. Watering based on native seasonal calendar.
Intermediate SMD soldering and prototyping.
Basic oscilloscope and waveform generator experience, and a little bit of 0402-size soldering.
I've used my tools mostly for personal hobbies and experiments. The SMD soldering was a fun distraction.
Raspberry Pi
Used Pi devices for multiple personal projects and some commercial project implementations.
Extensive experience with all models, including zero(w).

Assisted a former client with development of a commercial device based on pi modules.
Limited 'gadget-mode' experience, but found it very interesting.
systemd services
Automated services running on embedded Linux devices.
Used to handle events like device/network connection changes, log rotation, and general events.
Hosting, Streaming, Cloud & Cluster: Collapse Collapse Expand
cPanel & WHM
Experience with both site-level cPanel and provider-level WHM interfaces.
Provided services to a small local ISP in the past.
Corosync + Pacemaker Clustering
Implemented cluster configuration for Equation CMS using corosync + pacemaker (pcs) to control front-end load balancers.
Using Debian 10, as Fedora only suppors these tools with commercial support licenses.
IceCast Media Streaming
Installation and administration experience with Icecast.
Stream and https proxy fully integrated with Equation CMS.
FFmpeg
Actively use ffmpeg for streaming and remote video monitoring.
Use of ffmpeg to forward to Icecast broadcast server.
WebKit Web Extension
Implemented custom WebKit Web Extension (extension in C, app in Vala) that is able to pull platform-level (shell) data from JS.
Currently investigating general "Chrome/FireFox web extensions" for my CMS as well.
Google Docs Script
Basic knowledge of .gs scripting and automation.
Used to import data from a Google spreadsheet into an application web-form.
Networking: Collapse Collapse Expand
General network administration
IP/DHCP, DNS, firewall, and other basic networking functions.
Basic plumbing.
PXE network boot
Net-boot operating system deployment over PXE.
Windows Deployment Services

Linux netboot of Ubunut, Debian, and others.

iPXE universal bootloader
Microsoft & Linux interoperability
Familiar with multi-platform environments.
Having owned and operated a dual-boot laptop for many years, I learned how to deal with 2 platforms on the same device.

Common file formats, application alternatives, and web services are all your friends.

Wine when needed, cygwin if all else fails.
UEFI configuration
Experience with multiple UEFI features and platforms.
Pulling data from ACPI tables

Injecting and validating Microsoft Windows registration key (OA3 & MDOS)

Interacting with system power/reset, boot order, and other hardware-level settings via Linux APIs.

Current Office/Human Services:

Windows-to-Linux Migration Collapse Collapse Expand
Application Compatibility
Helping users determine the best programs to replace the commercial software they've used in the past.
Most basic applicaitons can be replaced with another program... and most of them are free.
Replicate Familiar Environments
Select and customize the most user-friendly desktop environment for a particular set of needs.
Linux is extrememly customizable, with everything from the desktop shell interface to the command line - you can make your computer feel like home.
Legacy support
Software that simply must continue to be supported can be run using various compaibility and virtualization tools.
VMware & VirtualBox - Experience with system virtualization and snapshots.

Wine - I have many years of experience with Wine configuration.
Security Risk Mitigation Collapse Collapse Expand
General security risk assessment and mitigation.
Experience with risk/threat assessment surveys and audits.
Created a stand-alone HTML document application "risk assessment survey" for users to complete offline, then submit results.
Dataflow Investigation and Optimization Collapse Collapse Expand
Research and document legacy software for critical systems.
Investigate problems and optimize human-machine interactions without interrupting workflow.
Job description: "Dr. Who"

"What happened?" "Something just broke!" ... "call Jacob!"

Software Development Classes Collapse Collapse Expand
Individualized instruction for professionals and corporate groups.
If I am familiar with the material, I am comfortable presenting it.
I have presented courses on office software (MS Office, LibreOffice), HTML/JS/CSS, SQL, PHP, and Linux.

I've done so both as an employee and independent consultant, and currently offer classes as needed upon request.

Future presentations will soon include Procedural Notation (algebra as assembly language).

Samples of projects written exclusively by Jacob Muñoz

Application and Documentation Samples:

Evolutionary Assembly Language (EAL) - https://eal.dev/ Collapse Collapse Expand
A general-purpose procedural automata-based engine.
A new kind of programming language and environment using concepts from generaic assembly language, BASIC, Lisp, and other paradigms.
Hobby project, still in development pending completion of Procedural Notation standards.

Procedural Notation - https://eal.dev/alg Collapse Collapse Expand
The PEMDAS replacement. Do algebra using assembly language - IT IS easier.
A method of notation useful in translating traditional algebraic formulas into procedural processes.

As inline algebra is forbidden in EAL, this notation provides a common language between programmers and mathematicians.
This is the method of processing formulas the way CPUs process procedural assembly instructions.

Book coming soon.
Quantesus Equation CMS - https://poxix.com (demo site) Collapse Collapse Expand
PHP 8 Content Management System
Full AJAX application framework with object-relation mapping, modular architecture, and clustering capabilities.
RDFa schema database mapping ("SEO-ready" metadata)

Configuration-to-HTML page and layout structure

Dynamic route parameter-extraction, data-driven routing, and role-based routing

Drag-and-Drop code and content builders (for layout construction, database relationships, and logic programming)
Private Video Conferencing and Media Streaming
Jitsi Meet API integration and meeting scheduling.

Media stream proxying (Icecast, Shoutcast, soma.fm, etc).
Allow users to view shared audio & video streams or engage in real-time video conferences.
RatPad - https://jacobmunoz.com/ratpad/ Collapse Collapse Expand
RatPad Encryption Algorithm
RatPad is an encryption algorithm theory that involves moving a 'cursor' through a 'maze' of variables. It is a hobby encryption experiment.
GlassKit - https://jacobmunoz.com/glasskit/ Collapse Collapse Expand
GlassKit Application Generator
GlassKit is a WebKit-based application generator script for Linux that allows you to hard-code the HTML/CSS/JS (and C!) directly into the stand-alone executable and provides a fullscreen click-through transparency layer.
Written in bash and c, allows for custom system-level functionality in native c.

Functionally minial alternative to nwjs/nodejs.
pxCFG - https://jacobmunoz.com/pxcfg/ Collapse Collapse Expand
pxCFG Drag-and-Drop Code Builder (prototype)
pxCFG was a drag-and-drop code building engine that takes data structures and renders logic blocks the user can manipulate - and submit the XML data structure back to the server where it is converted to PHP.
The link demo provided does not have the PHP-rendering component, but displays the XML/HTML object returned. The rendering component is being re-written to support the Equation CMS data structures.

General HTML Samples Collapse Collapse Expand
Vectorizing Bitmap Images
A sample of converting old images (digital and hand-drawn/scanned pictures) to SVG d3.js animations.
SVG Cartoon Animations
A sample SVG image that uses the d3.js library to randomly animate.
Morphing SVG Images
Python script that will compromise two SVG images and produce animation code.
Unicode Obfuscation Script
A JavaScript toy that converts keyboard text into UTF-8 encoded extended characters.
Stand-Alone Document Generation
An HTML5 application that converts XML documents into end-user friendly forms and surveys

Some Current and Previous Client Work:

Berney Associates - berneyassociates.com

Provided administrative assistance in company restructuring process. Assisted in reorganization of digital assets and accounts.

NCS Technologies Inc. - ncst.com

Former technical consultant for factory production-floor systems and general software development. Some embedded systems development, database administration, kiosk/platform development, and this and that.. prefer not to specify too much publicly.

ARGIN Technologies - argintech.com

Occasional technical consultant for a small, woman-owned, contracting company. Wonderful people, give them a call if you do US Gov't work and proposals!!

AGU "Donate Now" application (2007 - ?) - since restyled and redesigned

As a consultant, I wrote the logic of the 'Donate Now' PHP application using the PayPal/Verisign PayFlow Pro payment gateway system that is probably still being used (or repurposed, not sure). The site has been redesigned since I was there, but the app was a similar interactive calculator and processed credit cards.

Personal Activities:

US Botanic Gardens - usbg.gov

Proud volunteer at the USBG. Helping keep some carnivorous plants healthy.