Live data from Hacker News

GitHub: Scaling on Ruby, with a nomadic tech team

medium.com

21–30 of 43 posts

Re: GitHub: Scaling on Ruby, with a nomadic tech team

#21
post #13

> A month ago I was working from a cabin in the woods in Wisconsin. OT, but has anyone else tried this? I've often fantasized about working while embedded in a beautiful nature setting, but I imagine it's tough to find good internet in such a place. I'm in California ... any recommendations? I've also thought of copying Antony Garret Lisi's 'science hostel' idea [1] but for coders / entrepreneurs :) [1]: https://en.w…

I've been surprised how good the internet was out there actually. I'd totally recommend it. Waking up, going for a cycle ride through the woods before working on a porch in the sun is kind of amazing.

Re: GitHub: Scaling on Ruby, with a nomadic tech team

#22
post #5

My favorite quote: this is actually a really pragmatic set of hackers that just hack on Ruby, hack on C and spend their time working on more interesting things using a more stable stack, rather than chasing after the latest and shiny tech.

There's also the 'Ruby syntax and performance at the same time' option - which used to be limited to JRuby but is quickly being replaced with Elixir.

Elixir's syntax is only superficially similar to Ruby's, and its semantics are radically different. I don't think there's any evidence that people who picked up JRuby for performance reasons are notably likely to leave Ruby for Elixir versus other languages.

Re: GitHub: Scaling on Ruby, with a nomadic tech team

#23
post #16

> For a long time, very key bits of our infrastructure were strung together with Shell scripts and simple scripting, and it’s surprisingly effective and still works really very well for us. Key bits of the world's infrastructure still run on a bunch of flimsy shell scripts that seem like they'd break all the time but don't. If a computer program works reliably at all it will probably work reliably indefinitely, assum…

It's interesting why shell scripts are seen as so "fragile" or "flimsy." Why would bash be any more inherently flimsy than any other interpreted language? Why would the global mass of Ruby, JavaScript, Perl, Python, Java, C++, whatever be any less fragile? The whole world is held together by duct tape. At least most shell scripts keep it simple.

Re: GitHub: Scaling on Ruby, with a nomadic tech team

#24
post #13

> A month ago I was working from a cabin in the woods in Wisconsin. OT, but has anyone else tried this? I've often fantasized about working while embedded in a beautiful nature setting, but I imagine it's tough to find good internet in such a place. I'm in California ... any recommendations? I've also thought of copying Antony Garret Lisi's 'science hostel' idea [1] but for coders / entrepreneurs :) [1]: https://en.w…

Depending on what you're doing, poor internet access can be a boon.

Otherwise you'll just be sitting there in your cabin reading Hacker News.

Re: GitHub: Scaling on Ruby, with a nomadic tech team

#25
post #23
post #16

> For a long time, very key bits of our infrastructure were strung together with Shell scripts and simple scripting, and it’s surprisingly effective and still works really very well for us. Key bits of the world's infrastructure still run on a bunch of flimsy shell scripts that seem like they'd break all the time but don't. If a computer program works reliably at all it will probably work reliably indefinitely, assum…

It's interesting why shell scripts are seen as so "fragile" or "flimsy." Why would bash be any more inherently flimsy than any other interpreted language? Why would the global mass of Ruby, JavaScript, Perl, Python, Java, C++, whatever be any less fragile? The whole world is held together by duct tape. At least most shell scripts keep it simple.

> Why would bash be any more inherently flimsy than any other interpreted language?

I'd say that it at least feels this way, because the "global state" in a shell program depends on a lot more properties of the system than the "global state" of a Python program. C/C++ or even entirely static binaries from Go for example (I'm not a Go expert) all eliminate state being 'imported' from the host machine.

Re: GitHub: Scaling on Ruby, with a nomadic tech team

#26
post #23

Earlier quoted context omitted.

It's interesting why shell scripts are seen as so "fragile" or "flimsy." Why would bash be any more inherently flimsy than any other interpreted language? Why would the global mass of Ruby, JavaScript, Perl, Python, Java, C++, whatever be any less fragile? The whole world is held together by duct tape. At least most shell scripts keep it simple.

> Why would bash be any more inherently flimsy than any other interpreted language? I'd say that it at least feels this way, because the "global state" in a shell program depends on a lot more properties of the system than the "global state" of a Python program. C/C++ or even entirely static binaries from Go for example (I'm not a Go expert) all eliminate state being 'imported' from the host machine.

Sure, if the external tools used by the script change, the script's behavior will change... Other languages somewhat solve this with versioned dependencies, but even that's not quite sufficient, which is how come all the rage about reproducible builds. But yeah, good point.

Re: GitHub: Scaling on Ruby, with a nomadic tech team

#27
post #23
post #16

> For a long time, very key bits of our infrastructure were strung together with Shell scripts and simple scripting, and it’s surprisingly effective and still works really very well for us. Key bits of the world's infrastructure still run on a bunch of flimsy shell scripts that seem like they'd break all the time but don't. If a computer program works reliably at all it will probably work reliably indefinitely, assum…

It's interesting why shell scripts are seen as so "fragile" or "flimsy." Why would bash be any more inherently flimsy than any other interpreted language? Why would the global mass of Ruby, JavaScript, Perl, Python, Java, C++, whatever be any less fragile? The whole world is held together by duct tape. At least most shell scripts keep it simple.

One of my pet peeves about shell scripts (speaking as a former UNIX admin) is the lack of static typing or test frameworks. So not only is the language less elegant than modern programming languages, but it's harder to test for bugs and you don't even get type safety.

Re: GitHub: Scaling on Ruby, with a nomadic tech team

#28
post #13

> A month ago I was working from a cabin in the woods in Wisconsin. OT, but has anyone else tried this? I've often fantasized about working while embedded in a beautiful nature setting, but I imagine it's tough to find good internet in such a place. I'm in California ... any recommendations? I've also thought of copying Antony Garret Lisi's 'science hostel' idea [1] but for coders / entrepreneurs :) [1]: https://en.w…

I bought an RV and did this for a while. It was fun but I wasn't any more productive. In the past I also tried moving to a remote beach resort town in Australia with a cofounder. It was fun and beautiful but again no more productive than we were back home.

Is that the point though? To be more productive? I'd be more interested to know if you were at least equally as productive and more importantly happier? I would think it's about improving your work/life balance and long term does that make you more fulfilled?

Re: GitHub: Scaling on Ruby, with a nomadic tech team

#29
post #27
post #23

Earlier quoted context omitted.

It's interesting why shell scripts are seen as so "fragile" or "flimsy." Why would bash be any more inherently flimsy than any other interpreted language? Why would the global mass of Ruby, JavaScript, Perl, Python, Java, C++, whatever be any less fragile? The whole world is held together by duct tape. At least most shell scripts keep it simple.

One of my pet peeves about shell scripts (speaking as a former UNIX admin) is the lack of static typing or test frameworks. So not only is the language less elegant than modern programming languages, but it's harder to test for bugs and you don't even get type safety.

Testing might be less of a common practice for quick shell scripts, but it can be done and there's nothing particularly difficult about it, compared to other languages. Especially with "pure" scripts that don't revolve around system effects... which is the case with other scripting languages too.

As for static typing, agreed, though considering that shell is basically a scriptable FFI, real static typing would probably add a lot of complexity? Attempts at "typed shell" don't seem to go over well, maybe due to "worse is better" dynamics.

BTW, re: testing shell scripts: https://github.com/sstephenson/bats

Re: GitHub: Scaling on Ruby, with a nomadic tech team

#30
post #23
post #16

> For a long time, very key bits of our infrastructure were strung together with Shell scripts and simple scripting, and it’s surprisingly effective and still works really very well for us. Key bits of the world's infrastructure still run on a bunch of flimsy shell scripts that seem like they'd break all the time but don't. If a computer program works reliably at all it will probably work reliably indefinitely, assum…

It's interesting why shell scripts are seen as so "fragile" or "flimsy." Why would bash be any more inherently flimsy than any other interpreted language? Why would the global mass of Ruby, JavaScript, Perl, Python, Java, C++, whatever be any less fragile? The whole world is held together by duct tape. At least most shell scripts keep it simple.

Shell scripts are normally based on scraping the output of other commands via regexs. Properly made Python or Ruby scripts are not.
Post reply on HN