HNHacker News
TopNewBestAskShowJobs

BarkMore

1,454 karma · joined October 14, 2010

submissionscomments
BarkMore··on A simple virtualenv for Go
Virutalenv also controls the application's runtime environment. This is not needed for Go.
BarkMore··on A simple virtualenv for Go
It's too simple. PATH grows with each use of the tool.
BarkMore··on Go 1.2
Self hosting is mentioned in the FAQ: http://golang.org/doc/faq#What_compiler_technology_is_used_t...
BarkMore··on Is Google signing your chat messages?
It's plausible that Google named the feature before learning about OTR. Google's off the record chat and OTR were both announced in 2004.
BarkMore··on T-Mobile Rocks
The deal failed: http://en.wikipedia.org/wiki/Attempted_purchase_of_T-Mobile_...
BarkMore··on Go After 2 Years in Production
http://tour.golang.org/#1
BarkMore··on Go After 2 Years in Production
Absolute import paths are preferred. If the import path for the importing package is [app], then import the package using `import "[app]/[internal_module]"`.
BarkMore··on Go After 2 Years in Production
Organize your packages in a directory tree. You can check the entire tree into a single repository. There's no requirement to put the code in a repository or use 'go get'.

The page at http://golang.org/doc/code.html explains how to organize code into packages.

BarkMore··on Rewriting a large production system in Go
It is not the case that every function most return an error.

The Go creators do understand the purpose and usefulness of exceptions. They chose not to use exceptions with this knowledge. See http://golang.org/doc/faq#exceptions for their reasons.

BarkMore··on Scala vs. Go TCP Benchmark
Nagle's algorithm is disabled by default in Go (http://golang.org/pkg/net/#TCPConn.SetNoDelay).
BarkMore··on Application Development in Go
Nathan Youngman's document is a good summary. https://docs.google.com/document/d/1_IJTRD6dDQvyCfyim4KJexq8...

There are many threads on the mail list. There was probably one this week :).

BarkMore··on Application Development in Go
The issues with package versioning and dependency management are well known and frequently discussed in the Go community. This article does not cover new ground in that discussion.

To list the dependencies for the application github.com/user/myapp, run the command:

    go list -f '{{.Deps}}' github.com/user/myapp
The command

   go build github.com/mypackage
builds github.com/mypackage and its dependencies. If github.com/mypackage is a command (a package with name 'main'), then the resulting binary is written to the current working directory. If github.com/mypackage is not a command, then you probably want

    go install github.com/mypackage
This command builds and installs the package.
BarkMore··on Application Development in Go
Although the author touches on some real issues with writing applications in Go, I do not recommend this article. The author does not follow the recommended practice for writing Go applications and the author has misconceptions about the Go tools.

a developer can not expect anyone to individually go get 20-plus different packages

Because the 'go get' command fetches dependencies recursively, there's no need to 'go get' packages individually.

the developer is forced to remember which packages the application uses, and which are other projects

The 'go list' command will tell you the dependencies for an application: go list -f '{{.Deps}}' path/to/application

For Slartibartfast I decided to give this project its own Workspace, with its own $GOPATH, and put the entire Workspace into git.

This is not the recommended practice.

each package is expected to be in its own source repository

A repository can contain more than one package. There's no requirement that a package exist in a repository.

go get probably works great for the needs inside of Google

Google does not use 'go get' internally.

anything placed in the src/[package] directory gets compiled into the resulting binary

Go files matching the build tags are compiled into the resulting binary. Everything else is ignored, including Go files that don't match the build tags.

That's enough nitpicking. The take away that I get from reading this article is that "How to Write Go Code" (http://golang.org/doc/code.html) needs improvement. The document was overhauled earlier this year to make it easier to understand. Apparently, it's not easy enough.

BarkMore··on Twelve Go Best Practices
There's an issue on mobile support: https://code.google.com/p/go/issues/detail?id=4672 It looks like somebody is going to work on it.
BarkMore··on Golang Resources
The Go Wiki (https://code.google.com/p/go-wiki/w/list) is also a good place to find Go language resources and information.

GoDoc (http://godoc.org/) is a great place to search for Go packages and read the doc online.

BarkMore··on Stunned by Go
Roger Peppe and Tim Penhey both work on Juju at Canonical. One of them wrote to the mail list regarding the issue that they encountered. The other vented his frustration on his personal blog.
BarkMore··on Stunned by Go
This issue was recently discussed on the development mail list: https://groups.google.com/d/msg/golang-dev/o9i_SbGRrzI/gWvnB...

The fix is to document that Close is called: https://codereview.appspot.com/11432044/

BarkMore··on Go's range clause
The Go Team regrets defining the scope of the range variables as the for statement. I am not aware of any regrets regarding the alias issue.

The range variable scope is the one big gotcha that's missing from the article. See http://golang.org/doc/faq#closures_and_goroutines for one discussion of the issue.

BarkMore··on Golang Diaries I
That's why he did it, but it's not necessary. Google search can determine that a page is about the Go programming language without repeated use of "golang".
BarkMore··on Golang Diaries I
Why can't he use the automatically differentiated leading underscore test?

The go tool currently ignores all files with a leading '_' in the name. Changing the tool to use a file with the name '_test.go' complicates the rule for ignored files and might break an existing project. The workaround of using 'all_test.go' is not onerous.

BarkMore··on Google App Engine now supports Git Push-To-Deploy
This comment https://groups.google.com/d/msg/google-appengine-go/iV5UkqD5... implies that it will happen for Go.
BarkMore··on Google Abandons Open Standards for Instant Messaging
Hangouts is on the listed of supported products for Google Takeout. Google Takeout provides a way to download your data. It's not a protocol adapter.
BarkMore··on Google defends dropping chat federation with inaccurate comments
* The problem with XMPP is that it requires several open ports (5222, 5223, 5269, 5298, 8010) on the client.*

XMPP does not require any open ports on a client.

BarkMore··on Google defends dropping chat federation with inaccurate comments
I believe I get to downplay that because the federation they joined helped grow their own network

Do you have any evidence that federation helped Google grow the network in a significant way?

allowed them to do Google Talk for other domains

Are you referring to Google Talk integration with Google Apps For Your Domain? Outside evidence suggests that federation is not used between these domains. For example XMPP SRV records are not required and ignored if present.

BarkMore··on A Change to Google Code Download Service
Yeah, Google Talk will probably be included on the third spring cleaning list. When Google drops support for XMPP federation, it will be because they are killing an entire product. It will not be because they are disabling a feature.
BarkMore··on A Change to Google Code Download Service
Google Talk supports XMPP federation and has done so since January 2006. To deal with an onslaught of spam, Google disabled incoming subscription requests for a short time. During this time, all other XMPP federation features continued to work.

Hangouts does not use XMPP, but it's a feature that they didn't implement. It's not something that they disabled.

BarkMore··on Our XMPP services at DuckDuckGo
There is no federated client-independent IM future with Hangouts because the Hangout model does not map to instant messaging. It's not about protocol support.
BarkMore··on Our XMPP services at DuckDuckGo
Google Talk supports XMPP federation and has done so since January 2006.

To deal with an onslaught of spam, Google disabled incoming subscription requests for a short time. During this time, all other XMPP federation features continued to work.

BarkMore··on The Reliability of Go
List of organizations that use Go: https://code.google.com/p/go-wiki/wiki/GoUsers
BarkMore··on Ask HN: Who built XMLHttpRequest at Microsoft in 1999?
Starting with IE4, Internet Explorer provided an asynchronous interface for fetching URLs. If I recall correctly, you had to go out of your way to use the synchronous interface.

It's great that somebody made XHR asynchronous, but it was just going with the flow of everything else in IE-land.

← PreviousPage 3 of 10Next →