I recently moved my blog over to WordPress which you can read all about here. I went through some of the reasons for moving to the WordPress Platform but not much about the infrastructure changes that I made so I would like to do that here. My old website was being run on a VPS server with ColdFusion 10 installed. I was getting really tired of paying $35/month for just that site (that I was rarely using) and my charity event site so I decided it was time for a change. I started looking around at affordable cloud hosting and stumbled upon Digital Ocean. What I really liked about them was just how easy it was to provision a new instance, how inexpensive it was and the 1 click application installations. I am starting a WordPress site for our Non Profit company here in Cleveland called CLE Cares so I would like to use this post to you walk you through that setup.
What is “The Cloud”?
Before we get into the setup we should talk a little bit about “The Cloud” and then where Digital Ocean comes in. “The Cloud” is a hot buzz word that a lot of us throw around but have a hard time explaining. I’ll admit that while I have a general understanding of the different use cases for the cloud and how they work, I am by far no expert. The term “The Cloud” in its simplest form is just a network or remote servers that can be accessed via the internet. The Cloud is used for so many things today and you might be using it now and not even realize it.
- Companies like Google, Microsoft and Adobe are using it to host software. Long are the days of actually installing software, instead we run these services virtually.
- When you like a facebook post or picture on Instagram that data is saved to the cloud.
- My iPhone backs up most of my data to Apple’s iCloud.
- Some online backups take advantage of cloud as it offers a powerful solution.
- Hosting a web site or application.
I am still pretty new to WordPress so when something like this happens I tend to freak out. I recently logged into my WordPress admin and noticed that 2 plugins needed to be updated. I selected both plugins and clicked update. The update went through its normal cycle and when it was done it redirected me to the clean, plain and boring white page you see below.
I didn’t think much of it and just refreshed the page, still nothing. I then went into Chrome Dev Tools and deleted all of the cookies so it would kill my session. This time I finally got my login screen back so I logged in and still nothing. I was officially now starting to freak out.
After doing a little research and asking for help on Twitter it turns out that this is a little more common than I would of thought. If a change to a theme or plugin causes an error in WordPress you will end up with this “Blank Admin Panel” and there happens to be a really easy way to fix this. For me I knew the last 2 plugins I updated that were probably the cause of this. I backed up my remote files and logged into FTP and deleted both of them. Once I did this I was able to login again and this time I have everything load up just fine. Again this could be caused by changes to a theme or plugin so its not a bad idea to make a backup before updating either of these.
I really love my Apple TV and today it just got a little better. I want to talk about the update but before we get to what came out today I want to speak a little bit about how I use my Apple TV. I have been on the hunt to cut the cord (Cable TV) for a couple years now and maybe that is a discussion for another time but this was one of my purchases that I would hope push me in that direction. Apple TV has a ton of applications and I am not going to claim to use all of them but here are a few applications I use and what I love about them.
iTunes Moves & TV Shows
I have iTunes on my iPhone, Macbook, PC and soon to be purchased iPad. So purchasing content through iTunes and building my digital library to share across devices is great. Ill be honest and say that I use to find media another way (I won’t get into specifics) but now I enjoy getting all of my media through iTunes. I don’t buy any albums/songs these days because I use Spotify for all of my music but for Movies and TV shows iTunes is pretty awesome.
I wanted to take a minute here and point out an awesome resource for anyone in the Grails world. Even If you’re just playing around with Groovy & Grails I think you should make this a weekly read. Jacob Mikkelsen is the author of the Grails Diary and does an amazing job with it. You can usually find this blog post every Monday over at his blog. The Grails Diary runs down any major announcements from the week, presentations, blog posts, plugins and any Tweets related to Grails. I can only imagine how much work he puts into this every week so Thank You Jacob for all of your hard work.
If you haven’t noticed yet I moved my blog over to WordPress. Creating a new WordPress site was incredibly easy and I found it stupid simple to add functionality through plugins. I plan on talking about those plugins over the next few days but for now lets focus on comments.
With the different platforms I was looking at the one thing I did like was that they all supported Disqus comments. I really like the Disqus platform and the idea of handing off my comments to them was intriguing. I also liked the look of everything and the ability to have nested comments. If I ever want to leave they don’t hold you hostage and you can easily export your data out.
So I have this shiny new toy that I get to play with and I am finding out all kinds of cool things I can do with it. Tonight I want to talk to you about Twitter Cards. First lets look at a quick description from Twitter.
With Twitter Cards, you can attach rich photos, videos and media experience to Tweets that drive traffic to your website. Simply add a few lines of HTML to your webpage, and users who Tweet links to your content will have a “Card” added to the Tweet that’s visible to all of their followers.
If you look at the Twitter timeline you may see posts that have a link to view summary
The Jetpack plugin for WordPress is really awesome. I will need to create another entry just to cover all of the things that it can do. In this entry though I want to focus on short links feature. If you go into Jetpack > Settings and activate wp.me you will now have a Get Shortlink button on your posts. This short code will look something like http://wp.me/p5qmOf-mV. This makes it much easier to paste links on Social Media. If you use the publicize plugin from Jetpack it actually uses that shor tlink when it auto posts to your social media accounts.
I just wanted to share a presentation that I came across with everyone. This presentation is from JavaOne 2014 and was given by Venkat Subramaniam. If you have worked in Java before and are new to Groovy you should give this a watch. Here is a quick description about the presentation and the link is below.
I have become stagnant over the past year when it comes to writing and it is something that I have missed dearly. I think part of my problem was that I got bored with my old site. It was really hard to change the theme and I just didn’t make any effort to update the admin UI to my liking. With that said I need to take a second and send a big shout out to Ray Camden and anyone who has ever worked on BlogCFC. It was a great product and I have used it for a little over 9 years now. It was one of the first open source projects I got excited about, installed it on my own server and hacked around with. Blogging was a really big reason I got so involved with the ColdFusion community and met so many great people and I really think it all started with BlogCFC.
A coworker and I were debugging some old code yesterday and couldn’t believe what we came across. Say you have a component and and in a method for whatever reason you were using cfinvoke to call another method. In this case we have a variable called foo.result set to true. When this is passed to the method doSomething else what would you expect the value to be?
<cffunction name="test" access="public">
<cfset var foo.result = true>
<cfinvokeargument name="bar" value=foo.result>
<cffunction name="doSomethingElse" access="public">
<cfargument name="bar" required="no" default="false">
If you said true you and I are on the same page, but that isn’t the case. It turns out if you leaves the quotes off it will not try and evaluate the variable and just accepts it as a string so the result is…