watch this  

the official mrchucho blog

Hitting the High Notes

Posted 2005 Jul 26

I know, I know: I haven’t posed in months, but this article at Joel Spolsky’s site inspired me… unfortunately it also made me hang my head with sadness…

Joel hit the nail on the head denouncing the “conventional wisdom” that says “the most important thing is reducing the cost of programmers.” I have certainly seen my fair share of failed attempts at commoditizing programmers.

I had one minor disagreement with Joel:

Sadly, this doesn’t really apply in non-product software development. Internal, in-house software is rarely important enough to justify hiring rock stars. Nobody hires Dolly Parton to sing at weddings. That’s why the most satisfying careers, if you’re a software developer, are at actual software companies, not doing IT for some bank.

While there’s certainly less glory working in the IT shop of a non-software company, Good developers are still important. No one would disagree that the reverse of Joel’s statement is true: poor programmers can still sink a business.

Lastly, I think there is a corollary to the statement:

Or, roughly speaking, if you try to skimp on programmers, you’ll make crappy software, and you won’t even save that much money.

If you don’t properly utilize the programmers you do have (i.e. overburdening them, mis-applying their skills, putting them in roles better suited for other people), you will “make crappy software”. Where, in this case, “make crappy software” means incurring undue costs either in development, maintenance or support. And I think this phenomena is much more common in a non-software company where developers usually just get lumped into “IT”.

comments (0)

Multi-line Strings in Java

Posted 2005 Jun 01
One big annoyance with Java is the lack of any way to use multi-line strings like a HERE document. No doubt Java is often used to query a database, yet a developer has to take a SQL statement and re-write it with “s and +s, like so:
<pre><code>
select sysdate
from dual
</code>
becomes
<pre><code>
String sql =
"select sysdate "+
"from dual";
</code>
Don’t forget the extra spaces! This is fine until your SQL statement becomes larger (which it will). While searching for a better way to handle this, I came upon the bug report at Sun for this issue. Here is Sun’s response to this issue:

This is yet another request for a syntactic sugar to save some user from typing. It’s not worth it.

Wow. Thanks for the understanding… No wonder people are looking for alternatives. Even Groovy supports Python-style multi-line strings! One possibility I found is Java+, a pre-processor. It integrates well with Ant and does its job, but source-code management becomes complicated—especially if you’re using an IDE.

If Sun finally broke down and added printf, the least it could do is consider adding multi-line strings.

comments (0)

Spotlight

Posted 2005 May 25

I’ve developed a small application for integrating Spotlight and iChat called Buddy Spotlight. O’Reilly has more on the power of Spotlight in another article in their series on Tiger.

The focus is mostly on searching with Spotlight. While, this is certainly where Spotlight excels, I find myself using it day-to-day as a launcher.

Though I use the Weather widget everyday, I’ve generally been underwhelmed by Dashboard. Spotlight on the other hand is pretty amazing.

comments (0)

Buddy Spotlight: iChat Spotlight Integration

Posted 2005 May 15

Announcing Buddy Spotlight the first iChat Spotlight integration! Use Buddy Spotlight to find and chat with your iChat buddies via Spotlight. When a buddy comes online, his or her screen name will become available in Spotlight. As buddies become unavailable or go away, their screen names will disappear from Spotlight. Selecting a buddy from Spotlight will start a conversation in iChat with that buddy.

Currently, Buddy Spotlight is a stand-alone application. In the next version it will most likely be an automatic “background” process ala Growl and accessible via System Preferences or perhaps a plugin (if I can manage it).

Buddy Spotlight

For more info and the download, check the project page.

comments (0)

Buddy Spotlight

Posted 2005 May 15

Buddy Spotlight integrates iChat and Spotlight allowing you to search for online iChat buddies with Spotlight. Buddy Spotlight in Action Simply run Buddy Spotlight and when iChat is online, your buddies will show up in Spotlight. Selecting a buddy in Spotlight will immediately start a new conversation. That means you can start conversations with them from the Spotlight menu, perform queries on which buddies are online or integrate iChat into your workflow!

Download: BuddySpotlight-0.1.dmg

With the initial release, Buddy Spotlight is a stand-alone application. It will run in your dock, but has no real user interface. In the future, I hope to make it a “background” application or some sort of plugin.

comments (0)

Greasemonkey for Kingdom of Loathing

Posted 2005 May 13

I’ve jumped on the latest bandwagon and written a Greasemonkey script for everyone’s favorite addiction web-based game, Kingdom of Loathing. In the initial release, I’ve injected support for access keys, so that you can play more of KOL using the keyboard. If you’ve every been suck in the Orc Chasm, you know how repetitive it can be to click “Use Item” over and over—just to read the dictionary!!!

It’s not as keyboard-friendly as NetHack, but it’s a start.

Visit the project page for more information and the download.

comments (2)

kol

Posted 2005 May 13

This is the main page for my Kingdom of Loathing Grease Monkey script.

Current Features
  • Adds keyboard navigation to the adventure and combat pages
Planned Features
  • Add Keyboard Shortcut “panel”
  • Display more information (e.g. effects of current moon phases, etc.)
Action Key[1]
Adventure Again a
Go Back to … b
Attack with … a
Use Item i
Use Skill s
Run Away r

1 All commands are Access Keys, so you will need to press ALT+key or Ctrl+key

Download: kol.user.js

comments (0)

Dashboard

Posted 2005 May 07
The interesting thing to note about the TV Tracker plugin is that uses Python for much of the work. The Apple engineers showed significant foresight by allowing the following:
<pre><code>
widget.system("/usr/bin/python main.py",null);
</code>
I’ve already found that this can help get around the restriction on XMLHttpRequest objects that prevents opening “external” URLs:
<pre><code>
            myXMLHTTPRequest = new XMLHttpRequest();
            myXMLHTTPRequest.onreadystatechange = processReqChange;

            widget.system(
                "/usr/bin/curl -o output.xml http://www.example.com/script.php");
            myXMLHTTPRequest.open("GET","output.xml",true);
            myXMLHTTPRequest.send(null);
            data = myXMLHTTPRequest.responseXML;
</code>
comments (0)

Tiger

Posted 2005 May 03

My copy of Tiger arrived this evening. I backed everything up to my FireWire drive and did a Clean Install. Wow.

I must say: the Dashboard effects - especially the ripple-load effect - are very cool. I also love the Dictionary: both the widget and the utility app are gorgeous. Spotlight seems interesting… I was surprised to find that there doesn’t (yet) seem to be an iChat plugin!

Though I’m loathe to sully my pristine installation, I need to get my apps installed. Oh, also, the RSS screensaver is wicked cool.

comments (0)

AVP Metal Sculpture

Posted 2005 May 01

My parents photographed this metal AVP sculpture outside of Phoenix, AZ.

AVP Metal Sculpture

larger

comments (0)
atom rss