Programming Like Jesus

We did a guest post over at Churchm.ag you should check out. Here is a link to the full post and below is a snippet:

During my days as a Computer Engineering student in my undergrad, I struggled with the idea of how to use my gifts for the glory of God. This career seemed like a far cry from the holy office of being a pastor or the humbling life of serving as a missionary to African orphans. Of course, I planned to give a generous portion of my healthy salary to the local Church, but I wanted to utilize my gifts directly for Him.

I actually found a few fun ways of turning code into references of Scripture. My favorite is the 1 Thessalonians 5:17 C++ code and posted in my programming lab. while(true) { cout << “Pray. “; }

While fun to be creative, it did little to benefit God’s people and Kingdom.

How can I program like Jesus?

Code With Integrity

I know a lot of programmers that love the coding life. Wake up at 11AM, write some code till noon, play XBox 360 for 3 hours, program til 6PM, and then bill the client for 8 hours of work. The greed behind these actions do not reflect the love of Christ and if found out, you could lose the respect from friends and clients.

Future Web Design Changes

Over the course of the last two weeks of this year, we here at seventy8 Productions hope to have a couple of new design changes, just in time for the new year. The design has shown to have some flaws in it that we need to take care of as soon as possible. This holiday break provides the perfect opportunity to do just that.

Here is a list of what we hope to change in that short amount of time.

  • Improved Categories. The type of categories we had worked for the first year of ministry, but over the course of the last 12 months, we have noticed a solid pattern in what we like to write about and are able to have first-level categories and subcategories of each. The hope is that we reduce the number of tags used and improve on the navigation of this website.
  • Stronger Portfolio Section. Right now, we have a very basic portfolio plugin that we created that needs some severe beefing up, including incorporating WordPress’s new media uploader, tagging, and downloading of free files. Along with these changes, we hope to enmesh that plugin with the posts, thus every time we upload a new item to the portfolio, it will auto-generate a new post.
  • Improved Homepage CSS. The homepage looks fairly good right now, but I foresee a much better layout and structure for this website that I hope adds significant amounts to this website’s appeal.
  • Better RSS Integration. Currently, the RSS feed is not working well at all. We appear to have found a bug that WordPress is denying exists in that our feed only displays the excerpt and we have no current solution. Thus a little bit of research and elbow grease will be needed for that one.
  • Solid Homepage Slider. In the spring of this year, we had a fairly strong slider running on the homepage. Somewhere along the way, a plugin has had conflicts with it and it simply stopped working. The hope is to have it up and running again in no time.
  • Frontpage Excerpts. We currently show the full article on the homepage of the website, which has its ups and downs. The benefit is that people are more willing to read more of our articles at one time. At the same time, people only have to come the website to read the newest posts on our blog, instead of having to take that extra click that may make some simply leave the website because of their online ADHD. The bad part is that if you simply read the articles and do not click them to visit, we do not get an accurate read on who is reading what. Instead, we see that 200 people viewed our homepage and a couple of people viewed individual posts. At the same time, we will be able to show more posts on the homepage increasing it from four to ten.

If you know anything about WordPress and have any easy solutions for any of these problems, we would love the assistance. Otherwise, let us know what you think of the changes as they go live!

Youth Ministry and Coding

We did a guest post over at Churchm.ag you should check out. Here is a link to the full post and below is a snippet:

Some of the best Christian business practices in youth ministry do not make someone money at all. We can be creating new products while teaching teenagers how to develop skills and not making any money off what is created. One of the ways we have done this at seventy8productions is teaching teenagers how to program in creating actual products. Teenagers can learn how to learn great program concepts for business models, learn useful skills, and they may able to use them to make money in college and maybe actually create careers out of these interactions. Yet, the products themselves will never ask ago for sale.

This school year, we have been interacting with a couple of students on how to write WordPress plugins. It started with coming up with a strategy, then teaching him PHP and MySQL instructions, and finally showing them the WordPress framework. We gave them a WordPress plugin request, showed them the details of what we wanted, and asked them to come up with it. Obviously this is a time-intensive process as we need to field their questions, guild them as we go along, and allow them to figure out the programming dilemmas themselves that we could spot a mile away. But eventually they contributed amazing material and we came away with some amazing stuff.

Here is the process we went through:

  1. Plugin Request: Create a youth ministry games WordPress plugin that allows registered people to submit games for review by administrators. All accepted games will be displayed to everyone via a browse link, top 100, and that will be searchable in the future.
  2. Viable Structure: We needed to thoroughly construct the database elements, how the WordPress admin will look, and what kinds of ways we will want to filter the games.
  3. Execution of Code: We started with creating the databases with all of the elements. From there, we created the administration aspect, including how to approval/disapprove game submissions, edit the, and delete some. Then we created the user display and added the proper filters to sort through a possibly huge database.
  4. Wishlist: When finished with the base product, we came up with five items that we would like to see in the 2.0 version. Should we ever revisit it, these will be the aspects we focus on later.

Blogging Tip: Categories vs. Tags

We did a guest post over at Churchm.ag you should check out. Here is a link to the full post and below is a snippet:

One of the dilemmas when you start a new blog is whether you should use categories, tags or both to organize content. Both are good options when used properly, but categories are necessary. Then you have the daunting task, before getting too far into blogging, of deciding what categories you will write about. When you actually start to write a post, you have to figure out what tags would be appropriate for this article.

Categories and tagging are one of the foundational aspects of blogging, guiding, connecting, and informing the viewer to the content they want to see. In the blogging universe, this has become the standard for navigation within a blog of hundreds or thousands of posts. WordPress is on the front lines of blogging software and has very successfully integrated categories and tagging to create the perfect network for professional and amateur bloggers. Yet, many people do not quite know how to use them as effectively as they should be.

One of the first things to remember is that categories and tags are to help the user. Sometimes bloggers get so caught up in wanting to make sure everything is nicely organized that it becomes too complex or confusing. We need to keep the viewer at the forefront of our blog layout. Also, you can always display both categories and tags with a single post so that it networks that post with similar posts. But you should note that only categories should be used as the general navigation for a blog.

5 Free WordPress Plugins I Could Not Live Without

We did a guest post over at Churchm.ag you should check out. Here is a link to the full post and below is a snippet:

One of the best aspects of WordPress is how easy it is to customize your website and the community of developers that have invested time into creating a great product along with complimentary themes and plugins. However you want to utilize WordPress, blogging or eCommerce, there is a plugin for it.

Here is a list of the top five free plugins that are essential to any great WordPress website that you should check out. Each of these have been utilized for several months and many have been compared to similar plugins and found to be the best of the bunch.

Disqus Comment System

One of the premiere commenting plugin systems that provides a great design layout as well as integrating well into WordPress. It is a quick and simple install that has become popular on my blogging circles and improved community discussion for many bloggers. With a great comment management system and always necessary avatar implementation, it is a definite improvement from the WordPress setup.

The future remains promising for this plugin. They have a very active developer base that quickly upgrades their plugin when a new WordPress update comes out. At the same time, a new feature called Disqus Ranks is currently in beta, available to premium members, and will soon roll out to free users as well. The hopes is that it will reward frequent and quality comments from visitors.

Improving The WordPress’ Digg Digg Plugin Design

We did a guest post over at Churchm.ag you should check out. Here is a link to the full post and below is a snippet:

One of the top WordPress plugins available right now is the Digg Digg plugin. With its customizable social media integration into your website and the flexible positioning, it is becoming one of the most used plugins. But the best aspect that makes it worth getting immediately is the option to allow it to float on the right or left side of your website. This allows the social media buttons to always be present to your viewers and has the potential to significantly improve traffic to your site.

Yet, even with its great compatibility and marketing design, the look of the widget is only average. Fortunately, they encourage users to stylize the widget so that it is seamless with your web design. We will show you one great way to incorporate a CSS3 design technique to better integrate the Digg Digg plugin into your website.

To access the plugin’s editable CSS code, login to your website, click on the ‘Digg Digg’ button in the administration menu and select ‘Floating Display’. Assuming that this display is enabled, you have configured where this menu would be displayed, and the position of it in relationship to your content on the page, we can move down to ’5.1 Initial Position’. In the textbox, add the following code within #dd_ajax_float { }.

Make Your Own Customized WordPress Page Templates

We did a guest post over at Churchm.ag you should check out. Here is a link to the full post and below is a snippet:

WordPress is a powerful platform to use, making it the most utilized blogging platform. One of the aspects that make it such a popular and customizable program is the custom page template. Page templates are custom files that will be put in your theme directory. When finished, you will be able to create a new page for your WordPress site and set the layout to your customized template. This can turn any ordinary page on your website from a simple page of content into a dynamic webpage.

We will take a look at how to setup a page template file and add it to the page you created. But what the page template actually does is up to you. Maybe you will display a photo album from last month’s Church potluck or create a page that displays all of the free files you have ever uploaded onto your website.

The new WordPress default theme, TwentyEleven, actually has two page templates in its install: Sidebar Template and Showcase Template.

Writing A WordPress Plugin : 05 Deleting and Activating

At this point, we have a semi-functioning WordPress plugin that could do something if we created a “customer” storefront. But without being able to update (activate and deactivate games) or delete them, this thing would be very limited in its functionality. Let’s move forward and be able to make some changes to our plugin.

As noted before, we will not be covering the general aspects of how to write PHP code or work with MySQL. To learn MySQL, you can get tutorials online and in printed form. To learn PHP, you can find resources online and in printed form here. Great free tools to use to write code (known as “Integrated Development Environments” or IDEs) are Komodo (for OS X) and NetBeans (for Windows).

Deleting and Activating The Data

Difficulty: Easy
Completion Time: 1-2 hour
What We Will Be Using: PHP, WordPress Platform, MySQL

Creating The Links To Activating Games
Yesterday, we looked at using the POST method for adding a game to the library which is perfect for using that form, but the GET method is going to what we use to activate/deactivate games and delete them. Let’s look at the code to build a link to activate or deactivate a game.

if($game_status == 0 || $game_status == 1){ // Status of the game is currently pending or inactive
echo "activate";
}
if($game_status == 2){ // Status of the game is currently active
echo"deactivate";
}

There are three things to note in this logic: we use the status of the game to decide if we need to activate or deactivate the game, we are using the “action=activate” to define what information the page will be receiving, and the game_id which will define which game we are activating or deactivating. These links will be posted and in the games_options() when we display all the games, giving the administrator full control over what the user experiences.

Updating The Database
To actually update the database, we will need to collect the information from the URL by posting the following code before you display the data, outside of the foreach loop and update the database:

if($_GET["action"] == "activate"){
$sql = "UPDATE " . $table_name . " SET `status` = 2 WHERE id = " . $_GET["id"];
$results = $wpdb->query($sql);
echo "

Game Activated.

“;
}
if($_GET["action"] == “deactivate”){
$sql = “UPDATE ” . $table_name . ” SET `status` = 0 WHERE id = ” . $_GET["id"];
$results = $wpdb->query($sql);
echo ”

Game Deactivated.

“;
}

This IF statement is situational and simply updates the status of the game depending on what the action needs.

Implementing The Delete Function
The delete action is very similar to the activate/deactivate action, except there is no IF statement. Here is the link to delete a game, it should be placed right after the activate/deactivate link:

echo " - delete

“;

Note that we did not close the cell in the activate/deactivate IF statement because this includes the delete link afterwards. Now for receiving the code:

if($_GET["action"] == "delete"){
$sql = "DELETE FROM " . $table_name . " WHERE id = " . $_GET["id"];
$results = $wpdb->query($sql);
echo "

Game Deleted.

“;
}

Super simple code that goes after the activate/deactivate retrieving code. And that is it! We are one more step closer to a complete plugin. A few more steps and we will have a fully functioning administration side for our plugin.

Rethinking Discipleship : Relational Discipleship

Over the past three weeks, I have shared a how-to for “Writing A WordPress Plugin” series with readers who are curious on who to approach creating something for their website. While it is fun being creative and using both sides of my brain for this task, the real project served a much different purpose. The past two months, I have met up with a student from my youth group, teaching him how to program this WordPress plugin.

The past year has been hard for him. He has had to make some decisions that were contrary to what his mother wanted him to make and he stood up for what he believed was right. Because of this, he has lived on his own and struggling through school. So I kicked up a relationship with and found out that he wants to go get a degree in programming to make video games. My undergraduate degree in Computer Engineering has since come in handy.

While he is probably loving the new skills that I am teaching him, in the back of my mind are the questions that I want to ask:

  • How is school going?
  • Have you talked to your mom lately?
  • What’s going on this weekend?
  • Anything tough going on right now?
  • Need to vent about anything?
  • Are you getting enough sleep and eating three square meals?
  • How are you doing to get into that college?

So, I hope that these skills get him into college or get him a job on campus or simply get him a free meal at McDonald’s while I teach him a bit about making a WordPress. There is no “spiritual” talk or have you read the Bible now. Instead, I am building the relationship with him, hearing his heart on some of the probing questions, and just hanging out with him.

So how do you approach relational discipleship?