wincent Wincent Colaiuta's weblog

« October 2007 | Archives index | December 2007 »

November 30, 2007

GC changes for WOHost class (WOCommon, d3a1e89)

Get rid of retain/release calls, and use a simpler storage logic (no need for using NSValue wrappers any more; circular retain cycles are no longer an issue).

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 9:05 PM

Use property dot syntax inside WOHost class (WOCommon, df245fa)

For improved readability.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 8:56 PM

Correct isVar/setVar property pattern in WOHost class (WOCommon, ad1d71f)

Implementing the isVar/setVar pattern requires an explicit "getter" attribute when declaring the property, so add this.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 8:54 PM

Add missing property declaration to WOHost class (WOCommon, 93f1f1f)

Remove explicit declarations of accessor methods and replace them with a single property declaration.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 8:50 PM

November 29, 2007

Add notes on installing mysql gem on Leopard (wincent.com, febe480)

Note that these are slightly different from the installation instructions added to the config/database.yml file in Rails 2.0RC2.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 7:49 PM

Update RSpec (revision 3014) (wincent.com, ff78fe9)

To coincide with the update to Rails 2.0RC2, update the copy of the RSpec trunk that's currently installed inside the application.

Note that in the upgrade notes I've used "git rm -r" rather than "rm -r" to blow away the old version as it makes adding the new files back in a little easier.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 7:40 PM

Update FixtureReplacement (revision 140) (wincent.com, bf665d7)

To coincide with the Rails 2.0RC2 upgrade, update FixtureReplacement at the same time.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 7:31 PM

Upgrade to Rails 2.0RC2 (wincent.com, 5ff1ca1)

Freeze the latest release candidate into the vendor subdirectory and use the "rails" commandline tool to update application files.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 7:26 PM

November 28, 2007

GC changes for the symbol spitter class (WOCommon, 1be194d)

Remove the dealloc method entirely, as it is now redundant under GC.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 10:17 AM

November 27, 2007

Fix last of test-time crashes under 10.5 (WOTest, c6cb292)

Fix another test-time crash that's new under 10.5, this one stemming from the use of the Object root class. It appears that this class is not compatible with the new runtime when GC is set to "required", as these same tests didn't used to crash prior to turning that setting on.

So for now we just skip those tests.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 11:32 PM

Fix test-time crashes caused by 10.5 runtime changes (WOTest, 8e83a65)

The Objective-C 2.0 runtime in Leopard expects more methods to be implemented in root classes than was the case under Tiger.

This commit adds two such methods to the WOLightweightRoot implementation, doesNotRecognizeSelector: and methodSignatureForSelector:, thus eliminating a crash that would derail the test run.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 11:27 PM

Ignore Xcode index directory (Wincent Icon Utility, 6f55440)

Set up .gitignore file for the new "index" directory created by Xcode 3.0.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 11:12 PM

Update Xcode project bundle format (Wincent Icon Utility, 63c6c4d)

Minor update to project bundle format for Xcode 3.0.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 11:12 PM

Produce code-level release notes during build (Synergy, 894da4c)

Use the new ReleaseNotes.sh script to automatically generate code-level release notes during the build process.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 2:37 PM

Add missing -e switch to echo statement (buildtools, d9cc199)

The missing switch here was causing a literal "\n" to be emitted. This relies on the Bash echo built-in, as the executable /bin/echo does not support this switch.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 2:35 PM

Don't trust Xcode to obey the -e (buildtools, 1307e40)

Xcode will use its own shebang line and thus ignore the "-e" switch, so use an explicit "set" statement instead.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 2:30 PM

Add GPL header to release notes script (buildtools, e4eb190)

Apply same license as the rest of the scripts in the buildtools collection.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 2:28 PM

Import release notes script from snippets repo (buildtools, a984227)

This really belongs in the buildtools repo, so move it here.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 2:26 PM

Move release-notes.sh to buildtools (snippets, fab8093)

This really belongs in the buildtools repo, so move it there.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 2:25 PM

Bump version number post-release (Synergy, fa0519e)

Bump version number to 3.5a2+.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 2:20 PM

Set up ignores for dialog Xcode project bundle (snippets, 78468e0)

As per usual, ignore per-user *.pbxuser and *.mode* files, allowing only default.pbxuser as a specific exception.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 2:13 PM

Bail early if not inside a Git repo (snippets, fbc5f09)

This should allow us to continue gracefully if building from a source other than a Git repository working tree (like a tarball, for example).

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 2:04 PM

Release note script (snippets, 6c0e4f7)

Add a simple script that uses git-tag to find out what release we are at and what release was immediately prior, and uses git-log/git-shortlog to emit code-level release notes. The intention is that this script be used as part of the build process.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 1:48 PM

November 26, 2007

Update version number pre-release (Synergy, 48fa71e)

Update version numbers for 3.5a release.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 1:47 PM

Update version number pre-release (Synergy, 48fa71e)

Update version numbers for 3.5a release.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 1:47 PM

Installer fallback on pre-Leopard systems (Synergy, 79c028c)

When run on pre-Leopard systems the installer should gracefully give the user the opportunity to obtain a compatible version from the website.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 1:39 PM

Installer fallback on pre-Leopard systems (Synergy, 79c028c)

When run on pre-Leopard systems the installer should gracefully give the user the opportunity to obtain a compatible version from the website.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 1:39 PM

Update installation scripts (Synergy, 4cc7f58)

This is a fairly thorough rewrite of the installation scripts for their new context (run within the Synergy build rather than as a build in a separate project).

To make things cleaner all of the staging and preparation now takes place in the derived files directory rather than in the common build folder.

Output is considerably less verbose, and the scripts now run with "-e" set so as to abort early in the event of an error.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 10:18 AM

Update installation scripts (Synergy, 4cc7f58)

This is a fairly thorough rewrite of the installation scripts for their new context (run within the Synergy build rather than as a build in a separate project).

To make things cleaner all of the staging and preparation now takes place in the derived files directory rather than in the common build folder.

Output is considerably less verbose, and the scripts now run with "-e" set so as to abort early in the event of an error.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 10:18 AM

More resources for installer (Synergy, 9e3a716)

Add additional resources for the installer (material for Contents/Resources/).

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 10:16 AM

More resources for installer (Synergy, 9e3a716)

Add additional resources for the installer (material for Contents/Resources/).

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 10:16 AM

November 25, 2007

Additional localized resources (Synergy, f0d0b6a)

More additional localized resources transferred across from Install repository. These ones for localization of the "Files" folder in the installer.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 9:20 PM

Additional localized resources (Synergy, f0d0b6a)

More additional localized resources transferred across from Install repository. These ones for localization of the "Files" folder in the installer.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 9:20 PM

Add scripts to Xcode project (Synergy, 53bdfaf)

Add installation scripts to Xcode project file for easier managment and editing.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 8:56 PM

Add scripts to Xcode project (Synergy, 53bdfaf)

Add installation scripts to Xcode project file for easier managment and editing.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 8:56 PM

Determine branch name in check-series script (snippets, adccbc7)

Previously we just made comparisons against the "origin", and while this worked fine for topic branches forked off of the "master" branch, it fell down for those forked off something else (like the "next" branch, for example).

In order to get the list of commits that really belong to the topic branch and only the topic branch we would need to compare against "origin/next" in the case of the "next" example.

This commit adds code for automatically detecting what branch we are on (by reading and parsing GIT_DIR/HEAD), finding out the "remote" and "merge" values for that branch, and then using them to get an accurate list of the commits unique to the topic branch.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 8:35 PM

November 23, 2007

Add check-series script (snippets, 2815a0f)

This script does for automated testing of all the commits on a topic branch prior to submission.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 1:50 PM

November 20, 2007

Import files from Install repository (Synergy, d23da4c)

These files which were previously in the Install repository never really should have been there. Moving them into the Synergy repo is the first step towards handling the entire build process (from source through to disk image) from a single Xcode project file instead of two.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 5:11 PM

Import files from Install repository (Synergy, d23da4c)

These files which were previously in the Install repository never really should have been there. Moving them into the Synergy repo is the first step towards handling the entire build process (from source through to disk image) from a single Xcode project file instead of two.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 5:11 PM

November 16, 2007

Add FixtureReplacement upgrade notes (wincent.com, 6ead2fc)

Include upgrade notes in application README.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 5:32 PM

Update FixtureReplacement (wincent.com, 563b8ab)

Also bump FixtureReplacement up to the current tip of the trunk (revision 83) at the same time as the Rails 2.0 RC 1 and RSpec upgrades.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 5:18 PM

Remove files from previous RSpec version (wincent.com, 71d1c5b)

These files should have been removed in the upgrade to revision 2902 but for some reason they weren't.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 5:13 PM

Add performance request script from Rails 2.0 RC 1 (wincent.com, 3df8d19)

I overlooked including this in the original 2.0 RC 1 commit.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 5:02 PM

Update RSpec to latest tip of trunk (wincent.com, 153e8d1)

Coinciding with the upgrade to Rails 2.0 RC 1, bump the installed version of RSpec to the current tip of the trunk (revision 2902).

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 5:01 PM

Upgrade to Rails 2.0 RC 1 (wincent.com, 7b1634b)

Almost all Rails files touched by this upgrade, even though many of the changes are just bogus whitespace churn.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 4:55 PM

Fix typo in WODebugMacros (WOPublic, ab45b39)

Reference should be to WOAssertionBody, not WOAssertBody.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 1:11 PM

Incorporate WOPublic (Synergy, abaab9d)

Fix build breakage caused by moving WOAssert into WOPublic.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 1:09 PM

Incorporate WOPublic (Synergy, abaab9d)

Fix build breakage caused by moving WOAssert into WOPublic.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 1:09 PM

Remove Subversion buzz (Synergy, 0fc76ab)

Get rid of Subversion Id keywords from all source files.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 12:54 PM

Remove Subversion buzz (Synergy, 0fc76ab)

Get rid of Subversion Id keywords from all source files.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 12:54 PM

Unwrap for readability (Synergy, f4713ab)

Unwrap some method signatures for better readability in one of the NSString categories.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 12:53 PM

Unwrap for readability (Synergy, f4713ab)

Unwrap some method signatures for better readability in one of the NSString categories.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 12:53 PM

November 15, 2007

Fix (modifier)+arrows in inputrc (snippets, 858e42e)

This is really a two-step process; first, you need to have Control-Left and Control-Right correctly configured in your inputrc file (this patch corrects a couple of mistakes there), and secondly, you need to configure the Terminal preferences to send the exact same key sequences when pressing Control-Left and Control-Right, otherwise readline/bash will never see them (this commit also makes a note to that effect).

The apparently useless Option-Left/Option-Right bindings are now commented out. It seems that they don't work unless you do configuration in the Terminal preferences, but once you've done that you no longer need the bindings anyway.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 9:18 PM

Update for Xcode 3.0 (snippets, 3d7963c)

Update the project bundle to Xcode 3.0 and drop the old (10.4) SDK setting; the SDK will now default to the current version of the OS on the host system.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 6:11 PM

Address some TODO items (snippets, afe8572)

This commit address a couple of TODO items:

- If only one of "message" or "title" is supplied, use the supplied string for the missing value as well.

- Prepare the way for displaying usage information if neither "message" nor "title" is provided; for the time being we just exit with a non-zero status.

At the same time, this commit also provides some whitespace fixes, updates the copyright year, and removes some Subversion-related crud. All of this is bundled together in a single commit because the file is so small and all the edits apply to the same range of lines.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 6:10 PM

Import dialog project from Subversion repository (snippets, c0a723e)

Move from legacy SCM to current Git repository.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 5:00 PM

Remove Subversion-specific references (snippets, d03b2b9)

Clean out irrelevant references from backup notification script.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 4:57 PM

Import backup-run-completed script from old repo (snippets, caf917e)

Move across from Subversion repository to (now not so new) Git repo.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 4:56 PM

November 14, 2007

Add GPL headers to source files (gdiff, 5db5b71)

In addition to the accompanying LICENSE.txt file previously added.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 5:41 PM

Correct typo in sample README (gdiff, 26216f1)

Was "popular", should have been "populate".

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 5:15 PM

Add GPL header to source files (WOPublic, 5ecf682)

And tweak alignment of existing headers to line-up with the license text.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 5:10 PM

Add GPL header to source files (wikitext, de37c4c)

Add GPL header to all source files, except those in the ANTLR subdirectory (ANTLR itself is licensed under the BSD license, and a copy of the ANTLR source archive is stored in/distributed with the repository for convenience and redundancy purposes only, as explained in the README).

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 5:09 PM

Fix typo in README (wikitext, f432017)

Add missing article in ANTLR README.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 4:54 PM

Add README to ANTLR subdirectory (wikitext, eef7b94)

Add note explaining what the ANTLR subdirectory is all about and why it's in the repository.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 4:52 PM

Add LICENSE (gdiff, 7ddd6f5)

Now that the source is publicly available, make the license (the GPL) text available as well.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 4:29 PM

Add LICENSE (WOPublic, 77477f3)

Now that the source is publicly available, make the license (the GPL) text available as well.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 4:28 PM

Add LICENSE (wikitext, dab4201)

Now that the source is publicly available, make the license (the GPL) text available as well.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 4:26 PM

Tweak Rakefile for Linux (Walrus, 116bb1c)

Instead of using the hard-coded extension suffix for Mac OS X (".bundle") use a dynamic one (the DLEXT constant). With this change running a "rake make" can successfully build the C extensions on both Mac OS X (where the extension is ".bundle") and on Linux (where it is ".so"), and possibly others as well.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 3:11 PM

Increase backup frequency (snippets, 29c6fcc)

Now that we are targetting a larger backup volume, switch to more frequent backups. This raises the count from 4 times per day (every 6 hours) to 12 times per day (every 2 hours).

This is the practical limit for backup frequency as each backup currently takes about 1 hour and 40 minutes.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 1:16 PM

Update configuration to use larger backup volume (snippets, a46c336)

In light of the most recent hardware failures switch to a larger backup volume, thereby allowing for even more frequent backups.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 1:13 PM

Expand tabs when calculating line widths (snippets, 5aa35b9)

Assuming an 8-character tab stop, expand tabs when calculating line widths. This means that the results are now a true "column count" rather than a "character count".

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 12:37 PM

Add column-counting script (snippets, 4dfddee)

Simple Ruby script to print a histogram of line-width frequencies; its purpose is to get a feel for the typical line width in a code base which doesn't impose hard limits. It can also be used to check code bases which do have hard limits for violations.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 11:23 AM

November 6, 2007

Second stage in GC conversion (Synergy, 9c2d28d)

Replace calls to NSAutorelease release with NSAutorelease drain.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 9:42 PM

Second stage in GC conversion (Synergy, 9c2d28d)

Replace calls to NSAutorelease release with NSAutorelease drain.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 9:42 PM

Start conversion to Garbage Collection (Synergy, e657e06)

As first phase, replace dealloc methods with finalize ones; in fact many of the dealloc methods could be entirely removed, and were.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 9:41 PM

Start conversion to Garbage Collection (Synergy, e657e06)

As first phase, replace dealloc methods with finalize ones; in fact many of the dealloc methods could be entirely removed, and were.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 9:41 PM

Add note about thread-safety of WOSingleton class (Synergy, 36b46d0)

Basically, it's not thread-safe, so add a note that it should only be used in the single-threaded context.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 9:29 PM

Add note about thread-safety of WOSingleton class (Synergy, 36b46d0)

Basically, it's not thread-safe, so add a note that it should only be used in the single-threaded context.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 9:29 PM

Add top-level gitignore file (Synergy, e060cb4)

Ignore the "index" directory created by Xcode 3 in the source root.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 8:50 PM

Add top-level gitignore file (Synergy, e060cb4)

Ignore the "index" directory created by Xcode 3 in the source root.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 8:50 PM

November 2, 2007

Revamp inputrc file for Leopard (snippets, 3049268)

It appears that Apple has commandeered the up and down cursor keys in the new version of the Terminal in Leopard, breaking my old bindings for history-search-backward and history-search-forward. Or maybe its just the new version of Bash that ships with Leopard.

Whatever the cause, this commit re-instates the old desired behaviour, as well as setting up key combinations for word-based movement and jumping to the beginning and end of lines.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 8:52 PM

Add notes on third machine seed algorithm (WOCommon, 6d88aaf)

Sketch preliminary outline for a new, more flexibile machine seed generation algorithm.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 12:51 PM

Add PATH to cron job notes (snippets, a72ff7e)

Without an adequate path set up the GC script will fail because git-gc depends on various standard tools (like sed etc) and without it the script won't be able to find git-gc in the first place.

Signed-off-by: Wincent Colaiuta <win@wincent.com>

Posted 11:28 AM