Double Shot #306
My latest work in progress: The Rails Initialization Process.
- Custom Tags in Liquid - A useful tutorial for an area where there isn't much available.
- cucumber-tmbundle - Another TextMate bundle for cucumber.
- rspec 1.1.8 - A quick revision of 1.1.5, which was just released.
- default_value_for Rails plugin: declaratively define default values for ActiveRecord models - A plugin from Phusion.
External git merge on OS X
The default merging behavior of git is pretty good - until it blows chunks and litters your merged file with dozens of >>>> markers. I had this happen to me again this weekend, and was finally motivated to do something about it.
To change the default merging behavior in git, you run
git config --global merge.tool toolname
To see the list of available tools, type
git mergetool
Most of the tools that git understands are unix-y. There is one OS X tool on the list: opendiff, which launches the FileMerge tool. But honestly, I've never been that impressed with FileMerge's merge algorithm.
Fortunately, xxdiff is a pretty good tool, and it's available as a Darwin port. So, assuming you already have your OS X box set up to install ports, you can have this as your default git merge user interface by running:
sudo port install xxdiff
git config --global merge.tool xxdiff
Now files needing a merge will open in the xxdiff user interface - which is an ugly XWindows thing, but it's powerful. I'd love to see git hook up to something like Araxis Merge or Changes (when their 2.0 version with 3-way merge comes out), but I'm not nearly motivated enough to hack around in the git source yet.
To change the default merging behavior in git, you run
git config --global merge.tool toolname
To see the list of available tools, type
git mergetool
Most of the tools that git understands are unix-y. There is one OS X tool on the list: opendiff, which launches the FileMerge tool. But honestly, I've never been that impressed with FileMerge's merge algorithm.
Fortunately, xxdiff is a pretty good tool, and it's available as a Darwin port. So, assuming you already have your OS X box set up to install ports, you can have this as your default git merge user interface by running:
sudo port install xxdiff
git config --global merge.tool xxdiff
Now files needing a merge will open in the xxdiff user interface - which is an ugly XWindows thing, but it's powerful. I'd love to see git hook up to something like Araxis Merge or Changes (when their 2.0 version with 3-way merge comes out), but I'm not nearly motivated enough to hack around in the git source yet.
Double Shot #305
So far October is shaping up to be a pretty interesting month.
- GitX - A gitk clone for OS X. Looks nice.
- Testing Fragment Caching - How to do it in Rails.
- ExtSQL - MySQL and PostgreSQL fork that adds database activity auditing and statistics.
- Simple Ruby on Rails Full Text Search Using Xapian - One more full-text search engine that I hadn't run across before.
- Helpify, the Omni Help Emitter - Tool to build Helpbook files from OmniOutliner documents.
Double Shot #304
Anyone had to manage cucumber/webrat stories that include logging on to a session via restful authentication? How'd you do it?
- rspec plain text stories + webrat = chunky bacon - I'm scouring the net to figure out best practices for cucumber stories; there's not much out there. This was helpful.
- Easy PlainText Stories in Ruby on Rails Using WebRat - More work on smart stories.
- RubyGems How-To: Preventing Catastrophe - Some notes on versioning.
Double Shot #303
Yesterday's fun was getting started with cucumber, as some of the links below will tell you.
- Thin 1.0 - Another project hits "release".
- What ToDo - The next stop in my quest to find an OS X task manager that thinks the way I do.
- Cucumber for Ruby on Rails - Instructions on what to install to get started.
- WebRat - Non-browser tool for web page acceptance testing that works with Cucumber.
- Cucumber - Next Generation RSpec Story Runner - Some of the basics.
- TextMate Bundle for Cucumber and TextMate Bundle for Webrat - Useful adjuncts.
- Shoulda 2.0 - Big upgrade to one of the other BDD tools.
- Woulda - Plugin-specific tests for Shoulda. Can Coulda be far behind?
Double Shot #302
Another contribution to the Rails Guides project: Layouts and Rendering in Rails.
- Twist - New functional testing platform from Thoughtworks, based on Selenium and implemented as Eclipse plugins.
- CSS Systems for Writing Maintainable CSS - Excellent set of slideks and notes. I need to spend some time with this one.
- TextMate Reigns Supreme with 'Ack in Project' - Very fast full-project search bundle for TextMate.
- GridIron Flow - This looks like very nice work management software for design professionals.
- Master Services Agreement (Part I) - Start of a new series by Obie Fernandez. Should be interesting, but remember, swiping someone elses's MSA rather than talking to your own lawyer is asking for trouble.
Double Shot #301
I seem to be hanging out in #rubyonrails on IRC these days...mikeg1a if you're hunting for me there.
- Rails Rumble 2008 - If you've got October 18-19 free, there's another "build an application in a weekend" contest coming up.
- Using hoptoad in open source project deployments - A general approach to keeping a separate deploy branch in git to hold confidential information.
- Rails Take Five - Five Questions with Karmen Blake - Another in the Five Runs series of Rails interviews.
- RubyGems 1.3.0 - You might want to go slower than me on installing this version; it deprecates some code that Rails uses, resulting in annoying warnings on script/generate operations.
- Replacing Braid or Piston (for Git) with 40 Lines of Rake - An approach to doing subtree merge control for Rails plugins. If you use this, make sure to include a trailing slash on the destination when doing a git:subtree:merge operation. Took me forever to figure that out.
- Status Update: Merb 1.0 - Coming October 11.
- Creating Valid Records with Populator and Faker - For filling up your test database with stuff.
- RR - Test double framework for ruby code. If your current method of writing mocks and stubs is too verbose, this will help. (It has other good features too).
- TankEngine - Plugin to build iPhone-optimized Rails user interfaces.
- Gash - Access a git repository as a ruby hash. Wacky. (via RubyFlow)
Double Shot #300
Whew, 300 of these? In other news, we just hired a PA so as to shift towards a higher ratio of billable work to outsourced work. This means I've got more hours to sell, again.
- Building our centralised authentication system - Implementing single sign-on with Rails
- Installing aspell and raspell for Ultrasphinx - And getting rid of some warnings.
- Thetis - Rails-backed groupware/CMS.
Double Shot #299
4AM continues to be my quietly productive time this week.
- Automatic Rails at Slicehost - Setup script from FiveRuns.
- This Week in Rails - The latest goings-on around the community. I was tickled to see that I got mentioned.
- Rails is for Developers, Django is for Designers, Part 1 - Wow, flamebait. (Though the author says that's not his intent).
Double Shot #298
Early mornings are the most peaceful time around here. Which may explain why I'm awake at 4AM.
- CouchDB with Rails - The latest screencast from PeepCode. CouchDB has been on my radar for a long time but I haven't had a good excuse to use it yet.
- Reminder Tests - Dan Manges suggest some novel uses for automated tests. Well, novel to me, anyhow.
- Cucumber - Plain-text BDD tool that's an alternative to RSpec stories.
- turled - The "look up Twitter users' web sites fast" script has turned into a whole site, complete with my Ubiquity command.
Double Shot #297
I think the ActiveRecord Associations Guide I wrote may actually be finished.
- Dynamic Rails Error Help - Making the default validation messages more useful with a bit of javascript.
- Exceptional - This online error-tracker for Rails apps is now in open beta.
- Is Your Rails Application Safe? - If you're inadvertently allowing mass assignment, probably not.
- MysqlTableSyncer - Command-line tool to synch up two MySQL tables.
- turl - My contribution to a little scripting fest on Twitter yesterday. If you have FF3 + Ubiquity, you can use "turl <userid>" to go straight to a Twitter user's web site.
Double Shot #296
My latest work-in-progress: Rails Routing from the Inside Out. I've been grubbing through the Rails source, and this is the result.
- roodi - Code style checker for ruby applications.
- Rails: Performance Tuning Workflow - Good advice from Dan Manges
Double Shot #295
Well, I think I can add "setting up cruisecontrol.rb" to my accomplishments - though really, that's not so hard.
- Using Single Table Inheritance is OK - A counterpoint to some of the Rails advice I pointed to yesterday.
- GeekTool 2.1.2 - Pipe system output to your OS X desktop. I played with this for showing the log of a running Rails app, but I generally don't have any desktop visible.
- Espresso - The folks behind CSSEdit are coming out with a full web development app. This could be hot.
- Analyzing your GMail History - With a combination of OS X and Ruby.
Double Shot #294
Looks like I'm editing on the Rails Guides now. That's what I get for opening my big mouth.
- Ruby on Rails Code Quality Checklist - I don't agree with every tiny detail here, but it's a great starting point.
- Bort v0.2 Released - Fast progress on this Rails application skeleton.
- Protonotes - Nice-looking free service for adding sticky notes to prototyped web pages.
- Configatron 2.0.0 Released! - A big bump and easier syntax for this generalized configuration library. (via Rubyflow)
- Ruby on Fails - I laughed. You can get a sticker, if you want.
Double Shot #293
My latest plugin noodling around: db_populate. Yeah, there are a bunch of seed data bits out there; I combined the ones I liked. Unfinished, but has some potential.
- Blanket - Ruby flexible backup framework, for Rails apps and other bits.
- Rifgraf - RESTful server to draw graphs from periodic data. I should think about whether there's a synergy here with user_event_logger.
- Story Driven Development in Rails - Part I: Up and Running - I haven't gone the SDD route (yet?) but it's interesting.
Double Shot #292
- I got through Monday OK, despite email and meetings. Now to actually get some work done for the week.
- Awesome Fresh Rails Documentation to Enjoy - People are starting to notice the Rails Guides project. That's good.
- IE6 hate seems to be increasing in the web circles I run in. Pushup uses javascript & CSS to suggest that people upgrade old browser. For a more aggressive approach, there's KillIE6, which tries to trick people into upgrading to IE7. (via http://gadgetopia.com/post/6551)
- seed-fu - Another option for loading seed data into a Rails application.
- EditorKicker - Tool to automatically pop open your editor at the right source code line when Ruby raises an exception. There's a Rails plugin for it too. (via RubyFlow)
Double Shot #291
Woot, I'm published on one of the official Rails sites now: Rails Routing from the Outside In. I feel all accomplished and stuff.
- Lockdown - Authentication/authorization plugin for Rails the operates on a "deny by default" basis.
- Loading Seed Data - Good discussion on the ways to get static data into a Rails app without depending on brittle migrations. I swiped some of this in an app I'm working on now.
- db_populate - Simple Rake task to load data from Ruby files into a new database. I've forked this to make it have some verbose output.
- EcomPages - Open source Rails shopping cart.
- Prawn's Second Release (0.2) - Looks like this pure-Ruby PDF generation library is moving right along.
- App Store. I'm Out. - Yep, I'm glad that I decided against investing time in writing iPhone applications. Fat, dumb, and arbitrary is no way to go through life.
- Regular Expressions Cheat Sheet - Nicely formatted but not language-specific or comprehensive.
- Ruby QuickRef - Includes an exhaustive Ruby-specific regex section.
- I Dropped IE6 - Site to brag about your refusal to support obsolete browsers.
Double Shot #290
With a CI server set up, now I'm feeling pressured to sort out the tests in a bunch of projects. Ah, progress.
- Ruby on Rails Jobs - Another Rails job board. Some day I'll try to run up a complete list.
- The Googlebot and Subscription Sites - Changing your user agent can get you into sites like Experts Exchange, which are otherwise so annoying in the Google search results (personally, I just block them from appearing).
Double Shot #289
The current fun: Setting up CruiseControl.rb with git and rspec.
- Git Quick Reference - Not exhaustive, but useful.
- 10 Things You Could be Doing to Your Code Right Now - Some suggestions for Rails shops that are feeling slipshod.
- This Week in Rails - Another look at what's been cooking around the community.
- Completely Sodding Stupid - A rant about some of the obvious shortcomings of CSS.
- Una - Commerical editor supporting shared code editing. (via RubyFlow)
- Setting up CruiseControl.rb with/for Git Based Projects - Best guide I've found. Way better than the execrable official documentation.
Double Shot #288
Looks like I may actually have enough work for the end of the year. But don't let that stop you asking for more.
- Merb Beginner's Tutorial - Notes on how to instal the latest edge bits.
- Bort - A Base Rails Application - A shot at packaging all the "I always do this stuff" bits into a fresh Rails application. I've seen some of these before; the general issues are that my stuff doesn't match your stuff, and they haven't tracked Rails versions. But this one got enough immediate traction it might do better.
- Ruby Wrapper for Twitter Search API - Just in case you need such a thing.
subscribe via RSS