Want 20+ years of IT experience?
Good news, my resume is condensed,
but all the granular details of my career
are still available on LinkedIn.
Lastly, I'm on Twitter.
What am I good at?
Here are ten skills I'm known for in my career...
- Optimizing performance and enhancing page load speeds.
- Internationalization, localization, or personalization of any website.
- Implementing eCommerce systems to sell physical or digital goods online.
- Building scalable enterprise level Content Management Systems for large sums of content.
- Integration of various corporate tools (Salesforce / Marketo / AWS / etc.).
- Creating complex forms for data gathering and reporting..
- Implementation of various Single-Sign-On solutions.
- Developing dashboards and visualization tools.
- Embedded software development for interfacing custom hardware.
- Beefing up online security of any site.
All my work so far
Throughout years, I've build, maintained, configured,
improved and contributed to many projects for my clients,
employers, and community. Some are still thriving, some can
only be seen on the internet archives, and I got screenshots
for the few remaining that weren't archived well.
32 active +
21 inactive +
6 forgotten +
1 this site = 60 total sites
Not just a developer
It wasn't long ago when "webmasters" had to design the
sites they built, and frankly I still enjoy designing
layouts and user interfaces just as much I like coding.
Below are a few of my designs, I'm including the date
to provide context, because while they may not be fancy
today, they were trendy for their time.
Here's a sneak peek into a few of them...
505Labs (2014)
Albuquerque's Drupal web development team.
Prouna USA (2012)
Online store for a brand of luxury chinaware.
Jadugaran (2012)
Multilingual site for a music publishing label.
Fail Safe (2009)
Online store for a software security product.
Ultramain (2007)
Site for major aviation industry conference.
HTML Emails (2007)
Due to their restrictive rendering limitations
HTML emails are a different ballgame as everything is in a table.
IrisKids (2002)
Marketing site for a children fashion brand.
Leaky Foundation (2000)
Site for a donor-supported nonprofit research organization.
I studied electronics
At a technical high-school, I learned how to
read circuit schematics, solder components,
and even make printed circuit boards.
I started with building electronic kits in my youth,
and later in life got involved with micro devices, first with
Arduino, and finally growing into full on systems on a chip
devices that run custom Linux kernels that I compile,
and best off all, I've been fortunate enough to be able to
use and develop these skills throughout my career as well.
Some of my micro devices and the LED matrix they control...
Understanding the human mind has been my never ending quest
Thankfully many of the books that paved my path to knowledge
are now freely available on YouTube.
Included couple of lectures in there too just for a good measure.
Books by Carlos Castaneda
Lectures
Professor Carl Hayden Smith
It all started with Covid
Just like everyone else I was worried about my family's safety.
Covid crystallized the realization of how unprepared we were for such an event.
Not only did we not have any anti-viral, anti-bacterial, anti-depressant,
anti-inflammatory remedies at our disposal, but the prospect of obtaining them
was also grim, as nobody dared to visit a medical office during the pandemic
unless they absolutely had to.
I turned to the internet for a solution
Soon I learned that parallel to the western medicinal system,
a Russian equivalent system exist, essentially for every Aspirin
and Prozac there's an Asprinof and Prozacovich available online,
with very similar molecular structure, give or take an extra atom
attached or removed here and there.
More interestingly, I learned that currently there are many
new cutting edge experimental medications available,
that for one reason or another have not yet been approved by
the slow and rigorous FDA approval process.
I've compiled my findings into detailed
spreadsheets that I plan to share here soon!
Been painting all my life here are some examples:
Learned Photoshop in college just to make album covers:
Then learned Illustrator been useful for logo designs:
Abstract Love Collection circa 2022:
I love making things
The mousepad, stickers and CDs were for a conference gift bag,
but the garden photos are much better examples, as everything you see
was put together by my very own two hands, from planting the flowers,
to installing the wood trimmings, drainage boxes, lights,
and most importantly, laying all the river pebbles.
Well, I started a band in 2007
And before you knew, it grew into a record label.
My vocals are included in over 60 released singles,
many of which can be heard on various online music platforms.
Vector vs. Bitmap
Ever since I learned how to use Adobe Illustrator,
I saw how superior vector graphics were to rasterized bitmaps,
in terms of lossless render quality, resolution independence,
and file-size.
While browsers took decades to finally adopt the format,
somehow it still remains largely underutilized by developers.
SVG files are my bread and butter for the following reasons...
Resolution Independence
Resolution independence is celebrated every fourth of July,
when vectors victoriously defeated the tyranny of pixelation.
Jokes aside, what it really means is "one size fits all" as
the same SVG displayed at 100 pixels wide can be printed on
a 10 feet banner without the pixelation that was the annoying
byproduct of the old low-res bitmap images.
Filters & Animation
Did you notice the background image animation on this site?
I'm not sure if I could've done it as easily using CSS rules
alone, because while CSS animations work great on page elements
their use is not as straight forward on background images.
Filters are another unique feature of SVG because they
include some filters that are not available to CSS, and
best of all all the filter parameters can be animated,
allowing for creation of visually impressive effects.
Light Weight
Unlike bitmap images that grow heavier by increasing image size,
SVGs don't. This is because all vector objects are made of math
formulas that render the same shape regardless of the image size
so they remain exponentially lighter than their bitmap counterparts.
The only exception is when bitmap images are encapsulated inside a
SVG file, which is an excellent trick for creating image sprites.
Encapsulation
SVG files can be used as a container to encapsulate bitmap images.
Why you may ask? One good reason is to make a bitmap image fancier
by non-destructively adding extra layers of dynamic graphic elements,
for instance "you are here" arrows on a map, or reveal animations, etc.
Another good reason is to create smart image sprites, why smart?
Because you can name each frame of those sprite images and use
the name to summon that exact frame like sprite.svg#cat vs. #dog.
I've used this trick to reduce the number of http requests by a
quarter because each stripe contains at least 4 images, hence
reducing page load time.
Reusable Symbols
I once worked for a company that had five unique products
each with their own logo, however the logos where cohesive
as they followed a common theme, for instance they all shared
the same exact size orange circle around their icon, the same
exact gray dotted line under their text with the same ® mark
at the end of each name, so instead of creating 5 separate SVG
files, I created only one, with both the common and the unique
parts as individual symbols, then using those symbols I created
a smart sprite that could summon each logo with their unique ID.
Customization
If the five reasons above didn't fully convince you that SVGs
are the best things since sliced tortillas, I doubt this would
either, but I'm not the type to give up easy, so did you know
all elements in SVG files can be fully styled using CSS? All
it takes is assigning a class to the element, even that's not
fully necessary if you're hardcore enough with your CSS rule,
after all you can always use nth-child if push comes to shove.
But the point is, you can customize something that was meant
to be fully customizable from the get go even further,
allowing for creation of responsive logos that render
completely differently depending on the width and height
alloted to them, or logos that change colors depending on
light mode / dark mode display preferences, without having
to create multiple versions of the graphics.
Saving the best for the last, SVG files can be used inline,
as in, their code can be directly inserted inside a page
html, hence completely eliminating the need for loading
external resources such as multiple icons, reducing the
number of http requests and improving page load performance.
Pingdom / HubSpot
I'm obsessed with page load times
Don't believe me? See how fast this site loads!
Try it on Pingdom Speed Test
Or HubSpot's Website Grader
While at it try some other sites for comparison, and
considering you won't come across perfect scores often,
would you like to know my secret for site performance?
Optimized Graphics
SVG / WEBP / Emojis to the rescue
I've already evangelized about the benefits of
SVG files for icons and illustrations,
but for photo-realistic images the new WEBP standard offers
the best features of both PNG (transparency / lossless compression)
and JPG (lossy compression / small file size) depending on the
use case requirements.
An even more clever way to improve page load speed is using
standard
unicode emojis for common graphical elements such as arrows,
home, phone or email icons. I used them to distinctively
represent each of the four categories of this site, saving
on the trouble and the file-size of creating suitable icons,
no reason to reinvent the wheel if good wheels already exist.
Lastly, lazy loading of images below the page fold
can make a noticeable performance impact. All these tricks
reduce the number of http requests your page needs to perform
before rendering, leading to faster load times and better
user experience.
Minimal Scripts
No scripts is the best script
There's a trend amongst developers for wanting to use the
latest and greatest front-end frameworks, as well as a trend
amongst marketing professionals for wanting to include the
maximum number of analytics and tracking tools they can find
on every single page on a site, regardless of the performance
toll. Not every page needs React, vanilla javascript can still
go a long way before the need for any framework.
While as a developer I understand the desire to
use the latest leading edge frameworks for the bragging rights
on one's resume, I can't be as forgiving towards marketing
professionals, as they know how shaving 100 milliseconds
of latency improves sales by at least 1%, yet they still
participate in the self defeating practice of over-scripting
their web sites.
Heydon Pickering's opinion of React is funny and enlightening.
Load balancing
Multiple servers cut download time
Keeping your code and visual assets on separate servers
will also improve your site performance, and this is where
having a dynamic web infrastructure can really shine.
This website is hosted on AWS, and with Route52 it's so
easy to create subdomains like files.yourdomain.com
to divide the bandwidth heavy task of serving large files between
a multitude of servers, and avoid slowing down the main web server.
Freedom from prohibitionist policies
Today one can walk into a hardware store and buy a jug
of pesticide, no questions asked, and that rat poison
can easily kill a small village in the hands of a maniac.
But what one can't do today, is to walk into a pharmacy
and buy antibiotics. To do that, we must first call a
doctor, wait a few weeks for the next available appointment,
pay for the visit, and even then there are no guarantees
if the prescription gets issued! Some doctors who may
know their patient for only few minutes can play God by
withholding their cure, which can turn a simple sinus
infection into pneumonia, or worse yet, sepsis if left untreated.
The tip of the iceberg
So far that was just the tip of the iceberg,
when life saving antibiotics are so hard to obtain,
imagine how difficult it is to get restricted prescriptions,
let's say ADHD meds or pain killers, for those seeking such
remedies for their condition. Many doctors simply aren't
even allowed to prescribe certain medications because
their clinic or liability insurer have specific policies
forbidding them, for instance Spravato nasal spray,
an antidepressant.
The absurdity of prohibition
The insanity of the prohibition story gets
even more absurd with some of the scheduled compounds.
Every night when we fall sleep in our bodies we
produce indigenous dimethyl tryptamine, a compound
responsible for our ability to have visually realistic
dreams, yet that same molecule that we all safely
produce and consume on nightly basis is federally
banned by the DEA!
While living in Seattle, every fall during the cool
rainy season "wavy caps" mushrooms grew wild in our
yard and in many outdoor parks, but if anyone picked
them and ate them they'd be committing a felony due
the psilocybin they contain, which is also banned by DEA.
Yet there are no laws for death caps or any other
fatally poisonous fungi.
The cause and the solution
All these prohibitionist policies are
the result of sensationalized fear, enshrined into
law by people without any first hand knowledge or
experience with what they've banned.
I don't ski and I don't ride horses,
and every year I hear stories about people
losing their lives or getting seriously injured
while on the slopes, or riding horses, ATVs, etc.
Yet we don't ban these activities based on the
bad luck, poor decisions or irresponsible actions
of those involved in the reported incidents.
I hope to witness the day when responsible
adults can be free to ingest whatever they
desire without the fear of prosecution by
law or the stigmatization of our society,
and organizations like
MAPS
are at the forefront of such efforts.
In conclusion
Perhaps we can learn from Mexico, where most
prescription medications are sold over the counter,
yet they have a lower addiction rate and homelessness
per capita than united states. When the responsibility
of restraint and self control rests on the
individual's shoulders and not the government's,
people generally tend to follow the mankind's
inherent self-preservation rule we are born with,
and that's all I need to advocate about.
Life is supposed to be fun
While not all of them, here are some things I find fun...
Open Source Software
You know what's not fun?
Reinventing the damn wheel!
Which is why why starting a software project
from scratch can be so daunting.
As a developer, I'm a huge advocate for using open source projects.
There's nothing more fun than getting an idea, then looking through
Github
to see if any related code for it already exists,
and even if it's not exactly what we wished for,
it'll be a great starting point for getting that
idea off the ground at the very least.
When I first started my software career Github didn't exist,
during those dark days I was forced to start from scratch,
including creating my own content management system, and while educational,
it didn't have a fraction of the bells and whistles that came standard with
Drupal
which I later opted for.
Open source is the main reason why software quality has improved
so dramatically ever since Github showed up, or why AI apps have
made such huge leaps in the past few years, simply put, people's
work can inspire others.
Chinese Checkers
Speaking of fun, if you love board games
(and I hope you do), I'm here to argue that
Chinese Checkers
is the single greatest board game of all times,
and I come prepared with reasons to back my wild claim!
- Easy to learn
Trying to teach your little nephew Chess or Monopoly?
Good luck with that, but most kids already know checkers,
and if you know that you already know how to play CC.
- Zero to hero in no time
Unlike Chess or Monopoly that need some practice
before you score your first win, beginners luck can turn any CC newb
into a winner.
- Perfect mix of Luck vs. Strategy
If Chess is 90% skills and 10% luck
(aka, when your opponent makes mistakes),
and Backgammon is 50% skills and 50% luck,
CC sits right on that sweet spot between 75% skills, 25% luck.
- Enjoyable by up to six players
Chess or Backgammon can only entertain two people,
but not CC.