watch this  

the official mrchucho blog

Projects

Posted 2005 Jul 27

Rbot Plugins

updated 11/06 version N/A
rbot is an Ruby IRC bot. I have developed numerous plugins, most of which are now included in the distribution. They are also available here.

Quicksilver Weather Plugin

updated 11/08/05 version “beta2”
Plugin for Quicksilver provides quick access to current weather conditions (including temperature, wind,visibility and conditions summary) via the NOAA XML-based web services. Updated for beta44

Cocoa Textile

updated 01/23/05 version 0.5
CocoaTextile is a Textile Editor for Mac OS X. Using CocoaTextile, Textile and Markdown can be used to convert plain text to XHTML. Includes all the standard Mac text editing capabilites (e.g. spell-checking, multi-level undo, etc.) and an HTML preview and source view.

Firefox Extension: Next Image

updated 11/01/06 version 0.7
A handy little extension for automatically incrementing (numerical) image URLs, allowing you to make your own “ad hoc” image gallery.

Firefox Extension: This Window

updated 11/01/06 version 0.5
A pretty trivial extension that adds the ability to force a window to open in the current window. This is helpful if you don’t want to open another browser window.

Firefox Extension: Growl Notifications

updated 04/29/2007 version 0.6
Enables download complete notifications through Growl. Requires Firefox 1.5 or greater. Compatible with Firefox 2.0.

Pytego

updated ??? version 0.2
Pytego is a two-player, cross-platform, networked clone of the classic boardgame “Stratego” from Milton Bradley. It is developed using Python, PyGame and SDL. It’s out-of-date and probably doesn’t work, but is included here for posterity.

NetHack Patch

updated ??? affected file src/botl.c
This patch colors the Hp monitor at the status line with the tty interface. If your Hp is lower than maxhp but more than 2/3 of max, it is shown green. If it is less than that, but more than 1/3 of max, it is yellow. If it’s less than 1/3 of max, the color is red. And with values less than 1/10 of max, it is highlighted, blinking or whatever your screen shows with the ATR_BLINK attribute.

#define HPMON in include/config.h to activate the patch.

Checked against 3.4.1 ; Bones / save files NOT affected.

DieRollerApp

updated ??? version 0.1
DieRollerApp is a KDE application that simulates rolling the standard D&D dice (e.g. d4, d6, d20, etc.). This was mostly an excuse for me to play around with KDE, QT and KDevelop.
comments (0)

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)
atom rss