Software Ninja

The Software Ninja is a professional software developer. Here are some books I find interesting and useful.

My Photo
Name: Matthew O. Smith
Location: Utah, United States

While continuing to provide for his family as a computer programmer, Matt has been studying marriage and relationships for many years. He is the author of the soon to be released book: Ferocious Flirting: Making Marriage Wonderful. He is also available for speaking to groups on keeping the romance going in marriage. Feel free to email me with comments, questions or suggestions.

Wednesday, August 27, 2008

cygwin makes like better

I use cygwin a lot and emacs a lot. As I was recovering my machine, I came across this great list of useful ideas which includes:


Useful Tidbits

1. You may want to disable your virus checker when running the Cygwin installer. Don't forget to re-enable it when you're finished installing.
2. If you are planning on installing CERN's Root, I recommend going to the 3.4.4.3 version. Root 5.14 (or later?) should be immediately compatible with this release. You may have to build the earlier versions from sources.
3. Cygwin doesn't like it if there is a space in your Windows username. If you have a space, do the following after installing Cygwin:
* Edit /etc/passwd (using either emacs, vi, or even Windows Wordpad)
* Find your entry (it will start with your windows username)
* Take the space out of your username (1st entry) and your home directory (2nd to last entry).
* Quit all Cygwin
* Use Windows Explorer to rename your home directory (C:\cygwin\home\cplager in my case)
4. Cygwin doesn't like spaces in directories. To have access to my program files, I created a 'mount point':
cygwin> mount -f -s -b "c:/Program Files" "/mount/programfiles"
You only need to run this command once.
5. To make access easier to my documents and the decktop, I made the following soft links in my home directory
cygwin> ln -s 'C:/Documents and Settings/cplager/Desktop' Desktop
cygwin> ln -s 'C:/Documents and Settings/cplager/My Documents' Documents


I also like to use rxvt instead of the standard console. The command line looks like this: C:\cygwin\bin\rxvt.exe -sl 1500 -fn "Lucida Console-12" -bg black -fg grey -sr -e bash --login -i

Friday, July 25, 2008

Color Design Blog / As Seen By The Color Blind by COLOURlovers

The Americans with Disabilities Act helps ensure that web sites are accessible to people with special needs. Having a friend and co-worker who is deaf has made me more aware of the issues involved. For example, a deaf user will need closed-captions or transcripts of video.
Most of the requirements are not difficult to implement, just hard to remember and to test. We are seeking tools that automate testing to help us identify problems.

I have another friend who is color blind and while it is not a disability, software developers need to be aware of some of the problems that can be caused by color blind users.

A common design is to use color to distinguish a good state versus an alert state. The obvious choice is to use green for a happy state and red to show some error. While doing this, keep in mind that some percentage of your users will not be able to distinguish between red and green. The simple solution is to change something else in the text such as a little stop sign icon.

Anyway, checkout this page for some ideas on being more aware of your color blind users.

Color Design Blog / As Seen By The Color Blind by COLOURlovers: "In the U.S. 7% of the male population – or about 10.5 million men – and 0.4% of the female population either cannot distinguish red from green, or see red and green differently. Color blindness affects a significant amount of the population"

Tuesday, July 15, 2008

Quote Details: Rick Cook: Programming today is a... - The Quotations Page

Of course this does not apply to my users all of whom are most ingenious.

Quote Details: Rick Cook: Programming today is a... - The Quotations Page: "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
Rick Cook, The Wizardry Compiled"

Wednesday, June 25, 2008

Joda Time - Java date and time API - Home

Josh Bloch mentioned this as being the basis for the new Date JSR. I had never heard of it.

Joda Time - Java date and time API - Home: "Joda-Time provides a quality replacement for the Java date and time classes. The design allows for multiple calendar systems, while still providing a simple API. The 'default' calendar is the ISO8601 standard which is used by XML. The Gregorian, Julian, Buddhist, Coptic, Ethiopic and Islamic systems are also included, and we welcome further additions. Supporting classes include time zone, duration, format and parsing."

Josh Bloch: How To Design A Good API and Why it Matters

I saw this over at DZone and found it important enough to share. At the end Josh references a handout.

Monday, June 16, 2008

Spread Firefox | Download Day 2008

I think I can help with this world record.

Spread Firefox | Download Day 2008: "Set a Guinness World Record
Enjoy a Better Web

Sounds like a good deal, right? All you have to do is get Firefox 3 during Download Day to help set the record for most software downloads in 24 hours - it’s that easy. We're not asking you to swallow a sword or to balance 30 spoons on your face, although that would be kind of awesome.

The official date for the launch of Firefox 3 is June 17, 2008. Join our community and this effort by pledging today"

Tuesday, May 13, 2008

Smash Mouth @ Java One 2008

Here is a video of Smash Mouth at JavaOne 2008. Be sure and check out 1:15 into the video. I am in the frame, guess which one I am.

Thanks to Arun for posting the video.