Skip to main content
Front end
- Twitter Bootstrap
- CSS Grid framework and jQuery plugins used to create this web site
- jQuery
- Used for simple DOM manipulation and AJAX.
- JS Design Patterns
- Module, Singleton, PubSub/Observer Subscriber
Back end
- Drupal 8
- The latest and greatest in Drupal.
- Varnish HTTP Accelerator
- A super fast reverse proxy server to serve up cached pages as static HTML
- APC
- The Alternative PHP Cache (APC) is a free and open opcode cache for PHP.
- Memcache
- This caches SQL queries into memory for a huge performance boost
- Apache Solr
- Apache Solr was used to index this site and is much faster than the default drupal search
- HTTPS with HTTP/2
- Installed cert and enabled HTTP/2
Security
- DenyHosts
- Blacklists IP Addresses that try to brute force my SSH and automatically reports them to their ISP
- Fail2ban
- Scans logs of other services for suspicous behavior and bans an IP Address for a set amount of time
- Tiger auditing/intrusion detection
- Tiger scans the system looking for ways to increase security and detect intrusions
- Mod Security
- An Apache application firewall that protects against malicous attacks
- Mod Evasive
- Helps protect apache from a DDoS attack
SEO
- Site Map XML
- You can specify which types of content go into your site map and submit them to the major search engines
- Global Redirect
- When the site is queried for a file that wasn't found, it smartly searches for broken alias and does a 301 redirect
- Content
- The navigation bar is at the bottom of the page, moving the more relevant content in the page to the top of the code
- Best Practices
- I always use WWW in my domains (to not split your ranking between 2 domains), I use heading tags to specify more important content, I use targeted keywords, I submit my site to all the major search engines, etc.
Server
- Linode
- Hosting is setup through linode.com, allowing me to configure the VPS however I want
- Ubuntu 16.04 LTS
- It was either Ubuntu or Fedora/CentOS, I would have loved to get my hands on a copy of Red Hat
- Apache2
- Web server with very custom configuration, I'm currently working on switching this to nginx for SSL/TLS termination and caching
- Git
- Git is being used as the version control for this site
- Postfix
- A mail server I setup for this domain (still working out some kinks)
- Dovecot
- IMAP/POP3 server for storing emails
Performance
- Server Upgrades
- Varnish, Memcache, APC and potentially Akamai give the site the ability to scale extremely well
- Authcache
- Not really necessary for this site, but if we supported Drupal Users Autchcache would be critcal since Drupal Users bypass all caching (very bad)
- Scaling Modules
- I get crazy looks when I say this but I don't use Views (and many other commonplace modules) simply because they do not scale well
Mobile
- Responsive Design
- As the width of your monitor gets smaller, this website responds by stacking the columns of the site on top of each other
- Fluid Layout
- When between different resolutions this design will strech to fit the screen no matter the width
- Mobile Site
- Try viewing this site on your mobile device, and you'll get an experience optimized just for you
Validation
- W3C
- This site's HTML validates against the W3C Validator
- JavaScript
- All JavaScript passes JSLint code quality
Business
- Agile/Scrum
- I typically use Agile/Scrum, but this site is just a personal project and doesn't need it
- Rapid Development
- Using these frameworks allows me to do development rapidly and meet deadlines
- JIRA/Confluence
- Any bug tracking system will do, but JIRA is really nice, especially when backed up by confluence