Live data from Hacker News

I rewrote my blog in Go

ironzebra.com

51–60 of 77 posts

Re: I rewrote my blog in Go

#51
post #6

How did you achieve a 16 second response time for your blog ? What the heck were you doing?

This struck me as really weird too. I Was half expecting "and I removed FullHDLogo.BMP but it's probably Go!" toward the end.

16 seconds is crazy slow, a sure sign that previously Something Wasn't Right.

Re: I rewrote my blog in Go

#52
post #42

Earlier quoted context omitted.

Did you read the next sentence? "All these things influence the validity of a direct speed comparison between the two versions, but the speed improvement is nevertheless too overwhelming to attribute only to these small changes. And in fact, many of these changes might even have negatively impacted the speed of the new version in exchange for saving on the monthly bills."

That assertion isn't backed up with data, though. Without showing how many seconds were spent loading Disqus, we don't know how much of the load time improvement was based on eliminating Disqus vs. the switch to Go. Based on experience I'm guessing the lion's share of the gain is due to eliminating Disqus.

Isn't Disqus loaded client-side? If so, it's not comparing to Go as much as rendering comments server-side, which you'd see performance increases with PHP or Rails as well.

Re: I rewrote my blog in Go

#53
Anytime you move rendering off the client (Disqus) you'll see performance increases. Everyone is focused on server-side speed, though most of the load time is network latency and DOM rendering.

Re: I rewrote my blog in Go

#54
post #33

"I am now loading less static assets. I removed the Disqus comments and the many many lines of CSS from the old site and replaced it with only a couple of lines of CSS alongside a CDN-hosted copy of Twitter Bootstrap. Finally, the Go site is deployed to a free instance of Heroku and the MongoDB hosted on a developer version of Mongolab, while the old Django site was hosted on a Webfaction shared server." So...the Pyt…

I recently benchmarked an uncached remote ASP site versus a local Node.js copy that returned identical HTML. Of course, Node was 100x as fast. (1ms vs 200ms)

However, in the browser, they felt like the same site. The 199ms head start resulted in only 50-75ms difference in the browser. Anyway, it turned our focus from backend work to CSS and image improvements.

Re: I rewrote my blog in Go

#55
post #8

While rewriting things in different language is fun (and fun is a great reason to do stuff), the speed of delivering what is ostensibly static content is a solved problem. This was completely unnecessary. Bake the blog post into static HTML and tune up Nginx to shove it down the wires as fast as possible. Stick it on an CDN somewhere if it's important. Then move on to a problem that doesn't already have an optimal so…

Its his personal blog, what do you care what he writes it in? Maybe if it was 10 years ago and getting slashdotted was still a concern you could point out a better way, but if a free Heroku instance can keep up with HN traffic, then perhaps "doing it right" no longer matters. It seems the OP wanted to learn something and see if it could be done, so I'd say he achieved his goals. Getting all butthurt that he didn't achieve yours instead just seems silly.

Re: I rewrote my blog in Go

#56
post #50
post #21

Earlier quoted context omitted.

First, just a note, you can only see that section if you're logged in. Second, I disagree that it is 'directly against the rules' - no where there does it say specifically that you must not post solutions elsewhere. I think the intent is there - but if someone simply cribs off another answer somewhere, they're not really learning anyway and are really robbing themselves. Project Euler is altruistic anyway and there's…

let me guess, you only managed to solve "publicly available" problems right?

In the interests of full disclosure, I have only answered 3 problems on Project Euler, and I did them all myself, because I have the willpower to not look at other answers before creating my own. (I have the same username there: http://projecteuler.net/profile/jcurbo.png) Anyone looking to learn something and not just check boxes will do the work and exert the same willpower to ignore solutions already out there.

The core of this problem exists in education at all levels; the learner must be coerced or convinced that it is in their best interest to actually learn the content rather than cheat.

Re: I rewrote my blog in Go

#57
post #27

Earlier quoted context omitted.

Save yourself the pain and go with Scala and the JVM ... mature platform with battle tested GCs, all the libraries and concurrency idioms you'll ever need and a modern FP language designed for scale.

Scala problems (in the old days): - You can't find people to work on it - Unbounded complexity, type-masturbation - Slow compilation (you need a better computer/SSD) - Might as well use Java, the tooling for Java is great Do you know if those are still true?

It has gotten a lot better on all fronts.

Re: I rewrote my blog in Go

#59
post #28

Earlier quoted context omitted.

Save yourself the pain and go with Scala and the JVM ... mature platform with battle tested GCs, all the libraries and concurrency idioms you'll ever need and a modern FP language designed for scale.

Only if you don't mind paying approximately an order of magnitude penalty in RAM usage, which has long been an achilles heel of JVM languages. http://benchmarksgame.alioth.debian.org/u64/benchmark.php?te...

It uses exactly as much memory as you specify. It would be pretty stupid to have plenty of RAM and NOT using it. With enough memory GC becomes essentially free, by not having to do any work.
Post reply on HN