Music that Inspired me This Week

There’s been a lot of writing to be had from these fingers this past week! I’m so happy with how things have been turning out and am happy to say that the second installment of Spiral Jackals should be ready in time for tomorrow. I’ve been revisiting my music library and have found many of my old sources of inspiration, and thought I’d share a few with you. So, without further ado, here are some music videos for songs that helped particularly well this week (some of it I never would have expected to draw inspiration from, either):

Covenant – We Want Revolution

Vangelis – Tears in Rain

Hybrid – Dreaming Your Dreams

VNV Nation – Testament

Benny Benassi – Love is Gonna Save Us

This is but a small sampling of what goes through my eardrums throughout a given day, and is definitely not an exhaustive list!

I think Blade Runner is calling my name again.

What music inspires you?

Spiral Jackal #1

The first installment of my serialized novel is now available to read!

“Birthday”

74 Quick Sleep, 2087

There was no sense of time for them, other than the fact that Corina was born on the day of the incursion. Kenton smiled as he looked upon his youngest daughter, the youngest in their roving band of survivors. She was covered in dirt and debris, as was everybody else. Among the dirtiness, there were flowers woven throughout her long, strawberry-blonde curls that framed her freckled face. Flowers were rare to come by these days and had become a sort of symbol of freedom and innocence. Something everybody had lost when the monsters came. Happy birthday, little Princess, he thought and with a sigh, turned around and walked through the broken department store window and onto the strip of rubble that had once been a road.

Read more on Fictionaut: Spiral Jackal #1

A New Beginning, or Something

Ginger Hartsook liked this post

Well, it has officially been 2012 for four days now. In that time I’ve managed to delete my website database while backing it up (hint: don’t do it while tired). If there is anything I learned in 2011, it is that you just need to take what comes at you and leave the experiences with the positives in mind. You know, learn from your mistakes and move on. So while it is certainly sad that I have lost a lot of data, I’m going to take this as a sort of “blessing in disguise” – a fresh start to this year and to my site.

This year will be a good one. I know this because I am going to make it better than last year, and while there’s a lot of amazing transformations that happened last year, I’m setting the bar higher for myself. This is the year for ambition and making large strides toward my overall life goals. This is the year of inspiration in art and faith.

Some highlights of 2011:

  • Entered into a wonderful relationship with one of the most amazing ladies I’ve ever known
  • Became an Ubuntu Member after a few years of feeling I wouldn’t make it
  • Maintained and created new friendships
  • Moved into an apartment with one of my best friends.
  • Revived PaleHorse Gaming
  • Did a lot of self-discovery
  • Became better with audio software and creating music.
  • Expelled from my mind into a note pad many a great idea for writing and gaming!
  • Became a Game Master for a pen and paper roleplay game
  • Started work on the Creative Commons Adaptive RolePlay System
  • …and a ton more

Goodbye, 2011. Hello 2012! What did you accomplish in 2011 and what do you want to get done in this coming year?

Some Project Plugging!

I am moving scrib‘s bugs, blueprints, and the like over to the scrib Launchpad page. There has been a higher demand on our server resources and as such, I am offloading some projects and making better use of the tools we are given by other parties (such as Launchpad). With that said, there are going to be some other changes around here. Any help would be appreciated!

Speaking of help, the Whube Developers could use some help on some of their projects! There’s room for all kind of people, be it Python or PHP programmers, documentation writers, or graphic designers. The two main projects right now are Whubetrack, an “anything tracker” written in PHP, and Syn, a package management system for Linux, written in Python.

There’s also a really awesome group, the Synthetic Intellect Institute, which are working on some great artificial intelligence and natural language projects, and I’m sure they would love to have more help!

Eight Tips for Developers

These should be no-brainers, but sometimes we developers overlook these ‘little’ things. While this concise little list is directed toward developers, it can be applied to just about anything, including our daily lives.

  1. Whatever time frame you give for a project, add a few more days/hours to it. You will need it.
  2. If it is broken, just fix it. “Making it better” and “fixing it” are two different things.
  3. When you are not in a position to plan a project, make sure to track everything you do, whether it be in a project tracker or a spreadsheet. You’ll thank yourself later.
  4. Make sure that parts of a project are ordered in a high-to-low priority list, or you may find yourself with Lots of Gadgets but no working application.
  5. Identify your time wasters (you know, like Facebook) and limit your time utilizing these while working.
  6. Be sure to get some rest and relaxation! A tired brain nets poor results.
  7. Ask for advice and help when you need it. Don’t beat yourself up over something when you can get help.
  8. Last but not least: if it is not broken, be suspicious.

Hope you have a great Monday!

Role Badges for Vanilla 2

We just recently posted the initial version of a plugin we are working on for the Vanilla 2 forum software. RoleBadges shows a list of badges based on the user’s roles in a forum post. As of right now, it does not tell you what roles the images represent. That is, however, going to be in the next update.

You can see it in action over at our Scoundrels Minecraft forum.

Using CouchDB With PHP

One of the things that is being done with our project, Scrib, is building it to use CouchDB as the back-end database. The data we’ll be storing is more suited to a ‘document-style’ database rather than relational, like MySQL (here’s some pros and cons of CouchDB vs. MySQL). One of the great bonuses is that it uses a RESTful HTTP-API, which means that all of the data is accessible via HTTP requests. It also uses JSON for data transfer and storage. This makes it relatively easy to create a web-interface as the data is in a format that is not defined (like XML) and can easily be parsed.

While Scrib is utilizing it through Python, the web interface is going to be built using a mixture of HTML, JavaScript, CSS and PHP.

Utilizing PHP on Couch

For this part of the project we are going to use PHP on Couch, a PHP wrapper class to make things easy.

Most of the time CouchDB is already installed inside Linux (Debian-based distros, at least). In Ubuntu you can install it via “sudo apt-get install couchdb” (those of you who are using MacOSX or Windows, you can find respective packages here and here.)

Here’s an example of how easy it is to use CouchDB inside PHP:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
require_once 'couch.php';
require_once 'couchClient.php';
require_once 'couchDocument.php';

// The default port for CouchDB is 5984. Let's connect to it!
$client = new couchClient('http://path.to.server:5984','db_name');

// A quick test to see if our connection works:
// Connect to our database:
$doc = new couchDocument($client);

// Creating a document and adding in the first entry
$doc->set(array('_id'=>'UristMcMiner','name'=>'McMiner','firstname'=>'Urist'));

// Some quick tests
echo $doc->firstname . " " . $doc->name ; // should echo "Urist McMiner"
echo "<br/>"; // This will make a new line.
echo $doc->_id; // This would echo "UristMcMiner"

// This would change the document property of "name" to "McFarmer"
// and store the updated document in the database.
$doc->name = "McFarmer";

echo $doc->firstname . " " . $doc->name ; // should echo "Urist McFarmer"
?>

Install ScummVM From Daily Build in Ubuntu

A friend of mine asked me how to install ScummVM from a daily build. Since I myself had not done this before, I thought I would write a little tutorial. For those who do not know (and who do not necessarily want to click the link above), ScummVM is “an implementation of LucasArts SCUMM interpreter”.

Requirements

First, we must clear any requirements that ScummVM needs in order to build. Luckily, there are only a few required dependencies: SDL 1.2.x and build-essential which are both in the Ubuntu repositories. The rest of the optional requirements are (as of Ubuntu 10.04) already installed. These are:

  • flac: required to play compressed games without quality loss
  • libmad: libmad is for playing mp3-compressed games
  • libogg and libvorbis: to play OGG-Vorbis-compressed games
  • libmpeg2: some games use re-recoded cutscenes

One thing I always do when setting up my environment to build an application is make sure that the dependencies are installed, whether or not I think they are:

$ sudo apt-get install build-essential libsdl1.2-dev libsdl1.2debian flac libmad0 libogg0 libvorbis0a libmpeg2-4

The line above will install the required dependency as well as the optional dependencies if they are not available. If you do not want to install one of the optional dependencies, do not add its name into the list.

Source Files

We are now ready to grab the latest sources for ScummVM. They are available from this website. Download the newest source, which generally shows up first on the list. Make sure you download from the “Source” column. For this tutorial, I decided to move the downloaded file from my Downloads to ~/Desktop/tmp/

After this is downloaded, extract it to an empty folder. When the extraction is complete, you should have a scummvm folder with its contents. To extract via the Terminal (file name will be different for you):

$ bunzip2 scummvm-20100727.bz2
$ tar -xvf scummvm-20100727.tar
$ cd scummvm

You will notice that the above shows us changing the directory (cd) to the newly unarchived folder. From here we will want to make sure that our machine has everything needed for building. We do this by running the configure file. If this completes successfully, we will then run make to compile, and make install to install the application on our system.

(If you do not want to install this, you can still run it from this folder with ./scummvm. You won’t need to do the “&& make install”)

$ ./configure
$ sudo make && make install

After this is complete, you should be able to now run scummvm. If you run into any problems, please let me know and I will do what I can to help you.

Installing 32-bit Arch Linux Inside 64-bit

Arch Linux is a great Linux distribution for those who wish to install a minimal setup and configure their system just the way they want. Coming from a Debian-based distribution (Ubuntu), I have learned that installing 32-bit applications is not as easy as downloading the ia32-lib package.

The first time I downloaded 32-bit libraries inside Arch Linux, I figured out that they can overwrite or modify existing files. After refreshing my install, I set about for a better way to run 32-bit programs. What I found was a wiki entry inside the ArchWiki. After going through the steps a few times, I decided to create a script that would automate the steps to make installing it again less cumbersome.

Since the process can be a bit intimidating for people less acquainted with Linux and the use of the terminal, I have made my script available for download. Let me know how it works for you!

Binaries: Speed Bumps for Server Admins

Setting up an IRC server is pretty simple as long as you make sure to read the man pages and any other information given (especially the INSTALL file). Of course, that doesn’t really work all that well when you go about things the way I did initially.

Photo by Forest & Kim StarrI first started researching different IRC daemons to use in Ubuntu Server, and settled upon one. Finding that there was already a binary for it inside the Ubuntu repository, I decided to go that route. Quick and easy, yeah? IRC set up painlessly and after a quick configuring of the ircd.conf, I thought everything was dandy. I logged in and queried NickServ to register my nick, only to find there was no such nickname or channel. Looking this up, I realized I needed to set up some Services. I found the package I wanted to use and set about configuring it for use. I got it to set up and everything was a-okay, except for the fact that I could not get global operator working.

Now, the server is internal and does not need a global operator, so that wasn’t too big of a deal. Deciding to go with a passworded server instead of going through and configuring ChanServ to manage things, though, seemed to be a rather big deal. The binary I was using does not have ssl enabled, which means I have to compile everything from source.

This is the way I originally was going to do it until I let the temptation of using a binary overpower me. From this I have learned that if you are going to do something super specific with an application, do not install a binary. It is one of those common sense no-brainers which we are susceptible to once in a while, especially when we have become used to installing applications from binaries. All I can do is shake my head and laugh. After all, it is a learning experience isn’t it? It is just another one of those “trust your first instinct” things that I ignored.

So, if you are going to be installing applications to a workstation or server, make sure you that the binary will do everything you want it to, otherwise you are going to end up having to take several steps back, configure, and compile from source. What are your speed bumps?