New site features - YouTube videos, albums, and sheet music!
Posted by Kaleb Brasee on Sunday, November 1st, 2015 at 10:11 PM

I have added new features to brasee.com, available on the menu at the top of the page.

  • Videos: a list of my weekly YouTube videos, updated as soon as a new video is available.
  • Albums: a list of all my albums with links to iTunes, Amazon Music, and Google Play Music.
  • Sheet music: sheet music for several of the hymns I've uploaded to YouTube.

Every week I upload a new YouTube video, and albums and sheet music will be added as I can get them done.

Check this website or subscribe to my YouTube channel to find out when new songs, albums or sheet music is available. And if you'd like to make a request, just contact me to let me know!

Delegate, Collaborate, Document, and Build to Last.
Posted by Kaleb Brasee on Tuesday, August 16th, 2011 at 11:58 PM
A while ago I saw this link on programmers.stackoverflow.com. It says that striving to "always be dispensable" is a wise career decision for programmers, and has a net benefit for all parties involved. I found this to be profound and have adopted it as my programming mantra.

"Delegate, collaborate, document, and build to last."
How to fix the CSS border bug in IE8
Posted by Kaleb Brasee on Saturday, October 30th, 2010 at 12:08 PM
I ran into a problem where the CSS border property wasn't showing up on several HTML elements in Internet Explorer 8. I wanted a border-bottom to appear on hover, but it wouldn't display. Firefox and other browsers worked correctly.

The trick was to add position: relative to the associated CSS definition. Here's how I got the border to show up on hover:
.category_item_title a {
	text-decoration:  none;
	color: #3C2517;

.category_item_title a:hover {
	border-bottom: 4px dotted #3C2518;
	position: relative; /* ADDED THIS! */
Once I added position: relative on hover, it displayed perfectly. Why? I have no idea. But it works, and I am happy.
How-To: Using MySQL JNDI in Grails 1.3.3 + Tomcat 6
Posted by Kaleb Brasee on Thursday, August 19th, 2010 at 10:48 PM
Since Grails 1.3.3 has a known defect where database connections get closed when using the default software connection pool, I decided to set up my Grails app (http://www.wysiap.com) to use MySQL through a JNDI data source configured in Tomcat. I thought it would be simple, but it turned out to be a challenge to get it working for both the development server (running from the workspace) and the production server.

But eventually I did! Here's how I got both Grails + Tomcat + a JNDI data source working in both the development and production environments...
Wysiap.com is live!
Posted by Kaleb Brasee on Monday, August 9th, 2010 at 08:34 PM
My new project is up and running at www.wysiap.com! Here you may ask and answer the question, "Would you superpower if arbitrary penalty?" You choose the superpower and the penalty. The goal is to come up with a superpower and penalty so evenly balanced that it's impossible to say yes or no.

I started this project primarily to learn Groovy and Grails, and I've been more-than-pleasantly surprised at just how awesome it is to work with! Groovy eliminates a lot of Java's verbosity, and Grails conventions and plugins make development much faster. Plus, it's still possible to fall back on Java and it's many libraries if necessary.
"why's (poignant) guide to ruby" is the best language intro EVER
Posted by Kaleb Brasee on Sunday, November 29th, 2009 at 07:59 PM
I just started taking a look at the programming language Ruby a few days ago -- it's become big enough (or has loud enough fanbois) to get my attention. From what I've seen it actually looks pretty good, I'm going to work at it for a while.

Anyways, I was looking for a good introduction to the language. Any oh boy did I find it, in "why's (poignant) guide to ruby". It's not just a plain-English, straightforward, fantastic introduction to Ruby. It is also by far the most entertaining technical writing I have ever read. So funny! I was hooked from the beginning page, and the cartoon foxes are absolutely killing me.

Cartoon Foxes and their Chunky Bacon

If the language is half as fun as this introduction, I'll probably switch over to it exclusively, dynamic typing and all.
Multiplayer Ajax chess for Java released!
Posted by Kaleb Brasee on Friday, September 25th, 2009 at 10:30 PM
Brasee.com Games Ajax chess After nearly 6 months, the first multiplayer version of java-chess-web (version 0.3.0) has been released. It now offers multiplayer support for Ajax chess games and a lobby for players to chat, and view and join games. It is full Ajax, requiring nothing but a standard browser to play. It also retains the existing ability for both players to play in a single browser.

This Ajax chess game is implemented in Java 6 and runs on a Tomcat 6 server. Most of the client-side magic is made possible by jQuery, the excellent Javascript library. Complete source code is available at http://code.google.com/p/java-chess-web. It has been a lot of fun designing and implementing this release of java-chess-web.

There are still some known issues -- the Ajax polling can occasionally experience some issues (such as requiring a user to refresh in order to join a game, or seeing duplicate lines in a chat window). These issues wouldn't exist if java-chess-web had been implemented using a Comet Ajax design, which is something I realized too late to switch. I'll probably get around to correcting these issues someday, but it's going to move to the back burner for a while as I learn Scala and Lift. Maybe I'll just reimplement the whole application in Scala/Lift to compare it to Java/Spring MVC.
Adding Glassfish server support in Eclipse 3.5
Posted by Kaleb Brasee on Wednesday, July 15th, 2009 at 08:32 PM
I downloaded Eclipse 3.5 (Galileo) the other night, and just went to install the server adapter for Glassfish. It's not built in, so I clicked 'Download additional server adapters' and tried to the Glassfish v2.1 and v3 adapters. No dice! I got a 'No repository found containing: osgi.bundle' error.

So I did some searching and found this post, which says to add the Glassfish plugin the normal way from http://ajax.dev.java.net/eclipse. For those unaware on how to do that, these are the steps:
  1. In Eclipse 3.5, click Help menu, then Install new software...
  2. Click the Add... button.
  3. Paste http://ajax.dev.java.net/eclipse in the location text box, then click OK.
  4. When the search is complete, the Glassfish JEE5/JEE6 adapter will show up first in the list. Click the checkbox, the click Next.
  5. Click Next again, then Finish, and restart Eclipse when the adapter is installed.
You'll now have the Glassfish adapters available for v2.1 and v3 in Eclipse 3.5.
Book Review: "The Art and Science of Finishing Last"
Posted by Kaleb Brasee on Saturday, June 20th, 2009 at 02:03 PM
The Art and Science of Finishing Last cover In "The Art and Science of Finishing Last," Jakeb Brasee has unified the 2 seemingly-incompatible desires of today's young-ish men — being a ninja and being nice to girls — and managed to do this in 218 pages filled with:
  • biblical wisdom
  • relevant quotes from sources ranging from C.S. Lewis to Star Wars: Knights of the Old Republic
  • a series of missions for a shadow-gentleman in training, exercising both "Being-A-Ninja" skills and "Being-Nice-to-Girls" skills
  • some of the funniest sentences and paragraphs of all time.
The basic premise of this book is the bible verse 1 Timothy 5:12: "Treat younger women with all purity, as you would your own sisters." Many either don't know this verse, or don't know exactly how to live it out. "The Art and Science of Finishing Last" explains how to do this, first by giving an overview of a young man's duties concerning his sisters-in-Christ, then by detailing these duties in 4 major sections:
  • Serve - being truly useful to sisters-in-Christ
  • Protect - guarding, protecting and freeing sisters-in-Christ
  • Affirm - assuring sisters-in-Christ of their worthiness and beauty in God's eyes
  • Lead - "setting a tone for holiness and helping her become who she was born to be"
Each section is divided into a dozen or more lessons, offering sound advice on different aspects of both caring for sisters-in-Christ (and being a ninja at the same time, of course). In addition, each section has a set of missions to carry out that improve skills in both areas.

"The Art and Science of Finishing Last" is available for purchase on a number of sites including Amazon, Barnes & Noble, and Jakeb Brasee's very own Ninja Gentleman blog. It is a fantastic book, one that I highly recommend for any Christian brother who wants to treat his sisters-in-Christ as God wants him to treat them... and who also wants to be a ninja.
Brasee.com Games preview - Ajax chess
Posted by Kaleb Brasee on Monday, May 25th, 2009 at 09:38 PM
Brasee.com Games Ajax chess For the past month I've been working on implementing a chess rules engine in Java. I started it just to improve my TDD skills, but when I finished the engine it only seemed logical to create a way to actually use the code to do something a little more fun than running unit tests.

So I decided to write an Ajax interface for the chess engine. Today I finished the first iteration (human vs. human on the same computer), and it is available as a preview at:

Ajax chess on Brasee.com Games

The source code is also available at http://code.google.com/p/java-chess-web.

I still don't have the web app checked in yet, I'll work on getting that up in the next week or two when I get it cleaned up and generalized.

For the next iteration, I'm planning on adding a basic lobby system and making this game playable between people over the web. Yeah I know, big goals for a single iteration in a spare time project, LOL. After that, if I'm feeling really adventurous, I might try to implement some basic chess artificial intelligance. I'll no doubt have to brush up on my min-maxing and alpha-beta pruning, and figure out the best way to implement it in Java.
« Older posts