<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<id>https://marcqualie.com/feed.xml</id>
<title>Marc Qualie's Blog</title>
<subtitle>My personal tech blog and insights into the world</subtitle>
<link rel="self" type="application/atom+xml" href="https://marcqualie.com/feed.xml"/>
<link rel="alternate" type="text/html" href="https://marcqualie.com"/>
<updated>2025-08-27T16:30:00.000Z</updated>
<entry>
  <id>https://marcqualie.com/blog/post/wiping-hard-drive-on-ubuntu</id>
  <title>Wiping Hard Drives on Ubuntu</title>
  <link href="https://marcqualie.com/blog/post/wiping-hard-drive-on-ubuntu"/>
  <published>2025-08-27T16:30:00.000Z</published>
  <updated>2025-08-27T16:30:00.000Z</updated>
  <summary type="html"><![CDATA[I'm regularly buying new hard drives/swapping them between machines in my homelab. I run the same bunch of commands over and over so I figured I'd drop them here for easy access. This will delete all data on the entire disk so use with caution!]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/mounting-nfs3-share-on-ubuntu</id>
  <title>Mounting SMB/CIFS share on Ubuntu</title>
  <link href="https://marcqualie.com/blog/post/mounting-nfs3-share-on-ubuntu"/>
  <published>2025-08-18T18:38:00.000Z</published>
  <updated>2025-08-18T18:38:00.000Z</updated>
  <summary type="html"><![CDATA[Quick start guide to mounting SMB/CIFS shares manually and on system boot. This guide is designed for Ubuntu 24.04 but it will almost certainly work with any flavour of modern linux.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/install-comfyui-on-ubuntu</id>
  <title>Install ComfyUI on Ubuntu 24.04</title>
  <link href="https://marcqualie.com/blog/post/install-comfyui-on-ubuntu"/>
  <published>2025-04-20T17:41:00.000Z</published>
  <updated>2025-04-20T17:41:00.000Z</updated>
  <summary type="html"><![CDATA[This guide walks through setting up ComfyUI on a fresh Ubuntu 24.04 system, including automatic startup using systemd. Perfect for render nodes or headless workstations.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/decrypting-ubuntu-lvm-via-ssh-on-boot</id>
  <title>Decrypting LUKS Ubuntu LVM via SSH on boot</title>
  <link href="https://marcqualie.com/blog/post/decrypting-ubuntu-lvm-via-ssh-on-boot"/>
  <published>2025-03-30T15:00:00.000Z</published>
  <updated>2025-03-30T15:00:00.000Z</updated>
  <summary type="html"><![CDATA[If you're running a headless Linux server with a LUKS-encrypted root disk, you probably know the pain of needing a keyboard, KVM, or physical presence to unlock it at boot. No thanks. Here's a simple way to integrate Dropbear SSH into your initramfs, so you can securely unlock your disk remotely over SSH — perfect for homelabbers, render nodes, or just anyone who values convenience without sacrificing encryption.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/expand-lvm-filesystem-size-on-ubuntu</id>
  <title>Expand lvm filesystem size on Ubuntu</title>
  <link href="https://marcqualie.com/blog/post/expand-lvm-filesystem-size-on-ubuntu"/>
  <published>2025-02-24T07:00:00.000Z</published>
  <updated>2025-02-24T07:00:00.000Z</updated>
  <summary type="html"><![CDATA[I recently setup a cluster of Raspberry PIs and Intel NUCs as a shared Kubernetes cluster for my homelab. Each device has a primary NVMe drive with 500GB of storage and the NUCs have a secondary 2TB SATA SSD. Everything went smoothly so I configured Longhorn as a way to share persistent volumes across the cluster and provide redundancy if any machine or drive were to fail. When logging into the Longhorn UI I noticed that one of the machines only had 100GB of storage usable on the entire machine, which was definitely incorrect.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/vite-react-quickstart</id>
  <title>Vite + React Quickstart</title>
  <link href="https://marcqualie.com/blog/post/vite-react-quickstart"/>
  <published>2025-02-23T18:00:00.000Z</published>
  <updated>2025-02-23T18:00:00.000Z</updated>
  <summary type="html"><![CDATA[I've been setting up a lot of quick experiments and prototypes lately to prove concepts. For these kind of apps I don't need a full stack like NextJS, but I also want to be able to use React + TypeScript for various reasons such as component testing or debugging. The aim is also to avoid hosted solutions like Code Sandbox or Stackblitz so I can use the code offline and also pull in local packages that aren't public.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/using-nginx-as-a-node-package-proxy-cache</id>
  <title>Using nginx as a node package proxy cache</title>
  <link href="https://marcqualie.com/blog/post/using-nginx-as-a-node-package-proxy-cache"/>
  <published>2025-02-12T04:45:00.000Z</published>
  <updated>2025-02-12T04:45:00.000Z</updated>
  <summary type="html"><![CDATA[It's possible to dramatically improve yarn v1 performance locally by caching registry content in a local nginx proxy. I'm part of teams maintaining a lot of legacy yarn projects and it can be painful when running commands like yarn outdated or yarn install after changes are made to dependencies.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/accessing-dev-environment-from-another-device</id>
  <title>Accessing dev environment from another device</title>
  <link href="https://marcqualie.com/blog/post/accessing-dev-environment-from-another-device"/>
  <published>2024-08-31T00:00:00.000Z</published>
  <updated>2024-08-31T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Sometimes you want to test your web project from a physical device. Simply shrinking the screen size on a desktop browser can certainly help with a large portion of the process and ensure your system is responsive, but it still lacks the feel of a touch interface.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/disable-ps5-controller-button-on-macos</id>
  <title>Disable PS5 Controller button on MacOS</title>
  <link href="https://marcqualie.com/blog/post/disable-ps5-controller-button-on-macos"/>
  <published>2024-02-20T00:00:00.000Z</published>
  <updated>2024-02-20T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I often use my PS5 controller on my Mac Studio with PS Remote Play to quickly login and check something or pick up a time-bound item without having to leave my work desk. This is great until you press the PS button and it opens the app switch menu, losing focus on the PS remote play window. To disable the PlayStation controller button default behaviour on MacOS, run the following command in the terminal:]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/add-prettier-to-nextjs</id>
  <title>Add Prettier to NextJS</title>
  <link href="https://marcqualie.com/blog/post/add-prettier-to-nextjs"/>
  <published>2022-07-28T00:00:00.000Z</published>
  <updated>2022-07-28T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Out of the box NextJS comes with eslint, but this only helps with code quality and does not enforce any kind of formatting. You can heavily enhance this default config by combining it with Prettier for consistent formatting across your projects and team.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/cleanup-dev-resources</id>
  <title>Cleanup dev resources</title>
  <link href="https://marcqualie.com/blog/post/cleanup-dev-resources"/>
  <published>2022-07-18T00:00:00.000Z</published>
  <updated>2022-07-18T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[When working on a bunch of development projects, specifically JavaScript, drives can fill up pretty fast with useless data. The most common is the well known node_modules which can take multiple gigabytes on some projects. Unless you're working on these day to day, it can be a good idea to mass clear them out.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/macos-set-hostname</id>
  <title>macOS set hostname</title>
  <link href="https://marcqualie.com/blog/post/macos-set-hostname"/>
  <published>2022-07-06T00:00:00.000Z</published>
  <updated>2022-07-06T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Recently I've been using Tailscale for easily linking and managing my personal devices. I love the simplicity of it, but I got annoyed when the hostname pattern wasn't consistent across my devices.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/upgrading-legacy-terraform-providers</id>
  <title>Upgrading legacy Terraform providers</title>
  <link href="https://marcqualie.com/blog/post/upgrading-legacy-terraform-providers"/>
  <published>2021-05-27T00:00:00.000Z</published>
  <updated>2021-05-27T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I recenty worked on some pretty old Terraform projects (built using v0.10.x I believe). The state on these projects is no longer compatible with v0.13+, which causes errors when trying to run any command. Quite frustrating and the docs don't seem to help much.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/testing-rails-6-zeitwerk-autoloading</id>
  <title>Testing Rails 6 Zeitwerk Autoloading</title>
  <link href="https://marcqualie.com/blog/post/testing-rails-6-zeitwerk-autoloading"/>
  <published>2021-01-20T00:00:00.000Z</published>
  <updated>2021-01-20T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Rails 6 introduced a new autoloader called Zeitwerk. While it has many many improvements, one of the main changes is how strict it is with filenames and the constants they define. Unless you have full coverage on your application (few apps actually reach 100%) it can be quite easy to end up with an app that won't boot in your staging/production environment.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/rendering-templates-in-rails-api-controllers</id>
  <title>Rendering templates in Rails API controllers</title>
  <link href="https://marcqualie.com/blog/post/rendering-templates-in-rails-api-controllers"/>
  <published>2020-07-31T00:00:00.000Z</published>
  <updated>2020-07-31T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I found myself with an odd scenario the other day where I needed to render a rails partial (using HAML with some templates, styles, and a layout) from within an API controller. Rails API controllers by design do not have the capability to render anything other than JSON in the rails framework, so I started down a rabbit hole of how I could get this to work.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/carbon-offsetting</id>
  <title>Carbon Offsetting</title>
  <link href="https://marcqualie.com/blog/post/carbon-offsetting"/>
  <published>2020-05-25T00:00:00.000Z</published>
  <updated>2020-05-25T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Over the last few years I've started to become a lot more aware of various carbon emissions created by myself and the people around me. From non obvious things like the food we eat, to the worst offenders such as travelling. In the 21st century it's increasingly hard to not have a negative impact on the planet by simply just existing and going about our daily lives. I've curated a list of the ways I'm trying to offset my impact with small lifestyle changes.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/iam-policy-for-humans</id>
  <title>IAM Policy for humans</title>
  <link href="https://marcqualie.com/blog/post/iam-policy-for-humans"/>
  <published>2020-05-24T00:00:00.000Z</published>
  <updated>2020-05-24T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Configuring IAM is essential for any AWS account. The most common use case is granting access to EC2 instances, or allowing web apps to read/write to S3. While it's not recommended to make any direct changes in the AWS console, it's sometimes helpful to allow humans to browse around and view configurations.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/pyenv-install-with-zlib</id>
  <title>pyenv install with zlib</title>
  <link href="https://marcqualie.com/blog/post/pyenv-install-with-zlib"/>
  <published>2019-04-10T00:00:00.000Z</published>
  <updated>2019-04-10T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I've lost count of the amount of times I've had to research this on a fresh install or different machine. Since python is not a language I use day to day, I constantly forget the environment configuration so I'm putting it here for quick reference when I will inevitably need it in a month or two.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/rails-data-migrations</id>
  <title>Rails Data Migrations</title>
  <link href="https://marcqualie.com/blog/post/rails-data-migrations"/>
  <published>2017-09-25T00:00:00.000Z</published>
  <updated>2017-09-25T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Migrating a schema when deploying code is a fairly solved problem in Rails, and many other languages/frameworks. What hasn't quite been solved, or at least agreed upon, is the ability to make changes to data based on those migrations. I'm not going to cover the dos, donts, pros and cons of each method as many people before me have covered this in great detail. What I do want to do however, is share a nice simple solution I created for simplifying this process, and making the most out of previous methods.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/git-push-without-named-remote</id>
  <title>Git push without a named remote</title>
  <link href="https://marcqualie.com/blog/post/git-push-without-named-remote"/>
  <published>2017-09-13T00:00:00.000Z</published>
  <updated>2017-09-13T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Although what I'm about to talk about is well documented<sup><a href="#git-push-repository">[1]</a></sup>, I've never come across it in my 10 year career using Git. I stumbled across it out of sheer curiosity to see what would happen if I used a repository instead of a remote name. In theory Git would treat them the same, since everything is technically a ref, and it did. The idea is simply to be able to push your code anywhere, without having to first add the remote to your local repository. You're probably asking why you would want to do this, or why anyone would even care that this is possible. I have a few use cases below which are now way easier day to day.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/rails-webpacker-deployment-heroku</id>
  <title>Rails + Webpacker Deployments on Heroku</title>
  <link href="https://marcqualie.com/blog/post/rails-webpacker-deployment-heroku"/>
  <published>2017-09-07T00:00:00.000Z</published>
  <updated>2017-09-07T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[A few weeks ago I decided to take the leap and implement Webpacker into an existing Rails project. Initially this seemed like a great idea and almost too easy thanks to the rails/webpacker project. After a couple of hours I had everything working and some existing React components migrated from a custom compile system to the asset pipeline. Deploying to staging had a few minor hiccups, but nothing major and the project was ready for sign-off and production release.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/write-only-s3-permissions</id>
  <title>Write only S3 permissions</title>
  <link href="https://marcqualie.com/blog/post/write-only-s3-permissions"/>
  <published>2017-05-25T00:00:00.000Z</published>
  <updated>2017-05-25T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Time and time again I've found myself needing to limit access to S3 repositories via write-only. Read-Only access is widely used for public repositories, such as CDNs. A highly common use case for write-only access is allowing users to upload new files, but not modify any that currently exist.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/postgresql-create-user</id>
  <title>PostgreSQL Create User</title>
  <link href="https://marcqualie.com/blog/post/postgresql-create-user"/>
  <published>2017-01-17T00:00:00.000Z</published>
  <updated>2017-01-17T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I've lost count of the amount of times I've forgotten the syntax for creating users, databases and permissions within postgresql. After spending so many years working with MySQL it became muscle memory and for some reason I can't shake those commands. Unlike MySQL, which I used to host myself and understand the internals of security/performance, I've only ever used hosted versions of PostgreSQL where all of this is taken care of.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/install-nokogiri-on-macos-sierra</id>
  <title>Install Nokogiri on macOS Sierra</title>
  <link href="https://marcqualie.com/blog/post/install-nokogiri-on-macos-sierra"/>
  <published>2016-11-13T00:00:00.000Z</published>
  <updated>2016-11-13T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Today, I made the mistake of running gem pristine while helping someone debug an issue. Not only did this not resolve their issue, but now my ruby projects were now also unusable. By re-installing all of my gems it re-compiled Nokogiri which was now, for some reason, not compiling against the system libraries.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/remove-deleted-git-branches</id>
  <title>Remove Deleted Git Branches</title>
  <link href="https://marcqualie.com/blog/post/remove-deleted-git-branches"/>
  <published>2015-08-28T00:00:00.000Z</published>
  <updated>2015-08-28T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Due to using to Github flow quite heavily, I end up with a lot of rogue branches locally that I'm always forgetting to cleanup. The snippet below is a quick one-liner I have aliased to cleanup-branches which saves me some time and keeps me out of branch spaghetti when autocompleting.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/postgresql-distinct-jsonb-keys</id>
  <title>PostgreSQL: Distinct JSONB Keys</title>
  <link href="https://marcqualie.com/blog/post/postgresql-distinct-jsonb-keys"/>
  <published>2015-08-06T00:00:00.000Z</published>
  <updated>2015-08-06T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I'm currently building an application which makes heavy use of JSONB in PostgreSQL. After a while of searching I was unable to find any solution to people's questions about distinct JSONB keys across an entire table. Here are my findings and I hope it helps someone else.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/docker-dotenv</id>
  <title>Docker Dotenv</title>
  <link href="https://marcqualie.com/blog/post/docker-dotenv"/>
  <published>2015-07-22T00:00:00.000Z</published>
  <updated>2015-07-22T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Today, I was preparing a Docker container for production release and found managing environment variables was a bit of a pain. As a ruby developer it's natural to me to use 12factor methodology for my environment so I wanted to use that with Docker.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/hosted-gostatic-now-runs-on-openresty</id>
  <title>Hosted GoStatic now runs on OpenResty</title>
  <link href="https://marcqualie.com/blog/post/hosted-gostatic-now-runs-on-openresty"/>
  <published>2015-07-21T00:00:00.000Z</published>
  <updated>2015-07-21T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I spent a lot my time this weekend looking into a long overdue infrastructure upgrade for all of our hosted GoStatic sites and found some awesome tools a long the way. Something I've wanted to learn for a long while is the lua programming language due to it's small footprint and simplicity.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/gostatic-search-api-beta</id>
  <title>GoStatic Search API Beta</title>
  <link href="https://marcqualie.com/blog/post/gostatic-search-api-beta"/>
  <published>2014-05-07T00:00:00.000Z</published>
  <updated>2014-05-07T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[One of the huge down-sides of having a static site is the in-ability to do search. It's not impossible, but the solutions out there are no where near as good as their dynamic CMS competitors. Searching a static site is hard. GoStatic now supports the ability to search your entire project without having to do any extra configuration on your end.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/model-errors-in-emberjs</id>
  <title>Model Errors in EmberJS</title>
  <link href="https://marcqualie.com/blog/post/model-errors-in-emberjs"/>
  <published>2014-04-23T00:00:00.000Z</published>
  <updated>2014-04-23T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Today, I spent longer than I feel comfortable admitting solving a supposedly simple problem in my EmberJS application. Since this particular issue was so frustrating and undocumented I'm going to share my experiences in case someone else comes across the same hair-pulling nightmare in the future.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/april-2014-redesign</id>
  <title>April 2014 Redesign</title>
  <link href="https://marcqualie.com/blog/post/april-2014-redesign"/>
  <published>2014-04-19T00:00:00.000Z</published>
  <updated>2014-04-19T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I've had the same dull blog layout for years. Even in my transition from Blogger to Wordpress and finally Jekyll I've still kept the look similar. While I'm the first to admit that my design skills aren't great, I still thought it would be a fun idea to spent the day making the layout more content focused and less cluttered.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/nginx-tap-moves-to-homebrew-organization</id>
  <title>Nginx Tap moves to Homebrew Organization</title>
  <link href="https://marcqualie.com/blog/post/nginx-tap-moves-to-homebrew-organization"/>
  <published>2014-04-18T00:00:00.000Z</published>
  <updated>2014-04-18T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[The community tap I created for custom Nginx modules within Homebrew just got accepted into the official Homebrew organization. This is huge news for the project as it means there should be way more usage and contributions thanks to the extra exposure. This is also a good time to share a couple of unannounced updates I added in the last couple of weeks.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/jekyll-with-boxen</id>
  <title>Jekyll with Boxen</title>
  <link href="https://marcqualie.com/blog/post/jekyll-with-boxen"/>
  <published>2014-01-31T00:00:00.000Z</published>
  <updated>2014-01-31T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Not only does Jekyll power this blog but it has been one of the main tools I use on a daily basis for almost 2 months now.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/jekyll-is-no-longer-hyde-ing</id>
  <title>Jekyll is no longer Hyde-ing</title>
  <link href="https://marcqualie.com/blog/post/jekyll-is-no-longer-hyde-ing"/>
  <published>2014-01-09T00:00:00.000Z</published>
  <updated>2014-01-09T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[After convincing myself all year that I will finally Go Static and get rid of my custom CMS for this blog, I decided to finally launch it on the very last day of the year; Talk about leaving things until the last minute! This isn't a complete coincidence though, as I've been working long hours on a new project which is related to Jekyll development. I'll blog about this separately further into the year. This post is going to cover why I chose Jekyll, and why it's going to be so powerful moving into 2014.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/my-first-week-at-givey</id>
  <title>My First Week at Givey</title>
  <link href="https://marcqualie.com/blog/post/my-first-week-at-givey"/>
  <published>2013-10-28T00:00:00.000Z</published>
  <updated>2013-10-28T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[As some of you may know I recently left my position at Performance Horizon to take on a Senior Developer role with <a href="https://www.givey.com" target="_blank">Givey</a>. This is a quick post I'm writing to clear up the many questions people have had on why I chose to move and what my first week was like at this growing North East based start up.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/ssl-all-the-things</id>
  <title>SSL All The Things</title>
  <link href="https://marcqualie.com/blog/post/ssl-all-the-things"/>
  <published>2013-10-19T00:00:00.000Z</published>
  <updated>2013-10-19T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Lately there has been a lot of buzz around security when using web services. Everyone seems to be very paranoid all of a sudden and encryption is the answer to everything internet based. I wouldn't say I'm too overly paranoid, but I took this opportunity to add some extra security to my personal website. This post will cover the things I learned along the way through my research and also explain how quick and easy it can be to add SSL Encryption to your website.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/server-backups-with-s3cmd</id>
  <title>Server Backups with s3cmd</title>
  <link href="https://marcqualie.com/blog/post/server-backups-with-s3cmd"/>
  <published>2013-07-28T00:00:00.000Z</published>
  <updated>2013-07-28T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I've been asked a few times how I back up my servers at Digital Ocean. It seems this topic is quite popular due to the fact they just started charging for automated backups on the 1st of July. In this article I'm going to go through the process of using s3cmd with Amazon S3 to easily backup and restore your servers. Although I use Digital Ocean as my own hosting company, and this is where this backup system is in place, it can just as easily be transferred to any hosting provider.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/homebrew-nginx-tap</id>
  <title>Homebrew Nginx Tap</title>
  <link href="https://marcqualie.com/blog/post/homebrew-nginx-tap"/>
  <published>2013-06-30T00:00:00.000Z</published>
  <updated>2013-06-30T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I've recently been working on an <a href="https://github.com/marcqualie/homebrew-nginx" target="_blank">Nginx Tap</a> for Mac OS X Homebrew and now I think it's time to share with the world. Originally I created a pull request on the original repo but due to the custom nature of the modules I needed it was reccomended that I create a tap and maintain my own repository (tap). The main goal behind the tap is to create a version of Nginx with as many modules as possible so people can create fully custom builds very easily.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/open-source-challenge-complete</id>
  <title>Open Source Challenge Complete!</title>
  <link href="https://marcqualie.com/blog/post/open-source-challenge-complete"/>
  <published>2013-06-20T00:00:00.000Z</published>
  <updated>2013-06-20T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[For those of you that follow my blog reguarly, a few weeks ago I announced I was undertaking my <a href="/2013/05/open-source-challenge" target="_blank">Open Source Challenge</a>. Today marks the 32nd day of consecutive code pushes, so I successfully completed my goal! I've attached a list of the projects I contributed to for you guys to check out.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/statsd-php-library</id>
  <title>StatsD PHP Library</title>
  <link href="https://marcqualie.com/blog/post/statsd-php-library"/>
  <published>2013-06-13T00:00:00.000Z</published>
  <updated>2013-06-13T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Today, I just created a <a href="https://github.com/etsy/statsd/" target="_blank">StatsD</a> PHP Library and released it on <a href="https://github.com/marcqualie/php-statsd" target="_blank">Github <span class="glyphicon glyphicon-link"></span></a>. Before you start with "but there are already loads..", I do realise this, but they didn't suite my needs. This is a short post to let you know why I opted to create my own, and what I hope to achieve from it.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/open-source-challenge</id>
  <title>Open Source Challenge</title>
  <link href="https://marcqualie.com/blog/post/open-source-challenge"/>
  <published>2013-05-27T00:00:00.000Z</published>
  <updated>2013-05-27T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[It's bank Holiday Monday and I think it's about time for a new challenge. I've been working a lot with Open Source lately, both contributing to other people's projects and refactoring/improving my own. My current contribution streak on Github is 8 consecutive days of published code, which is pretty awesome considering my previous best was 2 days from about 6 months ago. Not only is this making me a better programmer but it's also extremely fun. With this in mind I've decided the new challenge is to try and create a 32 day streak.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/why-i-use-digital-ocean-hosting</id>
  <title>Why I use Digital Ocean Hosting</title>
  <link href="https://marcqualie.com/blog/post/why-i-use-digital-ocean-hosting"/>
  <published>2013-05-23T00:00:00.000Z</published>
  <updated>2013-05-23T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[In the last few years I've used a lot of hosting providers. Until now I've never actually found any that have been able to satisfy my needs at the right price. Sure, there are huge companies such as AWS, Rackspace and Softlayer to name a few, but who has the budget to use these kinds of providers for research or personal projects outside of a big enterprise company. Previously I used Linode. I'm going to let you guys know why I switched and why <a href="https://www.digitalocean.com/?refcode=4f6e23440060" target="_blank">Digital Ocean</a> is my host of choice right now.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/why-i-learned-ruby</id>
  <title>Why I learned Ruby</title>
  <link href="https://marcqualie.com/blog/post/why-i-learned-ruby"/>
  <published>2013-05-04T00:00:00.000Z</published>
  <updated>2013-05-04T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[For a while now I've been hearing a lot of people taking about the programming language Ruby. Not that it's anything new, it just seems to be a lot more popular in my circle of friends and my Twitter feed. Naturally, as a professional PHP developer, I should hate the idea of Ruby and start some crazy argument about how PHP is far superior and Ruby should die (blah blah etc.. boring). Instead of this approach, I took it upon myself to learn Ruby from the ground up and understand why so many people enjoy using it to power their applications. Too many people argue over things without understanding both points of view, which always annoys me.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/using-cloudflare-page-rules</id>
  <title>Using Cloudflare Page Rules</title>
  <link href="https://marcqualie.com/blog/post/using-cloudflare-page-rules"/>
  <published>2013-04-01T00:00:00.000Z</published>
  <updated>2013-04-01T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Today, I decided to explore Cloudflare features in a bit more depth. I currently manage quite a few applications, both personal and business related on the platform. One feature which I'd never really looked into before was Page Rules. I'd read about them, but never actually applied them to any sites. Due to how much of an affect it actually had by applying a few rules, I feel like I should spread the word for anyone who isn't aware of what they are and how amazing they can be when used correctly.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/mongominify-launched</id>
  <title>MongoMinify Launched</title>
  <link href="https://marcqualie.com/blog/post/mongominify-launched"/>
  <published>2013-02-05T00:00:00.000Z</published>
  <updated>2013-02-05T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Today I finally released the beta version of my MongoDB compression library for PHP. There still a lot of work to be done, but it's stable enough to use as a drop replacement for standard usage such as saving and retrieving data. Not only have I released the source code, but I've also submitted it as a composer package on <a href="https://packagist.org" target="_blank">packagist.org</a> so everyone can include it in their projects very easily.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/sublime-text-2-snippets</id>
  <title>Sublime Text 2 Snippets</title>
  <link href="https://marcqualie.com/blog/post/sublime-text-2-snippets"/>
  <published>2012-12-28T00:00:00.000Z</published>
  <updated>2012-12-28T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[The other day I stumbled across an amazing feature of Sublime Text 2 that doesn't require a plugin to work, yet somehow after 1 year of using the software I hadn't come across it. If you ever find yourself rewriting huge code blocks such as configs, or copying/pasting lots of text and replacing certain parts for folder names for example then Snippets are the perfect tool! This is a short post to share awareness of this awesome feature.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/my-new-gaming-rig-specs</id>
  <title>My new Gaming Rig Specs</title>
  <link href="https://marcqualie.com/blog/post/my-new-gaming-rig-specs"/>
  <published>2012-12-26T00:00:00.000Z</published>
  <updated>2012-12-26T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I've had a few people asking about the specs on my new gaming machine, so here they are! This upgrade should have came about a year ago but thanks to a trusty desk fan I managed to keep my old computer going for this long. The hardware was still running all of the latest games perfectly fine, but it was always overheating and the case was tiny with not much run to expand above 8GB RAM on the motherboard.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/install-rabbitmq-on-ubuntu-12-04</id>
  <title>Install RabbitMQ on Ubuntu 12.04 Quickly</title>
  <link href="https://marcqualie.com/blog/post/install-rabbitmq-on-ubuntu-12-04"/>
  <published>2012-12-07T00:00:00.000Z</published>
  <updated>2012-12-07T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I've put together this simple install script that I compiled from the various tutorials on the rabbitmq site. It's not intended to be anything new or that isn't easily accessible; It's simply the quickest way I've found to get up and running with the web interface out of the box.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/awesome-tools-ive-been-using</id>
  <title>Awesome Tools I've Been Using</title>
  <link href="https://marcqualie.com/blog/post/awesome-tools-ive-been-using"/>
  <published>2012-11-23T00:00:00.000Z</published>
  <updated>2012-11-23T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I recently just passed my probation period and got hired full time at Performance Horizon which means I get to work on awesome technology with a great team for the foreseeable future! Over the last 3 months I've met really interesting people, attended conferences and meetups, worked on complex edge cases and compiled quite an inventory of tools I use in my daily work. This post is pretty much a summary of those tools and my opinion on why I think you should give them a try. I've included all the links to the mentioned projects at the bottom of this post.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/free-hosting-with-github-pages</id>
  <title>Free Hosting with Github Pages</title>
  <link href="https://marcqualie.com/blog/post/free-hosting-with-github-pages"/>
  <published>2012-11-01T00:00:00.000Z</published>
  <updated>2012-11-01T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I've been meaning to try out <a href="https://pages.github.com/" target="_blank">Github Pages</a> for quite a while, but never had a project that was suitable as nearly all of my work is built on a custom back end server. I also wanted to get a few old projects online to share the code so people can maybe do something cool with it.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/no-more-wordpress</id>
  <title>No more Wordpress!</title>
  <link href="https://marcqualie.com/blog/post/no-more-wordpress"/>
  <published>2012-10-31T00:00:00.000Z</published>
  <updated>2012-10-31T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I've decided that having my Blog hosted on 3rd party software is no longer an option. After 3+ years of posting originally on Blogger, then on Wordpress I've decided to finally integrate it into my main site, which I rebuilt from the ground up a few days ago.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/beware-of-hamachi-ipv4-subnet</id>
  <title>Beware of Hamachi IPv4 Subnet</title>
  <link href="https://marcqualie.com/blog/post/beware-of-hamachi-ipv4-subnet"/>
  <published>2012-10-02T00:00:00.000Z</published>
  <updated>2012-10-02T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Today I found a major flaw with a piece of software I use heavily every single day, as do a lot of people I know. Logmein Hamachi is currently using the 5.0.0.0/8 subnet, which has recently (Novermber 2011) been assigned to real users and conflicts are beginning to happen which is a major issue. Basically, the problem makes any service running in this subnet to appear invisible to Hamachi users, and webhosts are starting to assign these addresses to real users by the looks of it. I stumbled across this issue when connecting to a demo server at the company I now work for. Other people in the office could connect, yet I couldn't. The machine just appeared dead until I noticed the IP was in the 5.0.0.0/8 range!]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/its-september-already</id>
  <title>It's September already?</title>
  <link href="https://marcqualie.com/blog/post/its-september-already"/>
  <published>2012-09-04T00:00:00.000Z</published>
  <updated>2012-09-04T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Where has the time gone! I've been working at my new job for almost a whole month now and it still feels like I've just started! For those of you that don't know I'm now a programmer at <a href="https://www.performancehorizon.com/" title="Performance Horizon" target="_blank">Performance Horizon</a> which is pretty awesome; quite the change from flash gaming! It's also the main reason I've been neglecting my personal projects and blog updates to concentrate all the cool things I've been working on.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/recover-from-interrupted-ubuntu-release-upgrade</id>
  <title>Recover from Interrupted Ubuntu Release Upgrade</title>
  <link href="https://marcqualie.com/blog/post/recover-from-interrupted-ubuntu-release-upgrade"/>
  <published>2012-07-09T00:00:00.000Z</published>
  <updated>2012-07-09T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Today I finally got around to upgrading my home media server to Ubuntu 12.04. I'd been putting it off for a while, mainly because I was busy and didn't have time to run extra backups. Anyways, everything ran smoothly until I forgot it was running and closed my Macbook lid, which resulted in no connection and a broken SSH pipe. This is the first time it's happened to me so I quickly did some googling and found the best solution.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/installing-geoip-on-centos</id>
  <title>Installing GeoIP on CentOS</title>
  <link href="https://marcqualie.com/blog/post/installing-geoip-on-centos"/>
  <published>2012-07-03T00:00:00.000Z</published>
  <updated>2012-07-03T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I mainly write these blog posts for my own personal reference, so I don't forget how to install all of these various packages, but also because I learn a lot of my stuff from other people's posts and like to contribute back where I can. Below is my install script for GeoIP on CentOS 5.6+, and so far it has never failed. It should work on any Redhat based system with the yum package manager, but I haven't tested on any system below 5.6. I normally create scripts in a personal install directory and run as sh ~/install/geoip.sh.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/mongodb-uk-workshops</id>
  <title>MongoDB UK Workshops</title>
  <link href="https://marcqualie.com/blog/post/mongodb-uk-workshops"/>
  <published>2012-06-19T00:00:00.000Z</published>
  <updated>2012-06-19T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Today, I attended the workshops leading up to the <a href="https://www.10gen.com/events/mongodb-uk" target="_blank">MongoDB UK</a> event and learned so much from the amazing solutions experts over at 10gen. I can't wait to apply everything I learned such as replica sets, sharding and forward planned Schema Design. I say Schema Deisgn, but since Mongo is a Schema-less database I actually mean an implied data structure on how to highly optimize applications for different use cases.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/install-mongodb-on-ubuntu-12-04</id>
  <title>Install MongoDB on Ubuntu 12.04</title>
  <link href="https://marcqualie.com/blog/post/install-mongodb-on-ubuntu-12-04"/>
  <published>2012-06-18T00:00:00.000Z</published>
  <updated>2012-06-18T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Here is a small script I whipped up while I was bored in the Travelodge waiting for <a href="https://twitter.com/search/%23mongodbuk" target="_blank">#MongoDBUK</a>. It's basically a drop in script to make sure MongoDB is installed with the default settings, and up to date. Very simple, but it saves running the commands manually each time. I may update this in the future when I find a better way to check if a key is already added before always inserting it]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/samsung-s3</id>
  <title>Samsung S3</title>
  <link href="https://marcqualie.com/blog/post/samsung-s3"/>
  <published>2012-06-17T00:00:00.000Z</published>
  <updated>2012-06-17T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[<a href="https://lh4.googleusercontent.com/-QQCepJIhU4c/T9zR6HxDqII/AAAAAAAAEZI/yraCndSouGk/w497-h373/12%2B-%2B1">]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/how-to-rename-a-field-in-mongodb</id>
  <title>How to Rename a Field in MongoDB</title>
  <link href="https://marcqualie.com/blog/post/how-to-rename-a-field-in-mongodb"/>
  <published>2012-06-16T00:00:00.000Z</published>
  <updated>2012-06-16T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Since <a title="MongoDB" href="https://mongodb.org" target="_blank">MongoDB</a> is technically a schema-less database, there aren't fields or columns that you are used to in things such as MySQL, and certainly no decent applications for managing data easily. Luckily, MongoDB has a lovely command shell which can be queried using simple JavaScript. The below command will rename a field, if you named it wrong in an initial stage of your app, like I've done a few times while learning.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/javascript-racing-game-prototype</id>
  <title>JavaScript Racing Game Prototype</title>
  <link href="https://marcqualie.com/blog/post/javascript-racing-game-prototype"/>
  <published>2012-04-09T00:00:00.000Z</published>
  <updated>2012-04-09T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I've just finished working on the first prototype for my up and coming racing engine written in JavaScript. It's nowhere near finished, but it gets the simple concept across of where this could be taken. Right now it's not a game at all, it's simply an engine which can be used to make a game. I wrote a basic one track map, with dumb AI cars and a player controlled car to show some of the functionality. Please excuse the bad graphics, I will be improving them later as the project develops.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/using-curl-to-download-files-via-command-line</id>
  <title>Using Curl to Download Files via Command Line</title>
  <link href="https://marcqualie.com/blog/post/using-curl-to-download-files-via-command-line"/>
  <published>2012-04-04T00:00:00.000Z</published>
  <updated>2012-04-04T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I recently just discovered that Mac OSX doesn't have <a href="https://github.com/mirror/wget" target="_blank"">wget</a> functionality, and that's one of the most useful things about the command line to quickly download files without a UI. The most common time I use it is when I want to download .swf files, which isn't very streamlined through the browser. The quickest way to download a file would be to run:]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/order-by-folders-first-in-mac-osx-lion</id>
  <title>Order By Folders First in Mac OSX Lion</title>
  <link href="https://marcqualie.com/blog/post/order-by-folders-first-in-mac-osx-lion"/>
  <published>2012-02-06T00:00:00.000Z</published>
  <updated>2012-02-06T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[A pet hate of mine on Mac is the inability to order directories with folders at the top. It makes perfectly logical sense to put things in Alphabetical order, but when you're a developer and working with lots of folders which you have to navigate through and huge directories it's just a pain.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/adding-user-to-a-group-on-osx-lion</id>
  <title>Adding User to a Group on OSX Lion</title>
  <link href="https://marcqualie.com/blog/post/adding-user-to-a-group-on-osx-lion"/>
  <published>2012-02-05T00:00:00.000Z</published>
  <updated>2012-02-05T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[It's quite annoying how non-simple OSX is to Linux, so nearly all of the commands I'm used to don't actually work anymore so I have a lot more to learn. One of the basics was the lack of <code>usermod</code> which I use quite a lot while setting up permissions for things like client FTP, shared folders in Samba and vhosts in Apache2. Seems there is no <i>simple</i> way to do this on Mac, and the command is somewhat long winded, but here it is for anyone looking for a solution that works.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/mass-effect-addiction</id>
  <title>Mass Effect Addiction</title>
  <link href="https://marcqualie.com/blog/post/mass-effect-addiction"/>
  <published>2012-02-02T00:00:00.000Z</published>
  <updated>2012-02-02T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I'm so excited for the launch of Mass Effect 3 that I felt like I had to write about it to get it out of my system. I was extremely disappointed when the launch got delayed, as it was planned to launch a few days after my Birthday last October. However, after hearing about the reasons behind it, I didn't care too much.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/deploying-websites-with-git</id>
  <title>Deploying Websites with Git</title>
  <link href="https://marcqualie.com/blog/post/deploying-websites-with-git"/>
  <published>2012-02-01T00:00:00.000Z</published>
  <updated>2012-02-01T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Are you still using FTP for website deployment? Don't. If you're like me, and think there isn't a better solution then look no further than Git deployment. This topic has interested me for a very long time, but I'd never found a way to do it efficiently with the least amount of overhead and set up complexity. Before now I was currently using a mixture of FTP and Rsync to manage uploads, but both of these had major drawbacks. <br/>]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/varnish-cache-accelerator-introduction</id>
  <title>Varnish Cache Accelerator Introduction</title>
  <link href="https://marcqualie.com/blog/post/varnish-cache-accelerator-introduction"/>
  <published>2012-01-09T00:00:00.000Z</published>
  <updated>2012-01-09T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Recently I've been looking into a lot of Technology and Software to improve the performance and scalability of some of the projects I've been working on. This has been proving difficult as we implement more and more features, adding extra strain to databases, web servers and budget. One of the major problems we kept seeing was overloaded CPUs, bottlenecked Databases and huge ammounts of bandwidth being consumed, so a new plan was needed. Over the next few weeks I'll be posting articles on how to save money, improve performance and even improve security of your sites and applications using <a href="https://www.varnish-cache.org/" target="_blank">Varnish Cache</a>.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/installing-curl-on-ubuntu-with-php5</id>
  <title>Installing CURL on Ubuntu with PHP5</title>
  <link href="https://marcqualie.com/blog/post/installing-curl-on-ubuntu-with-php5"/>
  <published>2011-12-30T00:00:00.000Z</published>
  <updated>2011-12-30T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[This is a quick post explaning how to quickly install the CURL module on PHP5 in preperation for my next few posts. Below is the code to run from the command line. Please make all your packages are up to date and <a href="https://marcqualie.com/2011/11/upgrading-to-ubuntu-1110-using-command.html" target="_blank">upgraded</a> to the latest version before continuing. This isn't essential, but I always reccomend doing this before installing new software. Now the actual code.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/upgrading-to-ubuntu-11-10-using-command-line</id>
  <title>Upgrading to Ubuntu 11.10 using Command Line</title>
  <link href="https://marcqualie.com/blog/post/upgrading-to-ubuntu-11-10-using-command-line"/>
  <published>2011-11-10T00:00:00.000Z</published>
  <updated>2011-11-10T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Here is a very simple script to update from Ubuntu 11.04 to 11.10. I have just launched a few new servers and this was the first thing I had to do on all of them, so I thought I'd share.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/installing-node-js-on-ubuntu-11-10</id>
  <title>Installing NodeJS on Ubuntu 11.10</title>
  <link href="https://marcqualie.com/blog/post/installing-node-js-on-ubuntu-11-10"/>
  <published>2011-11-02T00:00:00.000Z</published>
  <updated>2011-11-02T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[This is a quick post demonstrating the quickest way to get <a href="https://nodejs.org" target="_blank">node.js</a> running on Ubuntu 11.10. I've tested this on both Desktop and Server editions, aswel as 11.04. From my experience, this is the quickest way to guarantee your installation of Node to be a success and no errors will occur, and install all required packages before hand.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/introduction-to-node-js-building-a-web-server</id>
  <title>Introduction to Node.js: Building a Web Server</title>
  <link href="https://marcqualie.com/blog/post/introduction-to-node-js-building-a-web-server"/>
  <published>2011-11-01T00:00:00.000Z</published>
  <updated>2011-11-01T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Lately I've been looking into different technologies for making real time communication better for my sites, games and apps. <a href="https://nodejs.org" target="_blank">Node.js</a> has been around for a while now, but it still doesn't seem to be picking up any traction in terms of it becoming widely adopted or used in big applications as far as I can tell. I've wanted to use it for quite a long time now, but never had the time. Lucky for me, I will be working on a project at work which requires real time communication so this is the perfect time to learn node and share my experience!]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/pixel-perfect-collision-detection-in-javascript</id>
  <title>Pixel Perfect Collision Detection in JavaScript</title>
  <link href="https://marcqualie.com/blog/post/pixel-perfect-collision-detection-in-javascript"/>
  <published>2011-09-07T00:00:00.000Z</published>
  <updated>2011-09-07T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I'm working on a simple game to refresh my canvas knowledge. I decided to built the game entirly in JavaScript, which isn't easy to do due to the fact it isn't designed for that purpose. There are no nice little helpers like drawing, object rendering, and most importantly collision detection. I've decided it would probably be easier to use an engine, but since you all know I hate using libraries or engines unless really necessary, I've decided to go about doing all of the code entirely myself from scratch. After a bit of playing around, and some memories from maths lessons in school I figured out how to do collision detection in raw JavaScript code, which I'm going to share with you]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/updating-timezone-on-ubuntu-server</id>
  <title>Updating Timezone on Ubuntu Server</title>
  <link href="https://marcqualie.com/blog/post/updating-timezone-on-ubuntu-server"/>
  <published>2011-08-22T00:00:00.000Z</published>
  <updated>2011-08-22T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Here is a quick snippet for updating the time zone on Ubuntu Servers via the command line. This will be part of the series I'm writing on getting set up as fast as possible with an Amazon EC2 Instance running Ubuntu Server.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/moving-to-open-source</id>
  <title>Moving to Open Source</title>
  <link href="https://marcqualie.com/blog/post/moving-to-open-source"/>
  <published>2011-08-21T00:00:00.000Z</published>
  <updated>2011-08-21T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Recently I've been thinking a lot about open source, and whether or not it's a good idea for me. I can see why it benefits groups of developers wanting to collaborate on a project, build for the community or draw attention to an individual as a developer. I've been trying to get into services such as <a href="https://github.com/marcqualie/">Github</a> to get a better idea of what's happening in the Open Source development world. Here's just a few thoughts on what I'm planning in the coming months.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/codecademy-learn-to-code-the-fun-way</id>
  <title>Codecademy: Learn to Code the fun way</title>
  <link href="https://marcqualie.com/blog/post/codecademy-learn-to-code-the-fun-way"/>
  <published>2011-08-19T00:00:00.000Z</published>
  <updated>2011-08-19T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[This morning, I just stumbled across a cool site which teaches people who to code, without it being an entirely tedious task. The site tries to engage people by actually letting them code in a console window while they are learning, getting feedback as they progress through the stages. The site is <a href="https://www.codecademy.com/" target="_blank">codecademy.com</a> and I advise you try it out if you're wanting to get into basic coding, or you just want to play around with an interactive console window for a while.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/installing-memcache-on-windows</id>
  <title>Installing Memcache on Windows</title>
  <link href="https://marcqualie.com/blog/post/installing-memcache-on-windows"/>
  <published>2011-08-19T00:00:00.000Z</published>
  <updated>2011-08-19T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[This week a colleague needed to work from home to finish up some code for our new internal site launch next week. Unfortunately, since we develop on Linux at work, and he uses windows at home, this wasn't such a smooth process of getting the files to render correctly on the Windows platform. He was using <a href="https://www.apachefriends.org/en/xampp.html" target="_blank">Xampp</a> which doesn't come pre configured with quite a few components we use to keep our site running fast and stable. One of these programs was Memcache; a distributed memory object caching system. Below I will show you the steps I took to get Memcache working on windows with the latest version of Xampp (1.7.4 at the time of writing).]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/removing-password-from-ssl-key</id>
  <title>Removing Password from SSL Key</title>
  <link href="https://marcqualie.com/blog/post/removing-password-from-ssl-key"/>
  <published>2011-08-04T00:00:00.000Z</published>
  <updated>2011-08-04T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I recently just setup a new SSL Certificate on <a href="https://marcqualie.com/">marcqualie.com</a> and ran into a little glitch that wasn't explained in the setup process, but luckily I already knew how to fix as I've installed these many times before. When you generate the .key file you <strong>must</strong> put a password on it, which is a good idea, but impractical for use on an Apache server. All goes well until your restart, during which is asks for the password before the server can start. This is a huge problem, especially if your server crashes, or restarts and there's no one around to type in the password, your entire site will be down because the Apache process will be locked up waiting for this password. Luckily there is a simple workaround. Make sure you backup your original key first, just in case!]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/streaming-media-from-linux-to-xbox-360</id>
  <title>Streaming Media from Linux to Xbox 360</title>
  <link href="https://marcqualie.com/blog/post/streaming-media-from-linux-to-xbox-360"/>
  <published>2011-08-01T00:00:00.000Z</published>
  <updated>2011-08-01T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Today I woke up with the vision of watching <a href="https://www.amazon.co.uk/gp/product/B004CYECF4/ref=as_li_ss_tl?ie=UTF8&tag=marqua-21&linkCode=as2&camp=1634&creative=19450&creativeASIN=B004CYECF4" target="_blank">Dexter</a> while working on my laptop because I'm sick of sitting at my desk. This left me with 4 options; Stream from Desktop, Stream from Laptop, Use USB Stick or Stream from new Linux Server. Each of these options has it downfalls, and one best solution, which I'm going to describe below.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/shutdown-ubuntu-server-11-04</id>
  <title>Shutdown Ubuntu Server 11.04</title>
  <link href="https://marcqualie.com/blog/post/shutdown-ubuntu-server-11-04"/>
  <published>2011-07-31T00:00:00.000Z</published>
  <updated>2011-07-31T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[This is just a quick post to hopefully help you out if you're having the same problem as me. I recently purchased a <a href="https://www.amazon.co.uk/gp/product/B004FPOLCO/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&tag=marqua-21&linkCode=as2&camp=1634&creative=6738&creativeASIN=B004FPOLCO" target="_blank">HP Proliant Microserver</a> and decided to go with Ubuntu Server 11.04 instead of my usual CentOS distro. It took a while to get used to but I got everything up and running within a few hours and everything was working fine; until I wanted to shutdown!]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/advanced-object-binding-in-javascript</id>
  <title>Advanced Object Binding in JavaScript</title>
  <link href="https://marcqualie.com/blog/post/advanced-object-binding-in-javascript"/>
  <published>2011-07-17T00:00:00.000Z</published>
  <updated>2011-07-17T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[For way too long now I've taken advantage of the amazing bind method build into the Mootools core framework, so when I started using jQuery for a client, I was shocked at how basic the code was in comparison. I'm going to write a whole new article on that topic tomorrow, but for now my focus is object binding. I'm going to explain what it is, where to use it, and how to get it to work in jQuery without breaking anything!]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/improving-ssh-security-on-linux</id>
  <title>Improving SSH Security on Linux</title>
  <link href="https://marcqualie.com/blog/post/improving-ssh-security-on-linux"/>
  <published>2011-07-07T00:00:00.000Z</published>
  <updated>2011-07-07T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[This is a quick post to inform you of some ways to keep your Linux machines well protected from hackers and bots. Today I realised some of these so called hackers had been brute forcing my web servers for the last few days; luckily they didn't prevail but it got me thinking. I'm going to tell you the steps I took to secure my server even further than it already was, and hopefully help you avoid the same troubles.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/installing-64-bit-flash-player-on-ubuntu</id>
  <title>Installing 64-bit Flash Player on Ubuntu</title>
  <link href="https://marcqualie.com/blog/post/installing-64-bit-flash-player-on-ubuntu"/>
  <published>2011-05-08T00:00:00.000Z</published>
  <updated>2011-05-08T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I recently just dusted down an old laptop to use as at work, and I felt Ubuntu was the smart option since I'm becoming very fond of Linix lately. I also want all of my files to be my own, and not be on my work machine when I'm not there (a whole new Blog post on network mounting coming soon). However, since I installed 64-bit version of Ubuntu 10.04 I ran into an issue when it came to using Flash Player in Chrome.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/secure-proxy-with-squid-and-ssh-tunnels</id>
  <title>Secure Proxy with Squid and SSH Tunnels</title>
  <link href="https://marcqualie.com/blog/post/secure-proxy-with-squid-and-ssh-tunnels"/>
  <published>2011-05-01T00:00:00.000Z</published>
  <updated>2011-05-01T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Today I decided to build myself a small, yet very secure proxy tunnel to use at work. Not that I have anything to hide, I'd just prefer my boss not to know what sites I browse in my lunch hour, or get curious as to why I enjoy watching stand up comedy while I work. Luckily most of the services I use are https enabled anyways, but for the few that aren't, this is my workaround.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/molehill-gaming-launched</id>
  <title>Molehill Gaming Launched!</title>
  <link href="https://marcqualie.com/blog/post/molehill-gaming-launched"/>
  <published>2011-04-26T00:00:00.000Z</published>
  <updated>2011-04-26T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Hey guys! It's a while since I posted, but it's all for a good cause, I promise. Recently I joined forces with a friend and we become a single identity known as "The Mole".]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/laser-beam-techno-harp</id>
  <title>Laser Beam Techno Harp</title>
  <link href="https://marcqualie.com/blog/post/laser-beam-techno-harp"/>
  <published>2011-03-21T00:00:00.000Z</published>
  <updated>2011-03-21T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I really want to make something like this so I thought I'd share.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/touchevent-in-flashdevelop</id>
  <title>TouchEvent in FlashDevelop?</title>
  <link href="https://marcqualie.com/blog/post/touchevent-in-flashdevelop"/>
  <published>2011-02-28T00:00:00.000Z</published>
  <updated>2011-02-28T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Today I received my Kinect Cable (oh yeah!) so I could start playing around with some hacks. Unfortunately, I was in a lazy mood, so Instead of learning the C#, Java or Python versions of these SDK's, I went with the Actionscript version since I am much more fluent in coding this. Turns out, FlashDevelop doesn't have TouchEvent!]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/secure-proxy-with-hamachi2-on-linux</id>
  <title>Secure Proxy with Hamachi2 on Linux</title>
  <link href="https://marcqualie.com/blog/post/secure-proxy-with-hamachi2-on-linux"/>
  <published>2011-02-24T00:00:00.000Z</published>
  <updated>2011-02-24T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[<a href="https://2.bp.blogspot.com/-1fRyZ3kk9d4/TWXAu99XvCI/AAAAAAAAA2c/XBQBNn1uXKs/s1600/logmein_hamachi-437849-1293507014.jpg">]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/installing-varnish-cache-on-centos</id>
  <title>Installing Varnish Cache on CentOS</title>
  <link href="https://marcqualie.com/blog/post/installing-varnish-cache-on-centos"/>
  <published>2011-02-13T00:00:00.000Z</published>
  <updated>2011-02-13T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Today, I installed <a href="https://varnish-cache.org/" target="_blank">Varnish Cache</a> onto my Amazon EC2 server to test drive it's performance. I had recently discovered sites such as Facebook are using Varnish as a way of delivering the billions of photo requests they receive daily; which must mean this thing can really take the load of of standard http servers. Unfortunately I was unable to find a decent tutorial on how to do so, which led me to write my own.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/apc-alternate-php-cache-drawback</id>
  <title>APC (Alternate PHP Cache) Drawback</title>
  <link href="https://marcqualie.com/blog/post/apc-alternate-php-cache-drawback"/>
  <published>2011-02-11T00:00:00.000Z</published>
  <updated>2011-02-11T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Today I was experimenting with various caching techniques in PHP and Apache to try to speed up my site, while still keep all of my content real-time and efficient. I will be writing a full post on my experiment and my results later on tonight, but for now I just want to write a quick post about APC.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/detect-selected-radio-input-in-javascript-mootools</id>
  <title>Detect Selected Radio Input in JavaScript [Mootools]</title>
  <link href="https://marcqualie.com/blog/post/detect-selected-radio-input-in-javascript-mootools"/>
  <published>2011-02-11T00:00:00.000Z</published>
  <updated>2011-02-11T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[A collegue brought up an interesting subject today at work; how do you detect which radio button out of set has been selected in JavaScript? This is the first time in a few years I've been stumped on a JavaScript question, so I was quite annoyed! The last time I used a radio button must have been on a MySpace voting pole widget back in the day. So I had my challenge, and I was determined to find out.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/flash-10-2-gives-web-video-a-boost</id>
  <title>Flash 10.2 gives web video a Boost</title>
  <link href="https://marcqualie.com/blog/post/flash-10-2-gives-web-video-a-boost"/>
  <published>2011-02-09T00:00:00.000Z</published>
  <updated>2011-02-09T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Thanks to Adobe's newest release of Flash Player 10.2, web video will use much less of your processor, and improve battery life on mobile devices. Most of video on the Internet is powered by Flash Player, so this is quite a substantial update that we've been waiting a long time for.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/3d-car-gallery-in-flash</id>
  <title>3D Car Gallery in Flash</title>
  <link href="https://marcqualie.com/blog/post/3d-car-gallery-in-flash"/>
  <published>2011-01-15T00:00:00.000Z</published>
  <updated>2011-01-15T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[<a href="https://2.bp.blogspot.com/_SCmPP6x1F1A/TTDxXtfAlYI/AAAAAAAAAqM/h-T5c6URj_A/s1600/tczgrande1.jpg">]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/go-to-google-type-in-google</id>
  <title>Go To Google, Type in Google..</title>
  <link href="https://marcqualie.com/blog/post/go-to-google-type-in-google"/>
  <published>2011-01-14T00:00:00.000Z</published>
  <updated>2011-01-14T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[We've all met people like this. I meet meet people like this on a daily basis due to the nature of my work and I think they should all be banned from the Internet for being a waste of oxygen. Anyone who I work with will get the reference to the title.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/my-personal-qr-code</id>
  <title>My Personal QR Code</title>
  <link href="https://marcqualie.com/blog/post/my-personal-qr-code"/>
  <published>2011-01-14T00:00:00.000Z</published>
  <updated>2011-01-14T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[<a href="https://2.bp.blogspot.com/_SCmPP6x1F1A/TTDf1KcvU8I/AAAAAAAAAqE/pYOD1YTby-o/s1600/local.marcqualie.png">]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/microsoft-mocks-google-using-failed-esperanto-language</id>
  <title>Microsoft Mocks Google using Failed Esperanto Language</title>
  <link href="https://marcqualie.com/blog/post/microsoft-mocks-google-using-failed-esperanto-language"/>
  <published>2011-01-13T00:00:00.000Z</published>
  <updated>2011-01-13T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Below is an article from MSDN, where a Microsoft employee openly mocks Google's decision to no longer support H.264 video which I wrote about earlier this week. I found it quite amusing, so thought I would share.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/google-is-to-drop-support-for-h-264-video-format</id>
  <title>Google is to drop support for H.264 video format</title>
  <link href="https://marcqualie.com/blog/post/google-is-to-drop-support-for-h-264-video-format"/>
  <published>2011-01-12T00:00:00.000Z</published>
  <updated>2011-01-12T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Google has announced that it will be dropping support for the H.264 video format in favour of more open standards. They will be pushing people to use open sourced codecs such as WebM and Theora.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/drawing-minecraft-using-html5</id>
  <title>Drawing Minecraft using HTML5</title>
  <link href="https://marcqualie.com/blog/post/drawing-minecraft-using-html5"/>
  <published>2011-01-08T00:00:00.000Z</published>
  <updated>2011-01-08T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I would love to be able to draw like this. This must have taken the guys hours, and it is clearly a masterpiece!]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/kinect-hack-real-time-motion-capture</id>
  <title>Kinect Hack: Real-time Motion Capture</title>
  <link href="https://marcqualie.com/blog/post/kinect-hack-real-time-motion-capture"/>
  <published>2011-01-07T00:00:00.000Z</published>
  <updated>2011-01-07T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[This hacker is using a blender model and Kinect to replicate his movements in real-time. Quite impressive how accurate it is.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/kinect-hack-midi-controller</id>
  <title>Kinect hack Midi Controller</title>
  <link href="https://marcqualie.com/blog/post/kinect-hack-midi-controller"/>
  <published>2011-01-03T00:00:00.000Z</published>
  <updated>2011-01-03T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Not really much to say about this one apart from how clearly awesome this thing could be. I'd loved to be able to compose music without ever playing a note on a keyboard or twanging my guitar. It also brings memories of when I used to use FLStudio (Fruityloops back then) quite a lot to make insane dance music. Keep the hacks coming, and also an adapter so I can start making my own! My about that in my next post.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/kinect-hack-for-world-of-warcraft</id>
  <title>Kinect hack for World Of Warcraft</title>
  <link href="https://marcqualie.com/blog/post/kinect-hack-for-world-of-warcraft"/>
  <published>2010-12-29T00:00:00.000Z</published>
  <updated>2010-12-29T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[As many of you may know, Xbox Kinect has been hacked many times for various different reasons on the PC. Now the millions of gamers can play their favourite Wow experiences using body gestures rather than a keyboard. This enhanced use of Kinect on one of the world's most popular online computer games demonstrates exactly how powerful the future of gaming is going to be. Maybe when the "official" PC drivers are released (as Microsoft have hinted at the possibility of this), more top gaming companies will embrace this new way of controlling games. I am buying my own Kinect in the morning and can't wait to start hacking away at different projects for myself and others.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/google-wave-is-now-apache-wave</id>
  <title>Google Wave is now Apache Wave</title>
  <link href="https://marcqualie.com/blog/post/google-wave-is-now-apache-wave"/>
  <published>2010-12-07T00:00:00.000Z</published>
  <updated>2010-12-07T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Thanks to the Open Source Community over at Apache, Google Wave will now be able to live on in it's new home where many eager developers wait to pick up where Google went wrong. Personally I was quite disappointed when I heard Google wave would be shutting down, as I believed it had much potential. You can read the full story over at the <a href="https://googlewavedev.blogspot.com/2010/12/introducing-apache-wave.html" target="_blank">Google Wave Blog</a>.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/convenience-vs-performance-in-php</id>
  <title>Convenience vs Performance in PHP</title>
  <link href="https://marcqualie.com/blog/post/convenience-vs-performance-in-php"/>
  <published>2010-11-20T00:00:00.000Z</published>
  <updated>2010-11-20T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[PHP, while known for it's simplicity and scalability, is an overall slow and memory consuming language. I my 5 years of programming, I've managed to build myself a fully custom and highly optimized set of libraries which I use in a lot of my projects. These libraries range from Geo Location and Authentication, to Sessions Handling and Web Crawling. While these libraries are highly optimized, they still don't have the performance I am hoping for from my applications. PHP consumes high amounts of memory, and isn't the fastest language by any means. I've spent the last few months trying out new ways of upgrading my applications to be more powerful and faster, even learning new languages and techniques along the way.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/canvas-gpu-acceleration-in-chrome-fails</id>
  <title>Canvas GPU Acceleration in Chrome Fails</title>
  <link href="https://marcqualie.com/blog/post/canvas-gpu-acceleration-in-chrome-fails"/>
  <published>2010-11-06T00:00:00.000Z</published>
  <updated>2010-11-06T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[As you may know I <a href="https://marcqualie.com/2010/11/squiggle-canvas-returns">recently relaunched Squiggle Canvas</a>. Whilst re-coding the site I noticed the entire engine was very glitchy, and the JavaScript hang time for drawing was between 500-1000ms. This was the time needed to Chrome to take some input, run a function, draw something to the canvas, update the UI, and get ready to redraw the next line. All of this happens when you move the mouse one pixel.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/squiggle-canvas-returns</id>
  <title>Squiggle Canvas Returns!</title>
  <link href="https://marcqualie.com/blog/post/squiggle-canvas-returns"/>
  <published>2010-11-06T00:00:00.000Z</published>
  <updated>2010-11-06T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[<a href="https://1.bp.blogspot.com/_SCmPP6x1F1A/TNW_ncfEcnI/AAAAAAAAAjs/tW8Of69sXSk/s1600/Random+Bird+Thing.jpg">]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/minecraft-is-a-dropbox-overkill</id>
  <title>Minecraft is a Dropbox Overkill</title>
  <link href="https://marcqualie.com/blog/post/minecraft-is-a-dropbox-overkill"/>
  <published>2010-11-05T00:00:00.000Z</published>
  <updated>2010-11-05T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[<a href="https://1.bp.blogspot.com/_SCmPP6x1F1A/TNP5R2St4GI/AAAAAAAAAjk/p9oqwaoCBY0/s1600/url.jpg">]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/pagination-with-php-and-mysql</id>
  <title>Pagination with PHP and MySQL</title>
  <link href="https://marcqualie.com/blog/post/pagination-with-php-and-mysql"/>
  <published>2010-10-19T00:00:00.000Z</published>
  <updated>2010-10-19T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[This is a quick tutorial on how to code basic pagination using a combination of PHP and MySQL. Pagination is basically splitting a list of content between multiple pages for easier navigation and less scrolling on a website. To start with you are going to need a few variables.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/pixel-perfect-collision-detection-as3</id>
  <title>Pixel Perfect Collision Detection AS3</title>
  <link href="https://marcqualie.com/blog/post/pixel-perfect-collision-detection-as3"/>
  <published>2010-10-18T00:00:00.000Z</published>
  <updated>2010-10-18T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Hi guys! It's been a long time since I've posted on here, but I've been a very busy little worker bee! I will explain more about that in my next post, however. Right now I want to share some code that has been annoying me for the past 4 hours, as maybe it will help someone in the future. I'm currently working on an arcade racing game, just so I have something challenging to keep me out of trouble, but it's proving more difficult than I thought.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/create-symlinks-using-php</id>
  <title>Create Symlinks using PHP</title>
  <link href="https://marcqualie.com/blog/post/create-symlinks-using-php"/>
  <published>2010-10-03T00:00:00.000Z</published>
  <updated>2010-10-03T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Did you know you can also create symlinks using PHP? Now when you have a lot of files you want to symlink in bulk, such as Apache project files which I described in a previous Blog post, you can simply create a php file to do all the work for you.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/ever-wanted-images-to-be-smaller-and-load-faster</id>
  <title>Ever wanted images to be smaller and load faster?</title>
  <link href="https://marcqualie.com/blog/post/ever-wanted-images-to-be-smaller-and-load-faster"/>
  <published>2010-09-30T00:00:00.000Z</published>
  <updated>2010-09-30T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Over at Google they are always trying to make the internet faster, and just generally better for all of us Speed Craving Humanoids. They weren't happy with just customizing the web pages themselves (even though they released many tools for this such as Google Page Speed and even created a new Web Protocol SPDY), they wanted to optimize every aspect of the assets inside the pages too, which includes Images.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/symbolic-links-and-drop-box</id>
  <title>Symbolic Links and Dropbox</title>
  <link href="https://marcqualie.com/blog/post/symbolic-links-and-drop-box"/>
  <published>2010-09-28T00:00:00.000Z</published>
  <updated>2010-09-28T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[<a href="https://www.dropbox.com/referrals/NTM0NzEyNDA5">]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/animation-vs-animator-flash</id>
  <title>Animation Vs. Animator [Flash]</title>
  <link href="https://marcqualie.com/blog/post/animation-vs-animator-flash"/>
  <published>2010-09-25T00:00:00.000Z</published>
  <updated>2010-09-25T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[<embed height="490" src="https://fc01.deviantart.net/fs13/f/2007/077/2/e/Animator_vs__Animation_by_alanbecker.swf" width="660"/>]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/animation-vs-animator-ii-flash</id>
  <title>Animation Vs. Animator II [Flash]</title>
  <link href="https://marcqualie.com/blog/post/animation-vs-animator-ii-flash"/>
  <published>2010-09-25T00:00:00.000Z</published>
  <updated>2010-09-25T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[<embed height="490" src="https://fc02.deviantart.net/fs13/f/2007/073/7/0/Animator_vs__Animation_II_by_alanbecker.swf" width="660"/>]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/mozilla-concept-phone</id>
  <title>Mozilla Concept Phone</title>
  <link href="https://marcqualie.com/blog/post/mozilla-concept-phone"/>
  <published>2010-09-23T00:00:00.000Z</published>
  <updated>2010-09-23T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[If this were a real phone, I would most likely sell everything I own just to have one. Seriously, amazing.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/what-is-super-wifi</id>
  <title>What is Super WiFi?</title>
  <link href="https://marcqualie.com/blog/post/what-is-super-wifi"/>
  <published>2010-09-23T00:00:00.000Z</published>
  <updated>2010-09-23T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[<a href="https://4.bp.blogspot.com/_SCmPP6x1F1A/TJvSihEAOpI/AAAAAAAAAdA/Ehyk7lv3jMo/s1600/imgres.jpg">]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/symbolic-links-are-my-new-best-friend</id>
  <title>Symbolic Links are my new Best Friend</title>
  <link href="https://marcqualie.com/blog/post/symbolic-links-are-my-new-best-friend"/>
  <published>2010-09-19T00:00:00.000Z</published>
  <updated>2010-09-19T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[<a href="https://3.bp.blogspot.com/_SCmPP6x1F1A/TJaek5dshuI/AAAAAAAAAco/2nqN5l4HjCA/s1600/imgres.jpg">]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/itellitype-pro-fails-with-spotify</id>
  <title>ItelliType Pro Fails with Spotify</title>
  <link href="https://marcqualie.com/blog/post/itellitype-pro-fails-with-spotify"/>
  <published>2010-09-18T00:00:00.000Z</published>
  <updated>2010-09-18T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Recently I purchased a new Keyboard and Mouse desk set, which I have been very impressed with so far. It's a <a href="https://www.amazon.co.uk/Microsoft-Wireless-Desktop-3000-MFC-00007/dp/B00284AM90/ref=sr_1_fkmr0_2?ie=UTF8&qid=1284815074&sr=8-2-fkmr0">Microsoft Wireless Deskset 3000</a>. The best thing I have to say about the setup is the fact the wireless signal never drops. In the past I've always had issues with signal dropping on wireless devices, especially keyboards. It is also very responsive for gaming, so I can still waste time playing games just as much as I used to.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/symbolic-links-in-windows-7</id>
  <title>Symbolic Links in Windows 7</title>
  <link href="https://marcqualie.com/blog/post/symbolic-links-in-windows-7"/>
  <published>2010-09-16T00:00:00.000Z</published>
  <updated>2010-09-16T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Today I decided to link up some servers so I could develop faster and they would be almost identical. Unfortunately, symbolic links aren't straight forward to create on windows, so I did a little research. Turns out you have two options. First of all you can do it via the command link, using the <em>mklink</em> command, or you can install a program called <a href="http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html">Link Shell Extension</a>. Both options are quite simple and do the same thing, however Link Shell Extension offers more options such as hard link cloning and copying. I've only tested this on Windows 7, so let me know if you have problems with it using other platforms. For reference, you can use the command line way of doing this, by using the following code:]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/google-chrome-canary-builds</id>
  <title>Google Chrome: Canary Builds</title>
  <link href="https://marcqualie.com/blog/post/google-chrome-canary-builds"/>
  <published>2010-07-25T00:00:00.000Z</published>
  <updated>2010-07-25T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Today, I read a post about the new version of Chrome which Google have released. It's basically a secondary browser, which can be installed along-side your current version of Chrome. Personally I think this is an amazing idea, however it has gathered some criticism from others.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/3d-in-flash-using-away3d-engine</id>
  <title>3D In Flash using Away3D Engine</title>
  <link href="https://marcqualie.com/blog/post/3d-in-flash-using-away3d-engine"/>
  <published>2010-07-20T00:00:00.000Z</published>
  <updated>2010-07-20T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Hey guys! Been a while since I've blogged but it's worth it, honestly! Lately I've been so busy working on so much stuff I barely have time to eat! Actually, that's a lie, I've been playing games all the time (damn Steam!). So yeah, procrastination at it's best right there.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/google-napping-pods</id>
  <title>Google Napping Pods</title>
  <link href="https://marcqualie.com/blog/post/google-napping-pods"/>
  <published>2010-06-20T00:00:00.000Z</published>
  <updated>2010-06-20T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[<a href="https://4.bp.blogspot.com/_SCmPP6x1F1A/TB3-AqIabcI/AAAAAAAAAYg/-92dm7Swro8/s1600/googlenaptimejun2010.jpg">]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/internet-procrastination-at-its-best</id>
  <title>Internet Procrastination At It's Best</title>
  <link href="https://marcqualie.com/blog/post/internet-procrastination-at-its-best"/>
  <published>2010-06-20T00:00:00.000Z</published>
  <updated>2010-06-20T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[I do this on a daily basis, looks like I'm not the only one!]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/classic-coder-excuse</id>
  <title>Classic Coder Excuse</title>
  <link href="https://marcqualie.com/blog/post/classic-coder-excuse"/>
  <published>2010-06-15T00:00:00.000Z</published>
  <updated>2010-06-15T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[This makes me want to start working with compiled languages a lot more! Not that I would do this, of course..]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/iphone-os-4-0-oh-please</id>
  <title>iPhone OS 4.0, Oh Please!</title>
  <link href="https://marcqualie.com/blog/post/iphone-os-4-0-oh-please"/>
  <published>2010-06-07T00:00:00.000Z</published>
  <updated>2010-06-07T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[So today, Apple decided to release what they call an "upgrade" to their iPhone OS (now named iOS). First of all, this may be an upgrade to the iPhone, but then again, what isn't, right? However, it's merely a feeble attempt at catching up with the current smart phone market, namely Android.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/google-chrome-faster-than-a-speeding-potato</id>
  <title>Google Chrome: Faster Than A Speeding Potato</title>
  <link href="https://marcqualie.com/blog/post/google-chrome-faster-than-a-speeding-potato"/>
  <published>2010-05-05T00:00:00.000Z</published>
  <updated>2010-05-05T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Out of all the random things Google have come up with to demonstrate their products, this has to be the most fun I've seen. While we're all working hard at the office, they're playing with paint, potato and explosives!? Who wants to join me in applying for Google? Yea, I thought so!]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/will-the-web-become-self-aware</id>
  <title>Will the web become self-aware?</title>
  <link href="https://marcqualie.com/blog/post/will-the-web-become-self-aware"/>
  <published>2010-04-22T00:00:00.000Z</published>
  <updated>2010-04-22T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[Anyone else ever thought to themselves that The Terminator movie has a hint of truth to it? Clearly technology is becoming more advanced by the month, if not week! From websites that know what movies you want to watch before you do, to using satellites to zoom into right where you are standing at any given time. Scary stuff.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
<entry>
  <id>https://marcqualie.com/blog/post/my-first-blog-post-ever</id>
  <title>My First Blog Post, Ever!</title>
  <link href="https://marcqualie.com/blog/post/my-first-blog-post-ever"/>
  <published>2010-02-22T00:00:00.000Z</published>
  <updated>2010-02-22T00:00:00.000Z</updated>
  <summary type="html"><![CDATA[So I finally decided to start blogging, yay for me! Took me long enough. I got annoyed at myself for putting everything off, always saying I'll do it tomorrow. Unfortunately, tomorrow never happens. I thought maybe if I write my plans down and a few random stalkers from the Internet read it then it would motivate me to actually finish what I started. Good theory, let's put it to the test.]]></summary>
  <author>
    <name>Marc Qualie</name>
    <uri>https://marcqualie.com</uri>
    <email>marc@marcqualie.com</email>
  </author>
</entry>
</feed>