mark

Mark Madsen is the founder of AGiLE ANiMAL INC, a software consultancy that specializes in iterative software development with a focus on web-based and mobile applications and APIs.

His head is wedged firmly between an iPad/iPhone SDK and a RoR Web App.
Recent Tweets @agileanimal

You should start thinking about your travel and accommodations for Aloha Ruby Conf. ;)

I’m sure you’ve heard about the GitHub hack today.

Some guy (I refuse to give him any more credit than that which he’s already stolen) used mass assignment to commit to Rails as @dhh. (As an aside - who hasn’t pretended to be @dhh? I know whenever I’m out at the bar…)

There are a lot of people up in arms because the offender’s account was suspended by GitHub. Put yourself in their shoes - they had to do it - any other response would be condoning the behavior.

But this does pose the question - what is the correct way to handle this?

Here’s my suggestions for steps that will keep you solidly on the side of the good guys:

  1. If you’re sure there is an issue, don’t prove it out: just report it.
  2. Don’t do anything useless you are sure you know what will happen.
  3. Don’t do anything that causes damage. This makes you one of the bad guys.
  4. Keep a record of anything you do. Turn the records over to the person you report the issue to so they can clean up.
  5. Report it privately. If you can find a Mass Assignment bug you can find someone’s contact info.
  6. Don’t expect a reward, or even to be publicly acknowledged.
  7. Always remember that this isn’t a game. And that your actions have real consequences.

When I report this sort of thing I always try to find someone that will understand the problem (and that I’m just trying to help) but at the same time is not the author of the code in case they try to cover up their mistake.

I acknowledge that at some point this advice breaks down. Sometimes people refuse to listen or try and hide their mistakes - I can’t advise you if you get in that situation.

My best suggestion is to always keep asking yourself “does doing this make me a good guy or a bad guy?”

And then be one of the good guys.

There is a special dance that you need to do if you want to use Ruby 1.8.7 (ruby-1.8.7-p357) with rvm (http://beginrescueend.com/) on OS X 10.7.3.

Why, you ask? Well:

  • 10.7.3/Xcode4.2.x no longer has gcc without LLVM.
  • gcc-4.2 AKA gcc-4.2.1 needs to be installed separately.
  • Ruby 1.8.7 only compiles for i686 and won’t compile with x86_64 for your ARCH.

The solution:

  1. Make sure if you’ve added 64-bit ARCHFLAGS to your profile you comment them out :

    export ARCHFLAGS="-arch x86_64"

  2. Then you need to uninstall any mess you’ve made with Ruby 1.8.7

    rvm remove 1.8.7

  3. Next, grab the OSX GCC Installer from Kenneth Reitz over at Github

    https://github.com/kennethreitz/osx-gcc-installer

  4. Once the installer is installed you can then make CC point to your newly installed goodies:

    export CC=/usr/bin/gcc-4.2

  5. Finally you can then:

    rvm install 1.8.7

I know, seems pretty painful.

Remember that if you compile any gems you’ll likely need to use the CC setting as well as keeping the ARCHFLAGS set to i686.

Good luck. :)


** UPDATE! **

Well, Apple just released some goodies didn’t they - the “command line tools for Xcode” sounds like the exact thing you’d want.

It isn’t

They don’t contain gcc-4.2.1 and hence can’t help here.

They work great for Ruby 1.9.x and upwards though.

After using Things since its release I’m switching to a combination of iOS apps and Google Tasks. It is not a great experience, but it means I don’t have to remember to sync before I turn off my computer or leave my house.

Cultured Code customers have been waiting more than a year now for “Cloud Sync” and really it is just time to move on.

The frustrating part for me is their excuses for the delay. They are all about problems that I don’t have. I will update to iOS 5. I don’t want an account on their servers, I don’t care if it is free.

Honestly, they should have just used iCloud. They could have made it a new version, I would have bought it.

With their last official blog update in August. And with a portion of their team working on “the fourth alpha” of some “top secret project” it is pretty clear they don’t really care.

It’s sad. And I’m sad.

I’m really going to miss it.

I am re-blogging this because I know I have at least one opinionated expert that follows my twitter and I’d love to know what he things about this.

I won’t go as far as saying you need to switch. But, Sublime Text 2 is very interesting. Worth a try at least.

1p1e1:

Hello, fellow code monkeys.

Look at your editor. Now back at mine. Now back at yours. Now back to mine. Sadly your editor is not like mine. But if you stopped using noob-scented editor, and switched to Sublime Text 2, your editor could look like mine.

Look down. Back up. Where are you?

You are on a desk with the editor your editor could look like. 

What’s in your hand? Back at me. I have it! It’s a package control with several handy plugins that you would love. Look again. The plugins are now diamonds. Anything is possible when your editor looks like Sublime Text 2 and not Eclipse.

I’m on a horse.

Read More

The TextMate team has a much better solution!

  1. Preferences → Bundles → Click Themes → Check Solarized
  2. Put the font preferences in the preference file ~/.tm_properties

    #settings
    fontName    = "Anonymous Pro"
    fontSize    = 14
    

The TextMate 2 Alpha is great. Evolutionary, not revolutionary, but a solid upgrade to a real workhorse.

So that you can run TextMate and TextMate 2 at the same time the default location for bundles has changed:

~/Library/Application\ Support/Avian/Bundles

Themes now live in a Bundle.

Once you created the directory you can either try and customize the existing Themes or add new ones to the Theme Bundle that is created when you try to customize the existing Themes.

I have added fonts to the Solarized theme because right now TextMate2 refuses to save them. If you don’t like my choices then fork me - https://github.com/agileanimal/Themes.tmbundle - otherwise you can get the hookup with a little:

cd ~/Library/Application\ Support/Avian/Bundles
git clone git://github.com/agileanimal/Themes.tmbundle.git

If you are an Android Developer, this is probably something you should take a look at.