Chimeric Dream

My multi-faceted reverie

Archive for the ‘Uncategorized’ Category

About Bill: student

Among other things, I am a student. I am attending the University of Kansas (where I also work as a web developer) and majoring in Computer Science. I have always been infatuated with computers, and aside from music, there were few other likely paths for me to go down.

When I first attended KU, I did indeed start out as a music major, but when I came back I decided to change tracks. At the time, I had been working for KU as a web developer for just under a year. Taking that into consideration, and assuming I was to continue working as a developer, I decided to pursue a degree in Computer Science. As of this writing (Fall 2011), I have managed to get admitted to the School of Engineering, raise my GPA by more than a full grade point, and complete the first half of my degree. With a couple years to go, I have a lot of tough times ahead of me, but every class I take gets me closer to my goal.

Concert tonight!

Today’s prompt for the NaBloPoMo challenge was kind of lame, so I will just write a short little ditty for you.

As you may or may not know, I sing with an a cappella group at KU called Genuine Imitation. We have our first major concert of the year this evening in Woodruff Auditorium in the KS Union. If you aren’t familiar with the KU campus, I am including a link to a map below.

The concert is free, and you’ll get to hear a bunch of awesome music, including Moves Like Jagger, three girls rapping to Look at Me Now, and more!

Be there!

Map
Facebook event

Second big race recap

It’s been a couple of weeks, but I thought I’d put up a quick recap of my second half-marathon. On October 15th, I ran in the Waddell and Reed Kansas City Marathon, and to be honest… it sucked. Hard.

I have barely trained the past few months, and it definitely felt like it. I finished the race in 3:22:44, which is a little over a 15min/mile pace. It’s not the slowest I have been in my life, but certainly not fast.

But to put things in a better light, here is another way of thinking of it. I ran 13.1 miles. Regardless of how fast or slow I was, I finished a really long race (if you are an ultrarunner, keep your trap shut), which is not something most people can say.

Be positive… that’s my goal, and if I can keep running and finishing races (regardless of how long it takes me), I think I’ll be OK.

Last meal and friends

I can hear it now: “Two posts in one day?! What insanity is this?” But hey, that’s what I get for trying to restart some of the things that make me happy.

The second prompt for National Blog Posting Month is:

If you knew your next meal would be your last, what would it be?

It’s hard to go wrong with a good dish of spaghetti. Maybe I’ll post my recipe at some point, but I make an awesome spaghetti sauce (in my own humble opinion).

More importantly, though, would be who I would want to eat with. I would want to see my friends and family, and a big spaghetti dinner with everyone sounds like fun. Get some salad and breadsticks or garlic bread in there… You know, I think I see an opportunity to knock out number 14 on my 30 by 30 list. Who’s up for a dinner party around Thanksgiving? I know turkey-day itself is a no go, but how about sometime that week?

I’ll bring the awesome-sauce, someone else bring the garlic cheese toast and caesar salad. Yum!

What do you like about writing?

I’d like to try out the NaBloPoMo challenge. In case that looks like gibberish to you, it stands for “National Blog Posting Month”. Basically the idea is that you write a blog post every day in November. It coincides with NaNoWriMo, which is short for “National Novel Writing Month”. In the latter, the idea is to write a novel (50,000 words or more) in the month of November. That comes down to about 1,700 words per day, which is a lot. I think for my level of availability, NaBloPoMo is more achievable. There’s no minimum length for a blog post, and I can write more than one at a time and queue them up.

One thing that also helps is the fact that there are prompts to help out with NaBloPoMo. Someone asks a question, and you answer it with a blog post&emdash;simple enough.

Here is the first prompt (posting a day late because I just found out about this last night):

What is your favorite part about writing?

For this I don’t really have a good answer. I enjoy creativity in general, and writing is a relatively new (to me) way of expressing myself. I have ambitions of writing stories, books, and all of those things one day, but for now I just enjoy writing on my blog as an outlet to communicate my life with my friends and family.

Been awhile… confessions

It’s been awhile since I posted. For those who don’t know, this semester has not been very kind to me, and it’s been everything I can do just to keep up. But in an effort to get myself back on track, I’m putting myself out there and trying to come clean. I don’t expect this to be a happy post, but hopefully it will be a cathartic one, or at least start me down that path.


One of the things I have been learning about this semester includes a rubric for working with a group. Specifically, part of the process is a “retrospective” in which you and your team answer three questions:

  1. What are we doing that we should stop doing?
  2. What are we doing that we should continue doing?
  3. What are we not doing that we should start doing?

Since that format seems to work for what I want to do, here goes.

What am I doing that I should stop doing?

Worrying about what has already happened.
The past couple weeks have been pretty low times for me. Unfortunately, I missed more class than I should have. But at this point, I can’t go back and attend the classes, so I need to stop fretting over what’s done and look to what I can do about it now.
Self-pity
Simply put, having my own little pity parties doesn’t do me (or anyone around me) any good. I don’t expect to ever break this habit entirely, just because I know myself and have never been the most confident person, but I need to work on it.
Shutting people out
Most notably Becca, my fianceé, but also my closest friends and family. They are there for me when I need them most, and I need to realize that.

What am I doing that I should continue doing?

Keep pressing the Engineering Dept. regarding my misconduct appeal.
If you aren’t in the loop, here is the short version of the story: someone cheated off my test in one of my classes. Now I am being accused of academic misconduct and have to prove that I was not a willing (or even aware) participant. I hope the people in the Engineering Department are getting tired of me, because I have been pestering them regularly trying to move the process along. I am tired of waiting at their pace.
Therapy
I started seeing a therapist recently, and it could be a good thing for me to have someone like that to talk to on a regular basis.
Cry
As hard as can be to let go sometimes, a good cry really can make a difference. (And I’m not afraid to admit that I do it.)

What am I not doing that I should (re)start doing?

Study
I have never been good at studying. But it’s time for me to start setting aside time every day to read or work on homework. It won’t be fun, it won’t be easy, and I will come up with every reason not to do it, but it’s necessary if I want to make it through this semester (and the rest of my time in school) with halfway decent grades.
Be spontaneous
I’m not going to lie; the stress of the past few months has put a huge strain on my relationship with Becca. She has been infinitely patient with me, and she deserves to have some of “the old me” back.
Manage my time
It should be obvious by the fact that I am writing this after 2:00am, but I haven’t been the best keeper of my time lately. I need to focus more on tasks at hand and less on distractions if I am going to be successful with all of this.
Write more
I miss writing, even though I’m not the greatest at it. I plan to try the NaBloPoMo challenge, but Becca, school, and work take priority. I like my blog and want to post, but I have to be realistic in the goals I set for myself.
Run
Along with writing, this is something I have done very little of this semester, and it shows. I have gained back much of the weight I lost earlier this year, and my runs, when I go out, are slower than I was (and I was never fast, believe me). I doubt I will be able to run 3-4 days per week as long as I have 4 classes and work, but getting in at least 1-2 runs should be an attainable goal.

I know these lists aren’t complete, but they are a start. I don’t plan to add to the lists (other than in my head), but I wanted to get things out of my head as a start. Isn’t admitting you have a problem one of those “steps” somewhere?

This is not going to be easy for me, and I know it hasn’t been easy on my friends. To all of you who have lent me your ears for me to vent/talk to or your shoulders to cry on, I thank you. I know that I couldn’t have gotten as far as I can (in anything) without the help of the people around me. I hope you will continue to help me as I try to turn things around over the next few weeks and months.

And now, it’s time to go to bed.

Warrior Disappointment

So after paying $50 (each), waiting more than six months, and driving 50 miles, Becca and I arrived at the location of the Warrior Dash this afternoon. Nick and Emily were there as well, as was my friend Jacob from the Swingsters.

However, the Dash was canceled… at least all of the heats after 1:30pm were canceled. This included all of our heats. Granted, they canceled the last few waves because the temperature was so high, which is a valid reason (safety first, after all). But that doesn’t change the fact that I spent so much time and energy looking forward to this only to be let down at the last minute.

So after looking forward to this for months, we got a t-shirt and a promise of a refund.

I’m really disappointed right now. I know Becca is as well, and I’m sure that Nick and Emily are right there with us, and the 2,000 other people who didn’t get to run today.

It sucks.

Creating a Git feature branch after the fact

Yesterday, I posted on how to contribute to a project that uses Git. But what if you forgot the last step in that process? What if you started working, making multiple commits, and never created a feature branch for your code? In that case, you would have been committing to the master branch of the repository: a big no-no.

However, all is not lost! You can go back in time, create your feature branch, and move all of your commits over to it from the master branch with only a few commands.


The first two pieces of information you will need are the SHA hashes (basically the commit IDs) for the last commit you made and the last commit before you want your feature branch to start. Note that the earlier commit should be the commit just before the first one of your new branch.

With those two hashes in hand, here are the git commands to move all of your commits over to a new feature branch.

git branch branchname sha_of_starting_commit
git checkout branchname
git cherry-pick sha_of_starting_commit...sha_of_ending_commit
git checkout master
git reset --hard sha_of_starting_commit
git checkout branchname

Here is a breakdown of what’s going on above.

git branch branchname sha_of_starting_commit
git checkout branchname

First, we create a new feature branch at the point just before we started making all of our commits. Then switch to it.

git cherry-pick sha_of_starting_commit...sha_of_ending_commit

Here is where the magic happens. In the feature branch, we want to copy all of the commits starting just before our first one (i.e. the point we branched from) through the most recent commit. The “…” here is important! It tells Git to include—in order—all of the commits between the two hashes you specified. This is especially handy if you have made dozens (or hundreds, but I really hope you caught yourself before then) of commits before realizing you needed to branch.

git checkout master
git reset --hard sha_of_starting_commit
git checkout branchname

The last batch of commands switch you back to the master branch, reset the code there to the point from which you branched, and re-checkout your feature branch so that you can continue your work.

That’s it! With 6 lines of Git commands and a little initial legwork to look up two SHA hashes, you can easily create a feature branch after the fact.


Have you ever done this? Let me know your horror stories in the comments. Or, if you have suggestions, I’ll take those too!

Working on someone else’s application

In the first of what will probably be many posts that are useful for few beyond myself, here is a bit of information that has come in handy more than once for me. If it helps someone else out there, awesome.

Before I begin, I want to state that I am not, by any stretch of the imagination, an expert on Symfony or Git. In fact, I am barely a beginner. That said, I have a really good team at work who I can go to with dumb questions whenever I get stuck. Here are a few useful things they have given me for working on someone else’s code.


Note: These instructions assume that you have already set up your local git repository and have forked the code you want to work on. If you haven’t, there are a number of resources out there for setting up a new Git repository that go into more detail and are better than what I could write.


First things first: you need to update your Git repository to the latest version. The following line assumes that the master repository maintained by the project lead is called “upstream”. If yours is different, change it accordingly.

git pull upstream master

Next, check the commit logs for any important notes that may affect what you are going to be working on. You can either use git log for this, or use a program such as GitX on Mac or gitextensions on Windows. (Side note: I have used GitX a bit, and it is what other devs on my team recommend; I have not used gitextensions.)

The third step in this process is to check for any sub-modules being used by the project. Many smaller projects will not have sub-modules, but if yours does, the following two commands will update the list of sub-modules in the .gitmodules file and update them automagically:

git submodule init
git submodule update

The final step in the setup process only applies if you are working on a Symfony application. As I stated before, I am not a Symfony expert, so check the documentation for your project before running the following command. I am not responsible if your stuff breaks! This command tells Symfony to rebuild the database and populate it with any data that should be there upon start. This is a destructive process, but sets up the database so that it is in its “new” state for development.

php symfony doctrine:build --all --and-load

Now you’re ready to begin development on your feature branch! You did create a feature branch, right? If you didn’t, here’s how:

git checkout -b branchname

The above command creates a branch called “branchname” and switches to it. Now you can start coding!


What did you think? I realize that these posts will most likely help me more than anyone else, but I am always interested in feedback. Did I get something horribly wrong above? Do you have a different or better way of doing it? Let me know in the comments.

Now I’m afraid of photocopiers…

I’m not really afraid of copiers, of course, but after seeing this I started to wonder how many people photocopy personal documents in places like Office Depot, Office Max, and the like? This goes far beyond companies copying business documents. Since the news cast was from a year ago, hopefully companies have started taking measures to prevent this sort of thing happening in the future.

Just insane how easy it is to steal someone’s identity.

Thanks to my Dad for sending this to me.