Live data from Hacker News

Building GitHub with Ruby on Rails

github.blog

331–332 of 332 posts

Re: Building GitHub with Ruby on Rails

#331
post #328

Earlier quoted context omitted.

I've written in python, C++, Ruby, and Go. I hear you on the compilers, and I do miss them at least a little whenever I don't have them. But my goodness, there's really something fun in Ruby. I think it shines in smaller codebases, situations where you can have some hope of understanding 90% of everything that's going on as a single developer (and honestly part of the sales pitch of microservices is that you know the…

How many environments are really out there where developers blissfully work in their microservices silo? There are a lot of happy promises and sunny-day theories, but in reality it's an awful mess, and you can't really get anything done without understanding the services hairball. How are you supposed to fix a bug in your own service if you don't know how to set up a specific permutation of services locally in order…

^ all of this is true. I just meant that there's much less likely to be the RESTful equivalent of "method missing" or accessing somebody's __private_field__, hijacking their vtable pointer to redefine the method, etc. And by all means tell me your horror stories :)

or maybe put it this way: the big-ball-of-mud formed by metaprogramming tricks feels like it has boundaries that are permeable in a particularly arcane way, whereas the big ball of mud formed by microservices has boundaries that are permeable "merely" by distributing or spanning of both humans and logic.

Re: Building GitHub with Ruby on Rails

#332

GitHub running off the main branch is fascinating, and initially sounds mad, but makes so much sense. Assuming they have very high test coverage, running against mainline Rails isn't really any different to having the fork they had before, but they have more influence on future development. It must also be a massive boon for the Rails ecosystem to have such a large property running off the head. Doesn't anyone know o…

You MUST have an insane amount of test coverage to trust something like this to Ruby. I'm new to Ruby, with 13 yoe as a SW engineer. Personally, I find it a very hard language to master. Writing tests often feels like I'm settings variables left and right without seeing them being used in the current context. But that then happens to be part of the let() way in rspec. Now you might say: why use rspec? I inherited thi…

FYI, and very late to the game so the short version: the thing to use `let` for that'll make it click is doing things like setting up all the fixtures for "correct" / "normal" execution, and then piecemeal overriding them in nested describe/context blocks to show what should happen in abnormal situations. Basically, "here's what normal looks like, and then here's a deviation from that".

Ofc, you'll shoot yourself in the foot doing that if you let individual test files get to big, but that's a bad idea anyway sooo.

Post reply on HN