I recently read about this nifty new real-time syntax highlighter: zsh-syntax-highlighting. It looked like it would be pretty handy so I decided to try it out for a couple of weeks.

It is a bit too colorful out of the box

Too many things are highlighted by default for my tastes. Every correctly typed command, every file name, and every globbing character is highlighted in one way or another. I was especially unhappy with the underlined path names.

Some highlighting is really awesome

I may not like all the extra noise but there are a few things that I'm finding to be very useful. Highlighting a misspelled command in red is very nice. It is nice to catch typos before trying to execute a command.

Highlighting reserved words should be pretty helpful. I use one-liner for loops all the time but I'm very good at leaving out the do. Highlighting makes that slightly more obvious but I sure with the done would highlight red if it didn't match a do. It does match pairs of brackets, though, so maybe I can get in the habit of using those instead of old bash-isms...

It also does a good job of quote highlighting. That will probably help me catch mismatched and unescaped quotes pretty easy.

Customizing colors when using oh-my-zsh

I had a bit of trouble here. I tried setting the color variables in a file in my ~/.oh-my-zsh/custom directory while loading zsh-syntax-highlighting as a plugin from my ~/.oh-my-zsh/plugins directory. When I did this it was acting like the colors were not already defined. I thought this was a bit strange because oh-my-zsh loads plugins before it runs anything in ~/.oh-my-zsh/custom.

I didn't investigate this very heavily. I just moved zsh-syntax-highlighting into my custom directory and loaded it manually.

Here's what my zsh-syntax-highlighting configuration looks like:

ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets)

source $ZSH/custom/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

ZSH_HIGHLIGHT_STYLES[default]=none
ZSH_HIGHLIGHT_STYLES[unknown-token]=fg=red,bold
ZSH_HIGHLIGHT_STYLES[reserved-word]=fg=green
ZSH_HIGHLIGHT_STYLES[alias]=none
ZSH_HIGHLIGHT_STYLES[builtin]=none
ZSH_HIGHLIGHT_STYLES[function]=none
ZSH_HIGHLIGHT_STYLES[command]=none
ZSH_HIGHLIGHT_STYLES[precommand]=none
ZSH_HIGHLIGHT_STYLES[commandseparator]=none
ZSH_HIGHLIGHT_STYLES[hashed-command]=none
ZSH_HIGHLIGHT_STYLES[path]=none
ZSH_HIGHLIGHT_STYLES[globbing]=none
ZSH_HIGHLIGHT_STYLES[history-expansion]=fg=blue
ZSH_HIGHLIGHT_STYLES[single-hyphen-option]=none
ZSH_HIGHLIGHT_STYLES[double-hyphen-option]=none
ZSH_HIGHLIGHT_STYLES[back-quoted-argument]=none
ZSH_HIGHLIGHT_STYLES[single-quoted-argument]=fg=yellow
ZSH_HIGHLIGHT_STYLES[double-quoted-argument]=fg=yellow
ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]=fg=cyan
ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]=fg=cyan
ZSH_HIGHLIGHT_STYLES[assign]=none

Most of what I did was remove colors.

Last January, or maybe a little while before then, I decided to set a small goal for myself and my arcade cabinet. I wanted to buy at least one native game for the arcade table each month.

I've written about some of these games already, but I haven't managed to get to all of them yet. I figured that since it has been about a year since I set my goal that it might be a good time to look back over the last twelve months or so and see how I made out.

The list of games, nearly in order of purchase

There's also a few games that I'm pretty excited about, but I'm traveling right now it will be a while before I can install them on the arcade cabinet. I'm hopeful that they'll all fit in very nicely there:

  • Super Meat Boy (blog, home)
  • Jamestown (blog, home)
  • Bit.Trip Runner (blog, home)
  • Shank (blog, home)
  • Cave Story+ (blog, home)

If my arcade table happened to have a different controller layout, then I'd be able to add a few more games to the list:

  • Droid Assault (blog, home)
  • Ultratron (blog, home)
  • Scoregasm (blog, home)
  • The Binding of Isaac (blog, home)

Those are just the handful of twin stick shooters that I already own, and they would all be playable if I had built an upright arcade cabinet.

Are bundles considered cheating?

I've listed over 16 indie games I purchased for the arcade table during 2011. The majority of them were part of various Humble Bundles. If I'm counting actual individual transactions then the count is closer to eight.

At least two of the Humble Bundles that I bought didn't include any games that I could use on the arcade cabinet and most of them came with duplicates... So I'm just going to split the difference and say that I did reasonably well last year.

Plans and hopes for 2012

The last couples games I was waiting patiently for were Super Meat Boy and Voxatron. I don't really have any specific games in mind that I'm waiting for next year.

I'd really like to get caught up with writing about the rest of last year's games. I'm already at least a half dozen games behind. I'll end up a full year behind by 2013 if I don't work harder!

Another game from the Humble Voxatron Debut, this is an exciting bundle for my arcade cabinet! There are so many great games that fit quite well on an arcade cabinet: Voxatron, Gish, Blocks that Matter, and Jasper's Journey.

Blocks That Matter

Blocks That Matter is a fun little puzzle-platformer from Swing Swing Submarine. I haven't had a chance to get too deep into the game yet. I hope this isn't a spoiler, but I'm up to the level where I have to out run the giant blob guy that is chasing me.

The puzzling aspect seemed pretty simple, but I have a feeling that I'm being deceived... I think there's already been two little secret boxes that I haven't figured out how to get to already. In the game you are a little robot, the Tetrobot. He is able to collect blocks of various materials (wood, sand, rock, etc) by drilling through them or bashing them a few times with his head. He is able to place down groups of four blocks in shapes much like Tetris pieces.

Some of the blocks, such as rocks, can support their own weight. Other blocks, like sand, will fall if they are not supported by another block or wall.

The controls

Blocks That Matter has my favorite kind of controls: every single thing in the game can be done with the keyboard. No mouse required for anything at all. That makes it so easy to drop it onto an arcade cabinet. All that was required was mapping my controller buttons to the correct keys.

I forgot to record a video...

... So all I have is this lousy picture:

I am cheating a little bit this time... I haven't even played Voxatron on my arcade cabinet yet because the replacement power supply hasn't arrived yet. The Humble Voxatron Debut will only be running for about two weeks, so I figured I should write about it sooner rather than later!

The controls

Voxatron is a neat little 3D platform shooter) will map very easily to the arcade controls. It uses the arrow keys for movement, z to jump, and x to shoot. The only other keys that need to be mapped will be enter and escape, for moving around the menus.

The game

Voxatron is a neat little 3D platform shooter. It feels a bit like Robotron with the addition of jumping. I've only played through a few levels, so I haven't seen much of the game yet. I'm (impatiently) waiting to play it with the arcade controls!

The blocky retro-style graphics look awesome. I especially like that the little light guy's head lights up when he is shooting. Voxatron will definitely be a welcomed addition to the growing collection of modern games on my arcade cabinet.

Update 2011-11-11: It is actually on the cabinet now!

The cabinet is back up and running and Voxatron looks amazing on there! I was very impatient and ended up playing through the whole "adventure" mode on my laptop long before the replacement parts for the arcade cabinet arrived. I know now that it much easier to handle the hold-button-to-lock-shooting-direction control setup with the arcade controls than it is with the keyboard!

A low quality camera phone video (sorry!)

I'm sorry the video is so dark and washed out. One of these days I'll find a better camera. Maybe I'll even talk someone into helping me record the videos!

I've been out of town for most of the last four months. One of the first things I did after "docking" my laptop was fire up the arcade cabinet. It booted right up and I was very happy and relieved to see that none of the hard drives had died while I was away.

I store a copy of my Duplicity backups on my arcade cabinet (it is also my home file server), so I kicked off my script that rsyncs the backups on my laptop over to the arcade cabinet. Less than a minute later, I hear the drives and fans in the arcade cabinet spin down...

I scratched my head, walked back over, and turned it back on. This time it shut off about half way through the boot sequence. I got down on my back and crawled underneath. I felt like I was checking to make sure the oil filter on my DSM was snug (I'd had mine come loose before, the spindle screwed into the oil cooler could be problematic).

While I was looking up into the guts, I hit the power button. Things were pretty dark from that angle, and I didn't think to bring a flash light. I touched the CPU fan, it was spinning. I touched the power supply fan... It was not spinning.

At least it is an easy problem, just a dead power supply fan. I'm not surprised that it died, this power supply is probably over four years old by now.

The silver lining

My good friend Brian gave me one of his old video cards: an NVIDIA GeForce GTS 240. This card is a massive upgrade over the arcade cabinet's current NVidia GeForce 6200LE, and tons more horsepower than I'm going to need. The dead power supply is lacking the 6 pin PCIe power connector required by the new card.

I ordered a new power supply. It should be here in a few of days. I'll just have to survive without my home file server for a little while. This is so much better than coming home to a dead hard drive, or worse, TWO dead hard drives...

Update 2011-11-02:

The power supply arrived, but it didn't fix the problem... It powered up for a minute or two and then shut itself down. I crawled underneath the cabinet again and started poking at things with my finger and noticed that the CPU heat sink was wobbling:

The little nub that holds the heat sink clip snapped off. I ordered a new bracket, so now I get to wait again.

I got to take a look at the old power supply now that it is out of the case. It actually has two fans, but I couldn't see the second without removing the monitor. I tested it out by shorting pins 15 and 16 to start up the power supply. Both fans started right up.

I clearly remember sticking a "non conductive instrument" (aka a cheap ball point pen). I don't recall hearing the usual "THWAP, THWAP, THWAP" sound that usually occurs when you do that with a spinning fan. I'm starting to think that I should be questioning my sanity!

Archives