Skip to content
Snippets Groups Projects
Commit a1925318 authored by Dylan M. Taylor's avatar Dylan M. Taylor
Browse files

Put titles in posts

parent 5240c76c
No related branches found
No related tags found
No related merge requests found
Pipeline #1693694177 passed
Showing
with 20 additions and 0 deletions
......@@ -7,6 +7,7 @@ date: '$YMD'
title: $TITLE
description:
---
## $TITLE
EOF
echo $FILE
......@@ -3,5 +3,6 @@ date: 2012-01-15
title: How to fix com.android.providers.media crash on a rooted Android device
description: A solution for fixing media provider crashes on rooted Android devices by removing corrupt media databases.
---
## How to fix com.android.providers.media crash on a rooted Android device
I noticed that my rooted Android phone, a Samsung Epic 4G was crashing when I opened my Camera application, saying that com.android.providers.media was force closing. It took me about half an hour, but I figured out how to fix the problem using adb. The problem is that it was having trouble writing to and reading from the media database. Deleting the media databases solves the problem without doing a complete factory reset. To do this, run adb shell, and then type su to gain root access. Now type in "rm /data/data/com.android.providers.media/databases/*" and hit enter. This will fix the problem.
......@@ -3,5 +3,6 @@ date: 2012-03-13
title: Ordered a Raspberry Pi
description: Thoughts on purchasing the newly released Raspberry Pi Model B and plans for using this affordable computing platform.
---
## Ordered a Raspberry Pi
If you haven't heard of it, [Raspberry Pi](http://www.raspberrypi.org) is a very interesting project to create an incredibly cheap but powerful computer. It was released on February 29th, and on that same day, I purchased a Model B ($35) through element14's site. Due to overwhelming demand, I probably won't actually get it for a while, but when I do, I'll post an update on my blog about it. Because of the unbelievable value of the device, and not-too-shabby specifications, there are many potential applications for it. I plan on playing with it and potentially coding some really neat stuff in my free time. I'll post further updates about the Raspberry Pi on my blog.
......@@ -3,6 +3,7 @@ date: 2012-03-31
title: Fixing Autokey (GTK) on Ubuntu 12.04
description: A solution for getting Autokey working on Ubuntu 12.04 by adding it to Unity's system tray whitelist.
---
## Fixing Autokey (GTK) on Ubuntu 12.04
Autokey is a wonderful scripting tool for [Linux](http://en.wikipedia.org/wiki/Linux). Unfortunately, it doesn't work out of the box in [Ubuntu 12.04](http://www.ubuntu.com/). The reason why is because Autokey isn't on the Unity panel's system tray whitelist. I submitted [a bug report on Launchpad](https://bugs.launchpad.net/ubuntu/+source/autokey/+bug/970581), but for now, if you want to get Autokey working without breaking the Unity panel for any other applications, it's as simple as running the following command in the terminal:
......
......@@ -3,5 +3,6 @@ date: 2012-10-09
title: Development Temporarily On Hold
description: Announcement about pausing open source development work due to academic commitments and college workload.
---
## Development Temporarily On Hold
Unfortunately I'm a busy college student, and I have many things to worry about, such as projects, exams, and studying. I prioritize this more than my open source development and work on new projects. Because of my heavy workload lately, I've put all of my hobbyist (read: unpaid and time consuming) development on hold. However, I did release the full source code of LibreScribe, and it's released under the GPL so all of my work is not lost. Anyone can pick it up, fork it, and start working on it. I hope to work on this project again someday, perhaps over Thanksgiving break, but until then, I have to focus primarily on my studies and my financial and academic obligations. Also, I apologize for not updating this blog for quite some time. I assure you, I am fine, I've just been very busy, with a job over the summer, and being at college now, I have a lot on my plate to take care of. Thank you for your understanding.
......@@ -3,6 +3,7 @@ date: 2014-06-21
title: Upgraded Hosting to Virtual Private Server
description: Moving from shared hosting to a VPS for improved performance, more control, and better resource allocation.
---
## Upgraded Hosting to Virtual Private Server
Unfortunately, DreamHost was killing my processes because my site was using too much memory and my site would occasionally go offline. Despite being a great hosting company with a great control panel, DreamHost was no longer meeting my needs. I decided I needed several things: more control, more resources and affordable pricing. As a software developer used to SSH and the Linux terminal, it made sense to switch to a reliable VPS service. As of now, this site is now hosted on an unmanaged SSD VPS and the performance increase has been phenomenal. According to the tests that I ran before and after migration, site load time has decreased from around 1.5 seconds to around 1/30th of a second (on average). If I migrate from Apache to nginx as I'm currently planning to, it's entirely possible that the load time will be even lower on average and more consistent. In addition to the load time being faster and having access to guaranteed resources through KVM (which is resilient to overselling), the amount of bandwidth I have is insane as this site is hosted on a 1Gbps dedicated link with 1 IPV4 address and a /64 IPV6 block. Of course, this means that I have to handle all of my software configuration and maintenance myself, but I enjoy that, so it's not so bad. Ubuntu 14.04 LTS is pretty good in terms of ease of use, and I am very familiar with configuring it already, so that's not a problem at all. Overall, expect much better performance from this site, and stay tuned for more updates.
......
......@@ -3,6 +3,7 @@ date: 2014-06-24
title: Private OpenVPN is Great!
description: Setting up a private VPN server on an Ubuntu VPS for better security and privacy at an affordable cost.
---
## Private OpenVPN is Great!
I finally got around to setting up a private VPN server, hosted in San Diego. It's hosted on an Ubuntu 14.04 VPS, with almost nothing else running on it except OpenVPN, and I'm pretty impressed with the results. Much cheaper than paying some company to set this up for you, and well worth the privacy. Only downside is the bandwidth cap of 250GB/month (or around a few cents per GB overage), but really, I'm mostly going to only use this on public wireless networks and on my phone to prevent eavesdropping, so it should suffice.
......
......@@ -3,5 +3,6 @@ date: 2014-06-27
title: Speed Up Your Site With Instant Click
description: Using InstantClick technology to drastically reduce perceived loading time by preloading content when users hover over links.
---
## Speed Up Your Site With Instant Click
There are many different tools and technologies to optimize your site and make it load faster, from CloudFlare to W3 Super Cache, they all work on caching your content so the site can return it faster. One great way to decrease the latency between clicking on a link and it loading is called [InstantClick](http://instantclick.io/), and it works great. In fact, I have it running on most of my sites now. It works by starting to load the content as soon as the user hovers over the link so that the page appears to load instantaneously. The dramatic difference in perceived loading time is astounding, and for my fellow WordPress users, there's [a great plugin out there](http://wordpress.org/plugins/instantclick/) that sets it up for you. Try this out and tell me if it made your site any faster. One thing's for sure, it's great to have nearly no loading time on my site, and I plan on keeping this enabled.
......@@ -3,6 +3,7 @@ date: 2014-07-04
title: Goodbye Dropbox, Hello OwnCloud
description: How I set up my own private cloud storage solution using OwnCloud on a VPS, saving money and gaining more control compared to Dropbox.
---
## Goodbye Dropbox, Hello OwnCloud
![owncloud23](/images/blog/2014/07/owncloud23.png)
......
......@@ -3,6 +3,7 @@ date: 2014-07-06
title: My Domain is Now Registered With iWantMyName
description: My experience switching domain registrars to iWantMyName, which offers a simple interface and ethical business practices compared to competitors.
---
## My Domain is Now Registered With iWantMyName
[![iwantmyname-medium](/images/blog/2014/07/iwantmyname-medium.png)]
......
......@@ -3,6 +3,7 @@ date: 2015-04-20
title: Migrating from Wordpress to Custom Code and Jekyll
description: How I recreated my website from scratch, moving away from WordPress to static content generation with Jekyll for better control and performance.
---
## Migrating from Wordpress to Custom Code and Jekyll
[![Jekyll](/images/blog/2015/04/jekyll.png)](http://jekyllrb.com/)
......
......@@ -3,6 +3,7 @@ date: 2021-06-30
title: Automatically Building My Website With Travis CI
description: Using Travis CI to automatically build and deploy website changes whenever content is published to Git.
---
## Automatically Building My Website With Travis CI
[![TravisCI](/images/blog/2015/05/TravisCI-Full-Color.png)](https://travis-ci.org) In order to simplify the publication of content and have this site automatically build whenever I publish a change to Git, I have set up a script and integrated my GitHub repository with [Travis CI](https://travis-ci.org). By doing so, I can simply focus on the content, and using the scripts that I wrote, the site will build and publish itself. Because I have a cron job setup on the dylanmtaylor.com domain, every change I push to Git is automatically pulled and deployed almost instantaneously, so that my content is up to date.
......
......@@ -3,5 +3,6 @@ date: 2018-04-25
title: A Fresh Start - Archiving Some Old Blog Content
description: Refreshing the blog by unpublishing outdated content while keeping it accessible through version control.
---
## A Fresh Start - Archiving Some Old Blog Content
You might have noticed it's a bit empty here. I haven't updated this blog in quite some time (years), and I felt like it's time for some spring cleaning. I'm going to be writing new content here about both personal projects as well as technology that I am passionate about, and really wanted to give the site a more professional look and feel. Some of the posts that I wrote from when I was first experimenting and learning to code aren't necessarily reflective of my current knowledge and abilities, so I've unpublished them. That said, due to the nature of this site, everything is open source and tracked in version control, including [the Ansible playbook](https://gitlab.com/dylanmtaylor/dylanmtaylor-ansible) I use to deploy the site on a new virtual private server. Because of that, all of the old content is still in [the git repository for this website](https://gitlab.com/dylanmtaylor/dylanmtaylor.gitlab.io).
......@@ -3,6 +3,7 @@ date: 2018-04-26
title: Moving Hosts Again, This Time with NVMe Storage
description: Transitioning to a more cost-effective hosting solution with high-performance NVMe storage.
---
## Moving Hosts Again, This Time with NVMe Storage
For the past two years, this site has been hosted with [Joe's Datacenter](https://joesdatacenter.com/) on a rather overkill dedicated machine with some seriously beefy specs (dual Xeon L5420 CPUs, 8GB RAM, 20TB of bandwidth on a 1Gbit dedicated port, 500GB HDD). The service was around $20/month as I got it with a promotional code, and I had this site and about 3 or 4 other virtual machines running on the box that I've been using to test various things out, as well as [Folding@home](http://folding.stanford.edu/). It was fun to play with, but it was getting rather expensive for something I'm doing as a hobby. Regrettably, it was time to move on to something more reasonable. I also decided that if I wanted virtual machines for short term use, I'd use the around $150 in credit I still have left with [Vultr](https://www.vultr.com/?ref=6805270) to test things out rather than spinning up new ones on a bare-metal server. The SSD performance of Vultr on the cheapest of plans outperformed my server by quite a bit, and since they bill hourly, it's a win-win.
......
......@@ -3,6 +3,7 @@ date: 2018-04-27
title: Creating Disposable OpenVPN Servers Using the Vultr Cloud API
description: Building temporary OpenVPN servers on demand using Vultr's cloud API for cost-effective privacy when needed.
---
## Creating Disposable OpenVPN Servers Using the Vultr Cloud API
For a while now, I've used [Nyr's openvpn-install script](https://github.com/Nyr/openvpn-install) to set up OpenVPN servers for my personal use. It's quite a handy script, and as it proclaims on the GitHub page, it'll let you setup an OpenVPN server in around a minute with no expertise required. This, combined with some ultra-cheap VPS servers, perhaps from [VirMach](https://billing.virmach.com/aff.php?aff=4261) can get you a decently good performance VPN with a single IP address for about a dollar a month. The are a few issues with this approach are that you are limited to one IP address, which allows providers to easily identify you if you use the service for long enough (VirMach actually charges more than the monthly cost of their cheapest offering to change the IP address - it's easier to cancel), the bandwidth is very limited for heavy usage, and you're paying for service even when it's not needed. The last point may not sound like a big deal, but from a pure cost perspective, it's cheaper to pay hourly only when you need it.
......
......@@ -3,6 +3,7 @@ date: 2018-04-27
title: How My Server is Deployed and Configured Using Ansible
description: Using Ansible playbooks to automate server deployment and configuration for immutable infrastructure.
---
## How My Server is Deployed and Configured Using Ansible
[![Ansible](/images/blog/2018/04/ansible_logo_round.png)](https://www.ansible.com/) Traditionally, deploying infrastructure was a very time and labor intensive process. Manually going in and configuring services, installing packages, applying system updates, copying over data, etc. could easily take an entire day or more of man hours. In order to solve this problem, several tools, such as [Ansible](https://www.ansible.com/), [Chef](https://www.chef.io/chef/), [Puppet](https://puppet.com/), and [SaltStack](https://saltstack.com/) were created in order to make the lives of system administrators and infrastructure architects everywhere easier. I have adopted Ansible in order to configure my web server. Honestly, the way that my server is configured, there is nothing on it that I cannot afford to lose. With very little effort, I can re-run the Ansible "playbook", and an identical serer will be created within a couple hours. This is a concept called immutable infrastructure. If there is something wrong with the server, it makes more sense to simply replace it rather than reconfigure or repair it.
......
......@@ -3,6 +3,7 @@ date: 2018-04-27
title: How to install the Mainline Kernel on Enterprise Linux 7 the Easy Way
description: Installing a newer kernel on RHEL/CentOS systems using ELRepo to get better driver support and performance.
---
## How to install the Mainline Kernel on Enterprise Linux 7 the Easy Way
Red Hat Enterprise Linux and CentOS, which is based off of RHEL source code are known for their stability. They are supported for a very long time (10+ years), and other than backporting security fixes, very little actually changes in each point release. For various reasons, you may want to install a newer kernel than the one built by Red Hat. This could be due to better driver support, performance increases, etc. [ELRepo](https://elrepo.org/tiki/tiki-index.php) is a project that provides hardware-related packages and newer kernels that are compatible with enterprise Linux distributions. As part of building out my site and running enterprise Linux distributions on my own hardware, I install their kernel-ml package. Unfortunately, on a headless system this is a little bit painful, since GRUB likes to default to the version that was previously booted, so even after a reboot you won't see the new kernel applied. I also wanted to perform this operation in a "one line" automated fashion via Ansible, and needed to keep it simple for the sake of making it easy to do.
......
......@@ -3,6 +3,7 @@ date: 2018-04-27
title: Install Google Web Fonts on your Linux or macOS Machine
description: Installing Google's collection of web fonts on your local machine using a simple script.
---
## Install Google Web Fonts on your Linux or macOS Machine
Google provides a very nice collection of fonts called [Google Fonts](https://fonts.google.com/), with [a repository on GitHub](https://github.com/google/fonts). While looking for fonts to use for personal document creation, I stumbled upon a project called [Web-Font-Load by Quinton Pike](https://github.com/qrpike/Web-Font-Load). I decided to test it out, and it easily installed the collection on my machine. I noticed though that the project had several install/uninstall files that were platform specific. I ended up rewriting the installation script to be common to multiple Linux distributions as well as macOS and committing the changes via [a pull request to the upstream repository](https://github.com/qrpike/Web-Font-Load/pull/22). After the changes that I made, it is now possible to simply run a single command, regardless of your platform, and the fonts will be installed:
......
......@@ -3,6 +3,7 @@ date: 2018-04-27
title: I've Learned My Lesson and I'm Using LaTeX Now
description: Transitioning from Google Docs to LaTeX for creating professional résumés with better formatting and version control.
---
## I've Learned My Lesson and I'm Using LaTeX Now
For _years_, I've been using a simple [Google Docs](https://www.google.com/docs/about/) document for my résumé. This has proven to be adequate to land me my current position at IBM, but it comes with some obvious drawbacks. For starters, Google Docs is not the most open format, and while you can certainly export to multiple document formats, it's far from ideal. It lacks lots of customization options. Complex formatting, like having plenty of fonts, consistent styles, spacing, and margins is also tricky, having to use the mouse to drag and drop everything to format the document to your liking.
......
......@@ -3,6 +3,7 @@ date: 2018-04-27
title: Rapidly Setting Up My Linux Desktop Using a Makefile
description: Using a Makefile to automate system setup and configuration when switching between Linux distributions.
---
## Rapidly Setting Up My Linux Desktop Using a Makefile
I'll admit it, I'm obsessed with being an early adopter of technology and I switch between Linux distributions frequently. Before Ubuntu 18.04 came out (it was just released on April 26th), I decided to test it out around the end of March, just a month before it's official release date. There's just one issue with that: it wasn't the final version. Breakage can often happen when testing out a pre-release Linux distibution. For instance, a simply `sudo apt update; sudo apt full-upgrade` can cripple a system with a bad package, resulting in a reinstall. I stumbled upon a [Makefile by Julius Beckmann](https://gist.github.com/h4cc/c54d3944cb555f32ffdf25a5fa1f2602#file-makefile) that can be run on a new Ubuntu system and immediately saw the benefit of such an approach. I can reinstall as many times as I like, and so long as I set up the commands correctly, I can have a system configured exactly how I like it within an hour. I can even run a specific make target on its own in order to install a certain set of programs or updates without rerunning the whole script. I decided to fork it, creating [my own Ubuntu Makefile repository](https://github.com/dylanmtaylor/dylan-ubuntu-makefile), adding many packages, and removing things I do not need.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment