HNHacker News
TopNewBestAskShowJobs

defunkt

1,349 karma · joined July 9, 2008

my other car is a time machine
submissionscomments
defunkt··on Github and Engineyard part ways
Rather than do the re-architecture now, they've chosen instead to move to a vendor who can provide them a high performance, high availability, non-commodity, proprietary network file server infrastructure. I suspect it will work well for them, and we'll all enjoy a faster Github. :-)

GitHub has been working on a re-architecture since our last major feature release, which was GitHub Issues in April.

And we can't wait to roll it out.

defunkt··on Ask HN: Any tips on giving speeches?
Practice, practice, practice. Record yourself practicing and watch it later.
defunkt··on Google user comment in 2000
Don't forget Metacrawler!
defunkt··on Why "require 'rubygems'" Is Wrong
No one has suggested, is suggesting, or will suggest that you stop using Rubygems. That is not what this is about in any sense of the phrase. Everyone loves Rubygems, including Ryan Tomayko.

This is about the best way to use Rubygems. Check out Josh Peek's recent article: http://weblog.rubyonrails.org/2009/9/1/gem-packaging-best-pr...

There are ways to use Rubygems without putting "require 'rubygems'" in your code. Those are the correct, most portable, least painful ways of using Rubygems. Learn them and cherish them!

That is what this is about: how you are using Rubygems, not whether or not to use them.

defunkt··on The bar for success in our industry is too low
I think the point is that the article is talking explicitly about how to "turn a profit" and using, as an example, a company which does not turn a profit.
defunkt··on Getting Started with MacRuby
This was the thing that sold me:

  $ macirb
  >> ''.class
  => NSMutableString
MacRuby is Obj-C! Of course, this works both ways: some stdlib stuff is currently less reliable than using the Cocoa framework equivalent.

Either way they're making really awesome progress and it's an exciting project to watch.

defunkt··on Why "require 'rubygems'" Is Wrong
Thanks! Both the Rubygems Bundler and Rip (as Josh explains) are great examples of why "require 'rubygems'" might not always be the best idea.

Bundler: http://github.com/wycats/bundler

Rip: http://hellorip.com/

defunkt··on Why "require 'rubygems'" Is Wrong
I'm also a crank.

So is Rails core member Yehuda Katz.

So is Rails core member Josh Peek.

So is Rails core member Jeremy Kemper.

Calling Ryan "the extreme odd one out" is a) untrue and b) unfair.

defunkt··on Results of The Hacker Survey
Mirror: http://defunkt.github.com/hacker-survey/

CSV: http://defunkt.github.com/hacker-survey/data.csv

defunkt··on Teaching Ruby to High School Girls
Absolutely. My high school taught C++ and it convinced me to not major in computer science. I was hacking on Perl and Visual Basic at home and couldn't imagine four years of pointers, segfaults, getters, and setters. I just wanted to have fun.
defunkt··on Rock Band. Guitar Hero. Why They Are Doomed.
But playing guitar in Rock Band can make you want to learn real guitar, regardless of whether you've actually built up some skills yet.
defunkt··on Yehuda Katz's 10 Favorite Things About Ruby
Again: you are using two libraries (Rails and plugin X) that depend on their own versions of try, which they include.

One of the libraries is going to break.

defunkt··on Yehuda Katz's 10 Favorite Things About Ruby
I would argue that, no, there isn't "standard Ruby behavior" in this instance. It's just a method.
defunkt··on Yehuda Katz's 10 Favorite Things About Ruby
Unfortunately try illustrates the exact problem with open classes so many non-Rubyists are afraid of: collisions.

try was originally defined as:

  class Object
    def try(method)
      send method if respond_to? method
    end
  end
  
In Rails it is defined as:

  class Object
    alias_method :try, :__send__
  end

  class NilClass 
    def try(*args)
      nil
    end
  end
The following code will exhibit different behavior depending on which version of try you're using:

  [].try :upcase
For example:

  # original try
  >> [].try :upcase
  => nil  

  # rails try
  >> [].try :upcase
  NoMethodError: undefined method `upcase' for []:Array
If Rails uses try internally, and a Rails plugin you've loaded depends on the original version of try, what now? They both behave differently and, presumably, code using them depends on their specific behavior.

Also don't forget the dozen or so other versions of try people have added to their own plugins and apps...

defunkt··on Dive Into HTML 5 preview (by Mark Pilgrim)
The canvas chapter is great. Can't wait for him to finish it.
defunkt··on Rework: Unveiling the cover
From the comments: Getting Real was primarily about software development. Rework is primarily about starting, running, building, growing (or not growing) a business. There are some shared ideas between the books, but Rework was written from scratch. It’s a new book.

But I still think you're right: this is a book for people who buy business books in airports and read them on planes. Which is where 37s probably needs to be heading - my dad wears a suit to work and has never heard of them, but I think he'd get excited by some of their ideas.

defunkt··on Multi-Line Lambdas in Python Using the With Statement
Totally agree. I think, more importantly than being 'ugly' or hard to mock, your second example is hard to understand. It took me too long to realize it was identical to your first example.
defunkt··on _why: "Not all code needs to be a factory, some of it can just be origami."
This reminds me of my favorite _why quote, paraphrased:

"Camping is magic, plus some other stuff."

(camping is an anagram of magicnp)

defunkt··on Temperature monitoring with Arc + Arduino
So cool. Ken's posts make me want a SheevaPlug badly. Not sure what for or why - I just know I need one.
defunkt··on _why is no more
http://hacketyhack.net/ also

This is a sad day.

defunkt··on Self: The Power of Simplicity
Holy awesome, I'd never seen the Quartz version. It works great! I love that my mouse works the way I expect it to :)

I may just start playing with it again. Thanks for responding.

defunkt··on Self: The Power of Simplicity
Self is fun but the X-Windows powered GUI is dated and hard to use. I'd love a modern version.
defunkt··on Revenue on websites
Charge people for something worth paying for.
defunkt··on Ask HN: Programming books to read while on vacation?
Grab The Little Schemer and a notebook. Do all exercises in the notebook with a pencil, without a computer.

It'll make you a better Python programmer for sure.

defunkt··on WebFinger
This would be much more exciting if it was JSON. I'm not sure why new web-related standards still use XML.
defunkt··on Lisp and Smalltalk are dead: It’s C all the way down
Except I never learned C the first time. That's the point.
defunkt··on Lisp and Smalltalk are dead: It’s C all the way down
I took classes on C in school. I never really "got it." I then re-learned C after learning Python (and other higher level languages).

I found it much easier to learn on the second try. On the first try I was learning about syntax, functions, loops, variables, and types as well as memory management, header files, and pointers. On the second try I was only learning about memory management, header files, and pointers - I already knew about the other stuff. On top of that, pointers were much easier to grasp because I had experience with 'references' in higher level languages.

It's great to learn C, but I always recommend people learn to program by way of something like Python or Ruby. It's hard to beat print "hello" when you're just starting out.

defunkt··on GitHub Talk on Social Coding at Yahoo
Dav Glass isn't mic'd during the intro - I promise the sound improves.
defunkt··on How I explained REST to my wife
He's smart! and It's amazing is just how Ryan talks. He's extremely energetic and really fun to have technical discussions with because of it.
defunkt··on Ask HN: Are you a founder?
To elaborate: I think we've struck a really good balance at GitHub when it comes to our roles.

mojombo has a background working with distributed systems (at Powerset) as well as in design (he freelanced for a few years). Which means he's our main UI / design person as well as the guy overseeing the "big picture" backend stuff. For instance, right now we're in the process of sharding all of our git repository data to get away from our network file system bottleneck. mojombo's leading that project and it's going great - we should see the plans come to fruition in the near future. He's also the guy that makes changes to the git-daemons and other sysadminy stuff.

pjhyett, one of the other founders, is a seasoned web developer with experience in (among other things) Java and Rails. Which made him the ideal head of our Firewall Install product (since it uses JRuby). He's currently on a trip to NYC to meet with potential FI clients, and is in charge of adding features to it, fixing bugs, basically lording over the product.

schacon isn't technically a founder, but we're a very flat (and small) organization. He's a Git expert so we deploy him on any and all things Git: weird server errors, crazy new projects (like the Fork Queue and Gist), and our issues scaling Git itself. He's currently experimenting with a Cassandra-backed git-daemon to help speed up clones (specifically the "Counting objects" / building packfile phase) and give us the ability to easily put mirrors in other continents.

Tekkub is our customer support expert: he hangs out in irc, on the mailing list, and oversees the help site. He has programming background (we found him because of all his Lua stuff on GitHub) which means he can write his own tools and knows Git very well.

I'm the third founder. I mostly hang out here.

← PreviousPage 2 of 6Next →