Brian Moseley, Chief Suspect

home

Who: bcm@maz.org on email; bcm on Evolve ICB and Freenode IRC; ixjonez on AIM and YIM; ixjonez@gmail.com on Jabber

What: programmer (OSAF); gamer; hiker; lover of music and film

Where: San Francisco CA; Oakland CA; Brooklyn NY; Melbourne Australia; Ithaca NY; Rock Hill SC

Odds & Ends
Vox
Tumblr
Twitter
Flickr
Upcoming
Old blog
Amazon wishlist
Movies to see
Warhorn

Recent Tunes
Stars – Calendar Girl
Stars – Soft Revolution
Stars – Celebration Guns
Stars – He Lied About Death
Stars – The First Five Times
(Last.fm)

Recent Reads
The Good German by Joseph Kanon
Vogelein Volume 2: Old Ghosts by Jane Irwin
The League of Extraordinary Gentlemen: The Black Dossier by Alan Moore, Kevin O'Neill
Hellboy Volume 5: Conqueror Worm by Mike Mignola
Hellboy Volume 4: The Right Hand of Doom by Mike Mignola
(LibraryThing)

Link Roll
rest-client
Feature: Host Your Domain with Free Apps
Scalability Developer Competition Launched by GigaSpaces - $25k in prizes | High Scalability
[Shaman] PVE Healing Guide - Elitist Jerks
phpMyID
Future of a DPS Warrior
SpringSource Team Blog » What's New in Spring Security 2?
Ask Lifehacker: What Does Google Apps for Your Domain Actually Do?
I Watch Stuff - R-Rated 'Harold and Kumar 2' Trailer Surprisingly Funny, Mutant-Filled
OpenID 2.0 Final
(del.icio.us)

Photos
Great Lakes
Seattle
Singapore
Australia
San Francisco

MT 3.2
LF 0.94e

     

May 30, 2006

Cosmo 0.3 was quietly released last week while i was away on vacation (yay my brother got married!), and i just now got around to announcing it.

i'm working my tushie off to get 0.4 out the door before i head to Europe in June. we're gunning for more frequent releases now, and even though i'll be away for a bit , we've got an intern starting tomorrow and a Google Summer of Code project kicking off this week, so hopefully we'll see interesting things coming available throughout the summer.

Posted by bcm at 12:56 PM | Comments (0)

May 03, 2006

just installed the latest version of Ruby and Rails on my Mac. it was mostly straightforward, thanks to a couple blogs, and i thought i'd record the process here for posterity's sake.

i didn't want to use the system-installed ruby because i like to have a compartmentalized development environment that won't break with every system update. i didn't want to use Fink or DarwinPorts because i don't like waiting for people to get around to packaging the things i need. if i have to build some of my toolset myself, i might as well build all of it.

i built Ruby, Rails, FastCGI and LightTPD from source and installed the MySQL 5.0.21 OS X package using this excellent guide. the only problem i encountered was building the native mysql bindings for ruby. when i tried to install the mysql gem, it offered me three different versions, and i got linking errors when building the most recent one (2.7). this article told me to build the bindings from scratch, and that worked just fine.

so now i'm ready to write some software. my job includes one day a week of working on a personal project. i'm going to build an app for scheduling our conference rooms. nobody uses our system. i'm sick of writing my name with a pencil in one of the appointment books at the front desk and then going downstairs to find some helmet calling his girlfriend in the room i just booked. my shit will be infinitely scalable and robust with high availability. Google, Yahoo, and Fox will be tearing each others' throats out to give me battleship money for it. just watch.

Posted by bcm at 01:59 PM | Comments (0)

January 21, 2006

woo! after like a gazillion years i finally updated warhorn.net.

since i don't have a blog there yet, i'll post the announcement here, for the three of you watching.

From: Brian Moseley
To: Warhorn.net announce list
Date: Jan 21, 2006 11:12 AM
Subject: Warhorn.net updated to version 1.5.0

it has been many moons since the last changes to warhorn.net, but i'm
happy to announce that i've just updated the site to version 1.5.0,
which includes several new features and some critical bug fixes.


WTF, MY SITE BROKE THIS MORNING!
===============================

now that we have so many event sites (over 400), updating the site
takes a lot longer. a few of you may have seen some errors when
accessing your event site between 10-11am PST; those should all be
resolved now. if you're still getting errors, please let me know asap.
the next time i upgrade i hope to have a smoother process in place.


THANKS FOR YOUR DONATIONS!
============================

i have to admit that the majority of these updates have been finished
for several months and have just been sitting on my computer. i went
through a period of burnout, with gaming in general and with my
hobbyist hacking on warhorn. however, you guys and the folks who come
to your events made an unprecedented display of generosity in december
and january, and the donations you sent me were a swift kick in the
butt, jolting me back into action. so thank you, and i hope you like
the new stuff. there's more to come in the future.


NEW FEATURES
============

* the gaming schedule interface has changed quite a bit. when you
click the "gaming schedule" button, you'll only see a single day's
slots. click the links at the top left of the schedule table to
navigate between days. click the name of a scenario to view the
details for that particular game, including scenario title, author and
blurb, and the number of tables and signed up players. this definitely
increases the number of clicks a person needs to sign up for games,
but it's the first step towards adding table mustering features. for
that and other reasons (future performance optimizations), i think the
tradeoff is worth it.

* for privacy reasons, we'll only show player and judge names in the
gaming schedule if you're logged in - this keeps search engines from
making a person's game participation known to the world.

* you can now subscribe to an Atom 1.0 feed listing all the games
scheduled for an event. the link for this feed is found just below the
event details at the top middle of every page. open that link in your
favorite news reader (bloglines, google reader, feeddemon, etc) and
stay updated as the event's schedule changes. if you use a browser to
read news feeds (eg firefox's live bookmarks) and are logged into the
warhorn site, the feed will even include judge and player info.

* similarly, there are now feeds available for the warhorn upcoming
events and recurring game days listings. subscribing to these feeds
will let you stay up to date as new event sites are added to warhorn.

* the scenario selection menus on the signup form now tell you how
many open seats are available (for the player menu) or how many judges
are needed (for the judge menu). if a game is full and waitlisted
signups are enabled, the menu indicates that the player will be added
to the waitlist.

* when a game is full and waitlisted signups are not enabled, the
signup link for that game on its schedule page is replaced with the
text "FULL" so that players will know they can no longer sign up for
it.

* you can now associate scenarios with an RPGA campaign or game
system. the campaign or game system is typically indicated where the
name of a scenario is found, most noticeably on the game schedule and
the signup form.

* you can now configure the payment subsystem with all optional
packages if you so choose. previously at least one mandatory (base)
package was required.

* when requesting an event site, you can now choose "online" for the
event location.

* the new combat role "psionic manifester" was added.

* the game schedule is now highlighted by slot rather than by game,
making it easier to visually group games by slot.


SKINS
=====

* the nyrond skin was updated with the shield and colors of the
nyrond imperium. hopefully not too little too late :)


BUG FIXES
=========

the following bugs have been resolved in the new version. please let
us know if you spot one of them (or any other)!

* removing a slot without first "zeroing out" all of its games no
longer leaves the database in an inconsistent state. nuke slots at
will!

* non-empty first and last names are now required when registering
for an event site. previously a user could register with a last name
of " ".

* previously on the single game signup form (the popup one), if you
had signed up to judge one game and then tried to switch to judging
another game, the system would not remember the change. this should no
longer be a problem.

* scenario titles are now unique. you can't have two scenarios with
the same title in the same event site.

* better validation that the number of tables and number of players
per table for a game are input as numbers, not mixed strings like
"6+".

* remove weird slashes from system-generated emails

* on the gaming schedule, the slots for a day are now ordered by slot
start time, not slot number (slot numbers will be revamped in a future
update so that they are arbitrary labels on a slot rather than the
weird not-quite-used position indicator that they are now).


THAT'S ALL
==========

as always, please let us know if you have any concerns or encounter any bugs.

good gaming!

- the Warhorn.net team

Posted by bcm at 11:26 AM | Comments (0)

September 19, 2005

hooray! i released Cosmo 0.2 today!

time to kill some troggs!

Posted by bcm at 06:37 PM | Comments (0)

as my project (Cosmo, OSAF's open source calendar sharing server) matures, we find ourselves in need of some professional tech writing. there's all sorts of doc to be written:

  • web interface copy
  • web interface help system
  • end user guide
  • administrator guide
  • project web site
  • developer resources web site

OSAF is unfortunately not looking to hire a tech writer at the moment, but Cosmo is an open source project, and we're happy to accept contributions from anybody who wants to help.

if you are interested in calendaring or other aspects of personal information management and sharing, please consider donating some of your time and/or urging your friends to do the same. help us bring standards-based calendaring to the common man.

those interested can contact me at bcm@osafoundation.org.

thanks!

Posted by bcm at 10:40 AM | Comments (0)

August 15, 2005

Great article about J2EE clustering on The Server Side a few days ago. Will be using it as a reference for my eventual Cosmo scalability white paper.

Java.net has a fascinating (but slightly less useful for Cosmo) article on spell checking and similar query suggestions with Lucene.

On IBM's developerWorks, an article comparing Ruby on Rails and Struts. i've read enough tutorials on Rails now that i can see why it's so attractive to so many. i'm still skeptical about implementing anything with Ruby and Rails other than simple CRUD apps, but i absolutely love the "convention over configuration" concept and the simple aesthetic of Rails apps' URLs. i know Struts well enough now to do pretty much anything i want to with it, but i hate being enslaved to its XML config file (and that of Tiles). and after looking at Rails, i'm seriously annoyed at having to write code and/or configuration in like 8 different places to implement a single new piece of configuration in a Struts app. nuts. hopefully Struts Ti will fulfill all of my fantasies.

Posted by bcm at 09:42 PM | Comments (0)

August 12, 2005

for months i've envied my coworker Morgen's shell prompt. each command is separated from the previous one with an underline, and the system time is displayed flush with the right side of the window on the line where you enter your command. the whole thing is bolded. it's hot stuff, and yesterday i decided i wanted it for myself.

unfortunately, Morgen uses zsh and i use bash. so i asked some friends how to translate his prompt definition into bash. then i upped the ante and offered a beer to anybody who'd do it for me. one guy tried halfheartedly, but like half a dozen people just said "switch to zsh". i REALLY wanted the prompt, so i figured i'd give it a try.

so far it's exactly the same. all my aliases and exports worked with no changes. and the prompt is so hot. here, check it out:

zshprompt.png

here's the .zshrc snippet that sets the prompt:

PROMPT='%B% %U                                                                                %u%b
%B%n@%m:%b%B%~%b
%(?..RET: %? )%B%#%b '    # default prompt
RPROMPT=" %B%D{%l:%M:%S}%b"     # prompt for right side of screen

update: i didn't realize at first, but this prompt also prints the return code of the previous command if it's non-zero. that's what the (?..RET: %? ) business is. awesome! Morgen is my hero.

update: anybody know how to enable emacs keybindings? i need my ctl-A!

Posted by bcm at 12:02 PM | Comments (0)

July 28, 2005

if you are going to OSCon, i'll be at the CalDAV BOF on Wed evening. the meeting will obviously adjourn to a bar in short order. if you otherwise happen to be in Portland at all next week, please rescue me from the geekfest and show me around town. regards.

update: looks like there is also a "meet the OSAF people" BOF. i guess somebody forgot to tell me. i tried to think of a joke to explain that but couldn't come up with anything. maybe i need to show up in the office more.

Posted by bcm at 06:46 PM | Comments (0)

July 15, 2005

XML.com had an interesting article a couple days ago about securing RSS content. The gist of it is that you can encrypt some content, stick it into an RSS item's description, and then use a Greasemonkey script to decrypt it when viewing the feed. Seems easy enough. I guess if i had syndicated content that I wanted to secure, this would be a nice and simple approach. Of course, now that Atom 1.0 is about to be released, Bloglines will add XML Encryption support and the issue will go away. Anyway, it's the first interesting use of Greasemonkey i've seen.

Posted by bcm at 11:04 AM | Comments (0)

June 28, 2005

posting from the leather chair in Pete's apartment in Brooklyn. 3am and all is peaceful and quiet. i am very comfortable.

the Lovemakers are playing in San Francisco this Friday night (July 1st) at Mighty. dunno what time. if you can't make that, perhaps you can catch them one of the subsequent Fridays in July during their residency at Cafe Du Nord. i'll be at every one of those shows. they are also playing a charity event at the Playboy Mansion on July 23. tickets only $550. shit, if i lived in LA i'd be there - only time i'd ever be allowed to set foot on those grounds, i'm sure. i'm looking at you, Mark.

let me just say that i am extremely fucking frustrated with .Mac. since i upgraded my PowerBook and two G5s to Tiger, .Mac calendar sync has not worked. changes to one iCal instance are not reflected in the others after sync. in a fit of rage i deleted all of the calendars in the PowerBook's iCal. now no matter what i do i cannot get any of the calendars that were supposedly synced to .Mac by my home G5 to show up on the PowerBook.

i guess this is just an ass backwards additional bit of motivation for me to get Cosmo's CalDAV support working ASAP, so that Apple will begin to have a reason to add CalDAV to iCal. imagine if we had to sync email between computers rather than using IMAP (and POP before it). the current state of affairs is just ridiculous.

speaking of sync - my Treo 650 showed up in the mail last week. once i was all moved into the new apartment i chucked the old 600 with the dying screen, set up Bluetooth on the 650, and used Missing Sync's iSync conduit to copy the iCal and AddressBook data from my home G5 to the phone. now that is what sync is for - when you have a device that spends most of its life offline and/or has a generally slow and flaky internet connection. luckily with the impressive Missing Sync tool, everything JFW'd and i have all my contacts, events and tasks on my phone.

i also set up VersaMail (which now does IMAP and supports SSL for both IMAP and SMTP - yay!) and VeriChat, which continues to be both simple and extremely cool. it's the one Palm app that seems to be able to stay running even when you switch to other apps. too bad the fucking scrollbars don't seem to work on the 650, and i have to tap any icon 2 or 3 times before there's a response. also there seems to be a problem with pssh on the 650 so that you can't import SSH keys. i really hate typing my passwords on the Treo keyboard. finger cramps!

Posted by bcm at 11:59 PM | Comments (0)

June 15, 2005

After four years out of the geek con circuit, I am heading up to the O'Reilly Open Source Convention in Portland from Aug 1-5.

I sat down and worked out my schedule today; it's listed below. It turned out to be pretty heavily PHP biased, which seems weird given what I do at my day job until you recall that I have a medium sized public web service built in PHP 4. (It's gotten bloated and has always been much too slow, and something needs to be done, but for those same reasons I'm scared to make large scale changes. I hope some of these presentations will give me ideas for small steps to take toward better performance. If i had a do-over, I'd use PHP 5, Propel or the PDO that's being talked about in one of these sessions, and memcached.)

I'm most looking forward to the "It's Time to Share: Calendar Data Interchange" session. I wonder if there will be any surprises. The session seems to be focused on calendar clients, but hopefully some of the other server developers will be there too. Having missed the CalConnect interoperability event the last go-around, I haven't met any of those folks yet. I will be on Mitch Kapor's CalDAV panel though, and probably some of them will be there.

In any event, it will be strange to be jumping into the deep end of the geek pool again after all this time. I hope folks I know will be there so we can drink heavily and oversleep the morning sessions just like the old days.

Monday
8.30 am: Introduction to Ruby (tutorial)
1.30 pm: Scalable Internet Architectures (tutorial)

Tuesday
8.30 am: Learning Ajax (tutorial)
1.30 pm: Creating Passionate Users (tutorial)

Wednesday
8.45 am: Trends in the Open Source Marketplace (keynote)
10.45 am: Migrating from PHP 4 to PHP 5
11.35 am: Accelerating PHP Applications
1.45 pm: The Evolution of Web Application Architectures
2.35 pm: How to Serve a Billion Requests a Day with Perl
4.30 pm: State of PHP
5.20 pm: Implementing CalDAV, a New Standard for Sharing Calendar Information Over the Internet

Thursday
8.45 am: TCP/IP and Shipping Containers (keynote)
9.30 am: Computational Origami: From Flapping Birds to Space Telescopes (keynote)
10.45 am: PDO: PHP Data Objects
11.35 am: Getting Up to Speed with Apache Geronimo
1.45 pm: It's Time to Share: Calendar Data Interchange
2.35 pm: PHP Is Ready for Big Business
4.30 pm: Flagship Features in MySQL 5.0
5.20 pm: XMPP in Java

Friday
10.45 am: Extracting Rails from Basecamp
11.35 am: Building Responsive Web UIs with DHTML
12.45 am: Closing Session (keynote)

Posted by bcm at 06:16 PM | Comments (0)

May 15, 2005

i spent yesterday afternoon adding RSS feeds to warhorn.net 1.5.0 (hopefully releasing by the end of May). there are feeds for upcoming conventions, recurring game days, past conventions (cos i'm a completist), and for each event. now it's easy to tell when a new event is scheduled or when somebody signs up for a game. awesome. i don't know why i didn't get around to this before now.

i'd also like to add iCal integration like that of upcoming.org - when on an event site, click a button to add a calendar to iCal. i need to be able to generate an iCalendar view of a game, though, and i can't find any PHP iCalendar utilities. the closest thing i could find was PHP iCalendar, but its iCalendar parser/generator code doesn't appear to be easily extractable. lame. you'd think something like this would be in PEAR already. and in fact it seems like they talked about it a couple years ago on the PEAR dev mailing list, but nothing seems to have come of it.

Posted by bcm at 01:51 PM | Comments (0)

May 02, 2005

yesterday somebody started a "Struts with PHP" thread on the Struts users mailing lists. folks were sort of scratching their heads about how one might use PHP for a webapp's view layer rather than JSP. come to find out there's relevant Java Community Process work going on: JSR 223 Scripting for the JavaTM Platform.

the mind boggles at the possibilities. if you think about the spectrum of sizes of web sites and apps, you'll recognize that there are folks like me who love living in the (comparatively) big and bloated J2EE Model 2 world, and those like my pals Olivia and Creighton who prefer the simple, light, zero-XML-and-properties-config-files, embedded-within-Apache world of PHP, mod_perl and the like (that is not to say that you can't do a simple, lightweight web site with servlets and JSP or a complex webapp in PHP - i've done both - but i think the 80/20 rule applies here). a PHP/Java bridge would let all of us collaborate on projects using our favorite technologies in our own spheres of influence. hey, we could rewrite the back end of Suicide Girls in Java!

anyway, a draft was out for public review, so i'll pull that down and give it a read the next time i burn out on World of Warcraft. am looking forward to embedding a PHP interpreter into Tomcat and seeing what my friends and i come up with.

Posted by bcm at 11:43 AM | Comments (0)

April 19, 2005

i'm hosting OSAF IRC office hours tomorrow to discuss my project, Cosmo, which is a standards-compliant calendar server. it's going to be a fairly technical presentation, but some of you geeks may find it interesting.

Posted by bcm at 02:22 PM | Comments (0)

March 18, 2005

work has been keeping me awfully busy lately. i have been skipping meals and not checking in with friends. that's what happens when i get lucky with a super interesting project (for those keeping score, i am integrating Spring, Acegi Security, and Jackrabbit to create a secure calendar and sharing server). the world rushes by whilst i geek. i ordered a dual Power Mac G5 and a 23" HP dual input display for the home office earlier this week, so i predict i won't be coming up for air for some time, not without some help at least. reach out, my friends, and make me be social!

several people at work are heading off to PyCon next week. Mitch talked at yesterday's staff meeting about some of the interesting stuff at ETech. apparently they talked a lot about del.icio.us and Flickr, neither of which i've used yet, tho both are making people shake wildly and foam at the mouth. anyway, it all makes me fondly recall the late 90s when i was on the conference circuit, getting drunk with the modperl guys and struggling vainly to keep up in the perlguts and perlthreads sessions. OSAF will send me to one or two conferences this year - in fact i think i'm going to be on a CalDAV panel at OSCon in August. what are the best cons for Java web guys?

Posted by bcm at 08:07 AM | Comments (0)

March 10, 2005

check out this gorgeous tarot deck. also, the catchiest tune i have heard in months.

i spent all week reading about JCR and Jackrabbit for work. we were originally planning to build our calendar server on top of Slide, but as i've given more thought to the server architecture, JCR has become much more appealing. the biggest hurdle to using Jackrabbit is that i really want something Spring-based. the guys who formed the Acegi WebDAV project have a similar goal, and we're talking about whether it makes more sense to somehow add Spring and Acegi Security support to Jackrabbit or to build new WebDAV/CalDAV and JCR implementations.

i have also spent the week looking for apartments in San Francisco. my apt hunting experience has been quite different this time than ever before (i have moved a total of 7 times since leaving college in 1996). usually i have great apt karma and find an amazing place within the first week (sometimes even the first day). not so this go round. i've been hearing from others that the majority of places on the market are shit, and now i'm experiencing that for myself. i'm trying to be patient, but if i haven't found something in the next few months, i will probably just suck it up and stick it out in Rockridge til next spring. rent is cheap, the neighborhood is quiet and pretty, and i can save lots of dough by not paying SF rent. but it means i will have to continue driving back and forth across the bay bridge every day. so mind numbing!

Posted by bcm at 09:47 PM | Comments (0)

October 13, 2004

i finished today with the project i've been working on for the past six months. i'm looking for jobs now, but i'm being very picky, because i don't want to commit the next few years of my life to helping somebody manufacture widgets faster, or sell more widgets, or increase the amount of direct mail they can send, or do anything remotely related to the acronyms CRM or ERP.

in fact, i'm going to take the next couple months off and build version 2 of Warhorn. the original version was written in PHP, but it's slow and bloated, and the feature requests have accumulated so fast (almost a hundred as of today) that it's clearly time to plan a new app from the ground up with a modern architecture, using Java and the many excellent tools it provides (like Spring, Hibernate and Struts), and with the features that have evolved organically over the last two years as part of a uniform design.

nevertheless, if you hear of interesting software engineering jobs in the areas of entertainment, politics or education, or with somebody providing some important service that you and your friends rely on every day, well then, let me know. i do need to pay the rent at some point.

Posted by bcm at 06:31 PM | Comments (0)