HNHacker News
TopNewBestAskShowJobs

cespare

795 karma · joined March 21, 2013

[ my public key: https://keybase.io/cespare; my proof: https://keybase.io/cespare/sigs/nOyGFfbAG1FF1MfXdkcOOHFFmR4QlXLIzPO7jCaq9As ]
submissionscomments
cespare··on My FOSS Story
A contribution to an open source project is a gift with a hundred strings attached.

In most cases it's a request for more of the maintainer's time to review, fix, and merge a change which they themselves likely don't need (otherwise they would have added it). In my experience, at least 80% of the time I end up spending more time and effort on accepting someone's change than I would have writing it myself. It only becomes net-positive when a contributor has a long-lived interest in the project and turns out to be a capable maintainer with similar sensibilities; even then there is significant ramp-up time. 99% of the time this doesn't happen; most contributions are drive-bys.

P.S. It so happens that that we previously interacted on that very PR thread: https://github.com/BurntSushi/toml/pull/65#issuecomment-1919...

cespare··on How refactoring a macro reduced my Rust project build time from 4 hours to 40sec
I hope this is considered a compiler bug.
cespare··on My FOSS Story
This sense of entitlement is specifically addressed in the post.
cespare··on When setting an environment variable gives you a 40x speedup
The conclusion seems unsatisfactory. Why is lstat so much slower on their system than on the laptop?
cespare··on AWS now supports U2F/Yubikeys
It's frustrating that they only allow a single key. I use 4 different hardware U2F devices. Google, GitHub, Dropbox, and every other service on which I've set up U2F have always allowed me to attach all of my security keys. It seems like AWS is about 3 years behind on this stuff.
cespare··on Cybersecurity Incident Involving Consumer Information
And that unique long pin definitely isn't stored in plaintext in the next column over in their database, right?
cespare··on SHA1 collisions make Git vulnerable to attacks
28 bits is easy. 160 bits is not easy.
cespare··on Lock-Free Bugs
I read it as an intentional play on words.
cespare··on Realize – Go build system with file watchers, live reload and output streams
If I may engage in a little self-promotion, my tool reflex

github.com/cespare/reflex

is similar, but more general-purpose. (It's written in Go, but it's not for Go.)

cespare··on I Love Go; I Hate Go
GOEXPERIMENT=framepointer will be the default in 1.7, due out in a few days (see https://golang.org/issue/15840), so using tools like perf (and presumably dtrace) will be somewhat improved out of the box.

Edit: and the author mentions that at the end of the post. That's what I get for commenting before I've read the whole thing.

cespare··on People can sense single photons
I don't count that against this study -- it isn't about determining the effects of a drug or something like that. If we can show that there exists one person that can detect a single photon in a statistically significant way (vs random guessing), that still seems like a fascinating result.
cespare··on Ask HN: Examples of reliable software you enjoy using
We push on the order of ~a billion messages / day into one of our Kafka clusters without having too much scaling difficulty.
cespare··on Tesla Makes Offer to Acquire SolarCity
Ah, there it is. I had read the blog post but skipped the letter.
cespare··on Tesla Makes Offer to Acquire SolarCity
Isn't it unusual to make an offer as an "open letter" like this? I thought these discussions generally happen behind tightly closed doors.
cespare··on Confirmshaming
Related to http://passwordshaming.tumblr.com/.
cespare··on C++ Has Become More Pythonic (2014)
Go has raw string literals.
cespare··on Wrestling With Inclusion at LambdaConf
> I do think that SL made the right decision though.

I assume you mean LambdaConf, not StrongLoop.

cespare··on Unofficial Google Play Music Desktop Client
> Never again will you have to hunt through your tabs to pause your music,

> Supports media keys (play, pause, stop, next, previous)

A relatively recent Chrome feature that many aren't aware of is the ability of extensions and apps to use Chrome- or desktop-wide (global) hotkeys. So if you're using the Google Play Music extension, you can, for example, hook it up to your media keys and it will work even when Chrome isn't focused. Go to chrome://extensions/ and scroll down the Keyboard shortcuts to learn more.

(I'm sure that there are many other reasons people prefer desktop apps, but this was the big one for me.)

cespare··on Tabs or Spaces? The Top Starred Repositories in GitHub Analysed
Yep, gofmt defines and applies a standard formatting that uses tabs for indentation. Using tabs means that everyone can use their own preferred tab stop in their editor while operating on the same code.
cespare··on Ask HN: In a difficult situation at work. Need advice
It's confusingly worded, but the OP turned down an AWS offer; they don't work at Amazon.
cespare··on Journalling Revisited: XFS vs. EXT4
I saw the same thing a couple of months ago with a key/value datastore that synchronously writes each update to disk. Switching from ext4 to xfs fixed periodic 100ms+ latency spikes.
cespare··on The World Is Not Falling Apart (2014)
It's nice to read an article with a bunch of charts that all have a y-axis minimum of zero.
cespare··on The Yale Problem Begins in High School
BTW the name for this is "false balance".

https://en.wikipedia.org/wiki/False_balance

cespare··on Spectro: Adventures in Go
You can do better -- fmt provides a way to give a dynamic width or precision as an int argument.

  fmt.Fprintf(os.Stderr, "%*s %s\r", paddingWidth, "", legend)
I'd further wonder whether a separate padding calculation is needed at all (too lazy to go read the source on Github at the moment).
cespare··on Stop forcing arbitrary password rules
Here's a collection of offenders:

http://password-shaming.tumblr.com

cespare··on Profiling and Optimizing in Go
It's a kernel bug that was reported to Apple years ago.

Fortunately, it seems that it might finally be fixed in El Capitan:

https://github.com/golang/go/issues/6047#issuecomment-135591...

cespare··on Why Not Insider Trade on Every Company?
So a "trade canary", then.
cespare··on Secure channels over TCP/IP
But the NaCl key is randomly generated for each connection.
cespare··on Secure channels over TCP/IP
Interesting. A couple of questions that come to mind:

- Any rough benchmarks vs. TLS? Or even just back-of-the-envelope math/reasoning behind the claim in the opening paragraph: "without the overhead of TLS".

- Instead of generating 24 PRNG bytes for each message to use as the NaCl nonce, why not use the sequence number each message is assigned anyway?

cespare··on Tetris Written in Go
This was also one of my very first projects when I started writing Go a few years ago.

https://github.com/cespare/go-tetris

← PreviousPage 2 of 4Next →