At least as much as you're willing to share. :-)
How We Went from 30 Servers to 2: Go
61–70 of 511 posts
Re: How We Went from 30 Servers to 2: Go
#62You can say anything bad about the performance of Ruby and Rails etc. but rspec, cucumber, capybara, vcr, factorygirl are really important features to start from zero and reach a viable product.
Re: How We Went from 30 Servers to 2: Go
#63Earlier quoted context omitted.
No, it can't. People don't use only Java because they "just want to get things done." They use only Java because that's all they learned, and all they need for their day job. If not, then they will invariably step over languages that are very interesting but obscure.
I'll give an anecdote. I've spent the last 7 years using Ada, a language that is /both/ interesting and obscure, almost exclusively. It's really a fantastic language that is frequently neglected much like poor Go, but with more merit. Anyway, in preparing the launch of my company's first iteration of its podcast network ( http://76streetnetwork.com ), I absolutely wanted to use Ada, but the allure of the utterly fant…
Re: How We Went from 30 Servers to 2: Go
#64Interesting to hear of Go being used in production. It'd be great to hear some more details on your setup when deploying the go processes - how are you managing failover, what's your load balancer, and how are you handling swapping out processes etc? Are you compiling on the server or local machines before deployment? Most other languages have lots of solutions on the deployment side now but Go is so new there isn't…
For my (toy) apps, I've been compiling locally and pushing to the server. It's trivial to compile for a target platform and architecture, and you get a single compiled binary. Certainly my response isn't getting all the way to what you're looking for, but it's not difficult to write shell scripts that manage the deploy process from here.
Re: How We Went from 30 Servers to 2: Go
#65Last month I picked NodeJS and build couple of sites with it. This month, I want to pick up something new. I was hesitating between Python and Go. Can you answer couple of questions about Go from someone coming from NodeJS: 1- What is the state of the external Go libraries, especially DB (MySql), caching libraries (memcached), protocol libraries (Oauth). Are they stable 100% 2- How easy is logging and tracing in go?…
Memcached's author (Brad Fitzpatrick) is a Go user, and wrote a memcache client for Go. Go has a bunch of good stuff surrounding SQL. I haven't used MySQL, personally, so I can't comment on which MySQL driver is best, but I know YouTube uses Go for something related to MySQL, though I can't say for certain exactly what. http://code.google.com/p/vitess The goauth2 ( http://code.google.com/p/goauth2 ) library is writte…
And http://github.com/lib/pq for Postgres.
Re: How We Went from 30 Servers to 2: Go
#66We're porting over our Arabic sentiment engine, currently in Python/Cython to Go. If you're dealing with simple data structures, going from Python to Go is almost a line-for-line port, but the performance benefits are, of course, massive. Our benchmarks show a 40x speed improvement so far.
Lastly, for anyone thinking about taking the plunge, use Go tip (from their source code repo) - don't use their "stable" releases. They fix bugs so fast you'll always want to be current.
Re: How We Went from 30 Servers to 2: Go
#67Hey that's my photo of the GOpher! :) [1] http://www.flickr.com/photos/jianshen/8080852738/in/photostr...
[1] https://plus.google.com/photos/100264837158995116368/albums/...
Re: How We Went from 30 Servers to 2: Go
#68I know HN has a hard-on for Go but come on.
Re: How We Went from 30 Servers to 2: Go
#69What changed in the architecture? It is rather interesting that by just having a language change you could remove 28 servers from the system.
My guess is that removing 2-5 layers of abstraction can get you pretty far along.
Re: How We Went from 30 Servers to 2: Go
#70Earlier quoted context omitted.
It's quite strange to me that people would identify as or look for a "[language] programmer". Sure, I happen to write more C++, Python, and C than anything else, but I've dabbled in just about everything and could reach comfortable proficiency in a matter of weeks. Most of programming and all of computer science is universal. Any serious programmer should be a polyglot by default.
What, you don't know about The Programmer Hierarchy? https://news.ycombinator.com/item?id=1622553 http://lukewelling.com/wp-content/uploads/2006/08/programmer... I find a lot of people who use high-level languages are terrified of tediously direct contact with the machine, and a lot of people who use low-level languages are terrified of the performance costs of abstraction. I'm terrified of both. I think that in gene…