HNHacker News
TopNewBestAskShowJobs

mccutchen

718 karma · joined September 2, 2008

submissionscomments
mccutchen··on A Response to Ineffectual Java-NG Proposals
From TFA:

  // The point is... if you're going to invent a 
  // new Java that breaks compatability, then
  // at least try and fix some of the major issues 
  // like verbosity, invariants, inference, checked 
  // exceptions, and mutability.  Go wild.  Everything 
  // presented here could be compiled directly into Java.
mccutchen··on The Most Powerful Colors in the World ...And How You Make The Next Ones
Not just with Apple's icon designers, but with icon designers targeting OS X as a whole:

http://www.flickr.com/photos/mccutchen/4293401589/

(At least with the designers of the icons for the applications I use most often.)

mccutchen··on Future Microsoft tablet to be 'no thicker than sheet of glass'
In other news: Future Nike hoverboard to be 'powered by cold fusion'
mccutchen··on Polyglot extension for Chrome - Learn a new language
Chrome needs to work on its permissions messages or its permissions model. I developed a stupid simple extension[1] that just kills all the images on a given page, and the permissions required for it to do its work (mostly the `background.html` page communicating with a separate JS file) result in the exact same terrifying message when installing.

Specifically, I think it's the "tabs" permission in my case that causes that message, which I think I needed to ask for in order to have the permission show up as a page action, or something. The memory is hazy now.

(Note: There's a very good chance my extension could be rewritten to not need those permissions, but it was not immediately obvious how to do that when I wrote it, and I haven't poked at it since then.)

[1] https://chrome.google.com/extensions/detail/jjjmnickdhkfpaoc... and http://github.com/mccutchen/ImageKill

mccutchen··on Ask HN: Who's hiring? (September 2010)
I just took the survey, I hope I got all the answers correct!
mccutchen··on Ask HN: tips for working with Mac OS X without using the mouse? (RSI)
This might be old news to you, but it took me a while to discover after I started using OS X:

Cmd-Tab switches between applications (as I'm sure everyone knows), but it's less useful on OS X than Ctrl-Tab is on Windows or Linux because it doesn't switch between individual windows in those applications.

Cmd-Tilde (~) was the missing link for me. It switches between windows in the current application. Those two are probably the most important keyboard shortcuts I know on OS X.

Plus, another endorsement for Quicksilver. That's always the first application I install, and I now find it really frustrating to use any computer that doesn't have it installed.

And maybe you should set your Dock to auto-hide, so you're not so tempted to move the mouse over there to monkey with things.

mccutchen··on [dead]
Guido van RossUM
mccutchen··on Thesis’s Next Opportunity: Un-WordPress Itself
I say this as someone who a) doesn't know anything about the actual interaction between WordPress themes and the "core" WordPress code and b) doesn't fully understand the implications of the GPL in situations like the one I'm about to propose, but...

Instead of developing a clean-room WordPress clone, could someone write a sort of adapter library that abstracts away the pieces of WordPress needed by templates? That way, the templates could make calls to this hypothetical "fakewp" library, which would essentially just pass those calls along to the "real" WordPress code.

I'm assuming templates have code along the lines of:

  foreach ($WP->get_recent_posts() as $post) {
    display_post($post);
  }
that could be adapted to

  foreach ($FakePress->get_recent_posts() as $post) {
    display_post($post);
  }
(please forgive any PHP syntax problems)

Is that not feasible, for some reason? Or would the GPL mandate that this wrapper library also be released under the GPL, along with any themes using the wrapper library?

mccutchen··on True hacker resume: CV as Python unit test
Shouldn't the

  company = YourCompany()
boilerplate at the top of each test method be factored out into

  def setUp():
      self.company = YourCompany()
mccutchen··on Hidden features of Python
This is just a side-effect of bool being a subclass of int and True and False having the values 1 and 0, respectively. It might seem weird or surprising, but it's not a problem with Python's type system.

    >>> issubclass(bool, int)
    True
    >>> isinstance(True, int)
    True
    >>> int(True)
    1
    >>> int(False)
    0
    >>> True == 1
    True
    >>> False == 0
    True
mccutchen··on To Paul Graham
According to the FAQ (http://ycombinator.com/newsfaq.html):

> Why don't I see down arrows?

> There are no down arrows on submissions. They only appear on comments after users reach a certain karma threshold.

mccutchen··on CA Supreme Court to review Brian Reid's age-discrimination case against Google
Link doesn't work for me with the querystring parameter. Try this instead:

http://www.mercurynews.com/traffic/ci_15147417

mccutchen··on New attacks today against Wordpress (lots of sites hacked)
Or run a local WordPress installation and use `wget` to generate a static HTML mirror suitable for uploading to your server: http://www.idlewords.com/2009/09/using_wordpress_to_generate...
mccutchen··on Y Combinator presents 26 new startups
Ah, but he made a clone of del.icio.us from back when it was new and minimal and still really awesome. Which is much, much better than a boring old clone of modern Delicious.
mccutchen··on Philip K. Dick on Blade Runner
eXistenZ was written by David Cronenberg, not adapted from a PKD book/story.
mccutchen··on Philip K. Dick on Blade Runner
David Foster Wallace.
mccutchen··on Will the Adult Industry Drive Android Adoption?
On the other hand, didn't porn help establish BitTorrent as a viable P2P protocol? I may be misremembering, but I feel like delivering adult movies was an early driver of BitTorrent adoption.
mccutchen··on Emacs Zen Coding - Write markup quickly
> How about a command for closing whatever tag is open where the cursor is?

Try `C-h m` to find out what commands your HTML editing mode provides. In HTML Mode, `C-c /` closes the current element, and in nxml mode, `C-c C-f` does the same thing. Even better, in nxml mode, when `nxml-slash-auto-complete-flag` is non-nil the current element is automatically closed when you type a "/".

The nice thing about Emacs is that it's pretty trivial to write a little elisp code to add the other functionality you're looking for.

mccutchen··on Functional Geometry
And, I just did a quick port to Python: http://gist.github.com/220038
mccutchen··on Functional Geometry
Thank you so much! I first encountered this article back in 2004 or 2005. I just remembered it again about a month ago, and have been fruitlessly Googling for it off and on since then. You've really made my day!
mccutchen··on The startup culture at Posterous
I initially misread its name as Posterious, and haven't been able to shake that pronunciation (like "post" + "serious") in my head since then.
mccutchen··on Widely useful Python utilities by Peter Norvig
Quoting myself, now: "Using a generator expression works just as well, though, and is probably clearer in the long run."

It's just that my first instinct is always to use all(xs, pred).

mccutchen··on Widely useful Python utilities by Peter Norvig
Good point. I guess usually crops up when I've already got a predicate function handy and I want to say `all(items, f)`. I always just expect that to work for some reason. Using a generator expression works just as well, though, and is probably clearer in the long run.

Besides, I guess if `any` had a signature like

    def any(xs, pred=lambda x: bool(x))
or something, that would reverse the signatures of map, filter, reduce, etc.

On that note, I always want the arguments of filter and reduce, but not those of map, to be reversed for some reason.

mccutchen··on Widely useful Python utilities by Peter Norvig
"(which, for some reason, don't take an optional predicate)"

This kills me pretty much every time I use those functions. It seems like 9 times out of 10, I need the ability to pass in a predicate function.

This always struck me as a major oversight... does anyone know if this design decision was made for a particular reason?

mccutchen··on Dropbox's Summer 07 YC Application
> ... and an 'enterprise' plan that features, well, a really high price.

I love this part of the plan.

mccutchen··on _why's best twitter posts
> By ending with "filling up boats", he implies something on a grander scale than "climbing the logs". In fact, I can't see instantly how you could correct your own attempt, because while "filling up boats" implies necessarily that there are many goats and turtles completely filling these many boats, yours doesn't have an end in sight.

You nailed it, here. This is exactly what I was thinking, but I couldn't put it into words.

mccutchen··on Ask HN: Updated recommendation on Rails versus Django?
> Ruby 1.9 and Python 3 have similar performance, anyway.

That's immaterial in this debate, isn't it? Django doesn't run on Python 3, and Python 3 is still slower than Python 2 (though they're starting to focus on performance improvements in Python 3 with every new release).

mccutchen··on Ask HN: Updated recommendation on Rails versus Django?
> Rails has better support for APIs

What does this mean?

mccutchen··on Two annoying UI mistakes websites make
Agreed. I run into the first one from time to time, and it does bother me a tiny bit. But I just make my window a little bit wider and get over it. Anyway, I'd rather there be no left padding than have a horizontal scrollbar across the bottom.

And I've never actually noticed the second mistake in the wild.

mccutchen··on Don't Like It? Code it Yourself
> If woods was as cheap easy to copy and share as software, carpenters would be building giant Trojan horses in their spare time, to show of their skills and simply for the fun of it.

I really like this analogy. Or whatever it is.

← PreviousPage 3 of 4Next →