[x/blog] blog: fix code.google.com links

Deprecated links to code.google.com were replaced with relevant links.

Fixes golang/go#23688

Change-Id: I6f97ce072258a3a319df22d1df5773726ad5b801
Reviewed-on: https://go-review.googlesource.com/94235
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
X-Blog-Commit: b75d504c8a09e20834f367977a6dc71353d8131a
diff --git a/blog/content/introducing-gofix.article b/blog/content/introducing-gofix.article
index 2e64e4e..3b93379 100644
--- a/blog/content/introducing-gofix.article
+++ b/blog/content/introducing-gofix.article
@@ -12,7 +12,7 @@
 
 Each time we make a significant API change we’ll add code to gofix to take care of the conversion, as much as mechanically possible.  When you update to a new Go release and your code no longer builds, just run gofix on your source directory.
 
-You can extend gofix to support changes to your own APIs.  The gofix program is a simple driver around plugins called fixes that each handle a particular API change.  Right now, writing a new fix requires doing some scanning and rewriting of the go/ast syntax tree, usually in proportion to how complex the API changes are.  If you want to explore, the [[https://code.google.com/p/go/source/browse/src/cmd/fix/netdial.go?name=go1][`netdialFix`]], [[http://code.google.com/p/go/source/browse/src/cmd/fix/osopen.go?name=go1][`osopenFix`]], [[http://code.google.com/p/go/source/browse/src/cmd/fix/httpserver.go?name=go1][`httpserverFix`]], and [[http://code.google.com/p/go/source/browse/src/cmd/fix/reflect.go?name=go1][`reflectFix`]] are all illustrative examples, in increasing order of complexity.
+You can extend gofix to support changes to your own APIs.  The gofix program is a simple driver around plugins called fixes that each handle a particular API change.  Right now, writing a new fix requires doing some scanning and rewriting of the go/ast syntax tree, usually in proportion to how complex the API changes are.  If you want to explore, the [[https://go.googlesource.com/go/+/go1/src/cmd/fix/netdial.go][`netdialFix`]], [[https://go.googlesource.com/go/+/go1/src/cmd/fix/osopen.go][`osopenFix`]], [[https://go.googlesource.com/go/+/go1/src/cmd/fix/httpserver.go][`httpserverFix`]], and [[https://go.googlesource.com/go/+/go1/src/cmd/fix/reflect.go][`reflectFix`]] are all illustrative examples, in increasing order of complexity.
 
 We write Go code too, of course, and our code is just as affected by these API changes as yours. Typically, we write the gofix support at the same time as the API change and then use gofix to rewrite the uses in the main source tree. We use gofix to update other Go code bases and our personal projects. We even use gofix to update Google’s internal source tree when it is time to build against a new Go release.
 
diff --git a/blog/content/real-go-projects-smarttwitter-and-webgo.article b/blog/content/real-go-projects-smarttwitter-and-webgo.article
index 1bb9726..3643296 100644
--- a/blog/content/real-go-projects-smarttwitter-and-webgo.article
+++ b/blog/content/real-go-projects-smarttwitter-and-webgo.article
@@ -14,7 +14,7 @@
 
 One weekend I decided to write a simple Facebook application: it would re-post your Twitter status updates to your Facebook profile. There is an official Twitter application to do this, but it re-posts everything, creating noise in your Facebook feed. My application allowed you to filter retweets, mentions, hashtags, replies, and more. This turned into [[http://www.facebook.com/apps/application.php?id=135488932982][Smart Twitter]], which currently has nearly 90,000 users.
 
-The entire program is written in Go, and uses [[http://code.google.com/p/redis/][Redis]] as its storage back-end. It is very fast and robust. It currently processes about two dozen tweets per second, and makes heavy use of Go's channels. It runs on a single Virtual Private Server instance with 2GB of RAM, which has no problem handling the load. Smart Twitter uses very little CPU time, and is almost entirely memory-bound as the entire database is kept in memory. At any given time there are around 10 goroutines running concurrently: one accepting HTTP connections, another reading from the Twitter Streaming API, a couple for error handling, and the rest either processing web requests or re-posting incoming tweets.
+The entire program is written in Go, and uses [[https://redis.io/][Redis]] as its storage back-end. It is very fast and robust. It currently processes about two dozen tweets per second, and makes heavy use of Go's channels. It runs on a single Virtual Private Server instance with 2GB of RAM, which has no problem handling the load. Smart Twitter uses very little CPU time, and is almost entirely memory-bound as the entire database is kept in memory. At any given time there are around 10 goroutines running concurrently: one accepting HTTP connections, another reading from the Twitter Streaming API, a couple for error handling, and the rest either processing web requests or re-posting incoming tweets.
 
 Smart Twitter also spawned other open-source Go projects: [[http://github.com/hoisie/mustache.go][mustache.go]], [[http://github.com/hoisie/redis.go][redis.go]], and [[http://github.com/hoisie/twitterstream][twitterstream]].
 
diff --git a/blog/content/the-app-engine-sdk-and-workspaces-gopath.article b/blog/content/the-app-engine-sdk-and-workspaces-gopath.article
index 1fd42c8..b0605d1 100644
--- a/blog/content/the-app-engine-sdk-and-workspaces-gopath.article
+++ b/blog/content/the-app-engine-sdk-and-workspaces-gopath.article
@@ -97,7 +97,7 @@
 	        http.ListenAndServe("localhost:8080", nil)        
 	    }
 
-To see a more complex hybrid app, take a look at the [[http://code.google.com/p/go/source/browse/?repo=talks#hg%2Fpresent][present tool]].
+To see a more complex hybrid app, take a look at the [[https://godoc.org/golang.org/x/tools/present][present tool]].
 
 * Conclusions