M-x Kelsin

A Hacking Blog

Git Home Directory

This is just a quicky but I had to setup a new laptop and remembered how easy it is to install a new git home directory into a clean Mac OS X home directory. I’m using the Mac OS X git binaries gotten from http://code.google.com/p/git-osx-installer/downloads/list?can=3 (also linked from the main git site).

From my home directory on the new mac:

git init

git remote add origin username@repo

git config branch.master.remote origin

git config branch.master.merge refs/heads/master

git pull

Obviously replace the username@repo with your home directory repository. For me I get no conflicts at the moment. Not sure what would happen if there are conflicts, but it’s nice that git just adds the new files and any files that are the same just stay. Pretty awesome.

New Office

[gallery link=”file” columns=”2”]

So the office move is done and I love my new cube area. The desk is very simple but nice. The rollout drawer thingy with the cushion top is great for when people come by to work on stuff. I feel like I have more desk space so I brought in all of my programming books. The desk behind my chair is a shared space for me and the new programmer once he starts. There is a book shelf on the end of it as well. I’m trying to push for a mini-fridge to go beneath it but we’ll see how that turns out!

Speeding Up Raids

The one thing I do think I do well is keep people moving during raids. From the first Karazhan runs I started leading I got a reputation for being very impatient and speed oriented. This wasn’t a goal but I think some usefull tips did come from this.

1) Loot takes FOREVER. Anything you can do to speed this up is good. I’ve trained my tanks currently to run to the next trash and start pulling as soon as enough people are there to take the pull. People move to trash when they don’t want something and wait by the body otherwise.

My guild also uses a Suicide Kings queue so no need to spend time bidding. Pieces that lots of people want are the quickest. Anything you can do to speed up loot will help a lot. If you know only one or two people can use a certain item blatantly ask them (provided your loot system of course) if they want it. This could speed up the process a lot.

2) Explaining bosses is normally the next biggest time waste. When you are running an instance with 80-90% people that have done it before, make the new people read strats ahead of time. Don’t waste time explaining. Explain the fight during the trash up to the boss even. Tell them to whisper someone of the same role. As a raid leader you know who your great players are, so make sure to tell the new people to whisper them with questions. Sometimes I even start at the good player: “Hey, can you tell so and so about the next fight while we pull trash.”

3) Chain pulling. Once your players get used to this you can pull FAST. Never have a tank not pulling something. That’s the rule. When the offtank is free of his current mob have him pull the next group. Seriously. This rule clearly doesn’t apply when trash is hard or new, and your tanks have to be smart. But seriously the only time they shouldn’t pull is if ALL healers have NO mana. Healers will learn very quickly how to sneak drinks in between pulls and mana shouldn’t be an issue. Once you’re good at an instance healers barely go out of mana anyway. Use cooldowns like innervate and stuff when you need to as well. Even as a kitty druid in raids I would just pull stuff to keep the pace up. Once trash is easy treat it as such and don’t waste time on it.

4) AFK’s. Let people AFK whenever. Trash is easy. Make sure people know that you DO NOT want an AFK right before a boss or during boss attempts. Make sure they whisper an officer and of course if too many want to afk at once (especially all of the healers) make sure they go in spurts instead of all at once. AFK’s shouldn’t slow down the raid at all. They don’t need to if you do them right. If you let people take an AFK right before every boss fight? That will slow down the raid a ton.

5) Ready checks. The official /readycheck should be the ONLY ready check needed. Never say stuff like “Is everyone ready?” That only wastes time. Ready check forces a quick answer which is what you need. Asking vocally will only confuse people and make the answer back be very slow. Also asking questions like “Any questions” is better cause a few seconds of silence should be the answer. Waiting for positives takes forever, waiting for the 1 or 2 possible negative is much faster.

Honestly for our raids I follow these guildlines all the time. Even on new stuff. Our raids ussually are very efficient. Steps 1 and 2 are the ones that are saved till later on. When we were ready to finally do Naxx in one 3 hour clear steps 1 and 2 are what brought us under the 3 hour mark. The night you stop taking a long time on loot and boss explanations is the night your raiding time drops dramatically.

Wedding Rings

We traveled up to Maine today to visit Linda Clifford’s store. Trip was long but we succeeded in the purpose which was to have Caitlin and I pick out our wedding rings.

Caitlin's RingChris's Ring

Hopefully you can guess which one is for me and which is Caitlin’s. I wanted something to match her choice and she had seen this one on the website a while ago and figured it was the one she wanted. So we dipped into the wedding account and placed our order. Now it’s going to be made (over in Ireland) and then we’ll pay the rest and have them ship them to us after that.

Luckily I didn’t leave empty handed:

New Hat

Rails App Templates

I finally got around to creating a ruby app template. Of course my recent ruby work is not centered around creating new apps but I’m still glad I did it. Will save my some time!

You can read more about app templates or what a great screencast about them at other places. I don’t want to just repeat what others have already said but basically I created one so far and put it up on my github account.

The one question I have is about running this on a server without the haml gem already installed. I don’t really want it to try and install the gem in my home directory so we’ll see how that works out next time I have to do it. For now on my current linode it sets up a new rails project pretty nicely for my needs.

The one other interesting aspect of my template is my config system that I just wrote. It’s only two lines and it’s heavily stealing from other blogs. I never really had a good app config system and I don’t really want to use a plugin so I quickly wrote my own. It basically supports one config file (config/config.yml) and lets you setup default settings and then override / add to the defaults with per environment settings as well. For my wow raiding site this is working pretty well.

Here is the initializer file (config/initializers/config.rb):


CONFIG = YAML.load_file("#{RAILS_ROOT}/config/config.yml") || {}

CONFIG = (CONFIG['default'] || {}).symbolize_keys.merge((CONFIG[RAILS_ENV] || {}).symbolize_keys)

And my config.yml file from my raid site. This site uses a development environment (all defaults) and then two different production environments since I run the site for two different guilds. You can see how the “dota” environment inherits the auth setting while the “cod” environment adds a forum setting that I use when using phpbb authentication.


default:

  guild: Your Guild

  auth: login



cod:

  guild: Cake or Death

  forum: http://forum.cakeordeath-guild.com

  auth: phpbb



dota:

  guild: Daughters of the Alliance

Pretty simple and now I don’t even have to do anything to new rails projects to use it!