HNHacker News
TopNewBestAskShowJobs

dsymonds

1,056 karma · joined March 19, 2012

I'm a software engineer.

Now at Canva. Formerly at Google (2008-2021), Stripe (2021-2022), Atlassian (2022-2024).

submissionscomments
dsymonds··on Rust vs. Go
Your code is tripping over a complexity of closures, not directly loops. I don't think you can write a straightforward loop that has confusing behaviour without also using closures. Your "but nothing too complicated" underplays that.
dsymonds··on Rust vs. Go
The copyright for Go has been

  Copyright YYYY The Go Authors.
ever since its public release in 2009. Google only holds the copyrights for the subset of contributions to Go made by Google employees, but there's no Google credit in the sense you're describing.
dsymonds··on I've removed all ad network code from my blog
That's the artist's fault, not Patreon. I've sponsored some artists on Patreon at $1/mo.

I don't think it's a transaction cost issue; Patreon charges my credit card once per month (aggregating multiple $1-3/mo charges into a single charge), and I believe they pay the artists once per month too (aggregating hundreds or thousands of contributions).

dsymonds··on Grumpy: Go running Python
The original question was about why C extensions are not supported by Go. It's not a matter of performance; it's a matter of correctness.
dsymonds··on Grumpy: Go running Python
Segmented stacks in Go went away in Go 1.3 (https://golang.org/doc/go1.3#stacks; June 2014).

The alternate stack structure is indeed one issue. The bigger one is the GC, though; the Go runtime needs to know which pointers it is responsible for freeing, and which are the responsibility of the C code.

dsymonds··on Waymo: Google's self-driving car company
I've seen what happens when humans have control of cars. It's not pretty.
dsymonds··on Go fonts
I was referring to the Go font, not Go itself; I thought that's what you were referring to.
dsymonds··on Go fonts
Google isn't behind it. Some Google employees who work on Go are behind it (well, and Chuck Bigelow too).

But as keeps getting said: it's about the licensing.

dsymonds··on The Spy Who Added Me on LinkedIn
It's about Russian spies working on Wall Street, and them being busted by the FBI.

Nothing to do with LinkedIn as far as I can see.

dsymonds··on Turning off syntax highlighting
Actually instead they tint the traffic light colours to make them distinguishable to colour blind folk.

It's actually really uncommon to be completely unable to see colour; mostly it is just a problem to be able to distinguish colours.

dsymonds··on Dear Matt Mullenweg: An Open Letter from Wix.com’s CEO Avishai Abrahami
I don't think it has actually been "tested" in the true sense here. I believe every known case has either been settled out of court (so the court hasn't even had a chance to adjudicate), or has been decided based on some other technicality (like unclear authorship/ownership of the original).
dsymonds··on Applying the Linus Torvalds “Good Taste” Coding Requirement
Apart from trivial or throwaway projects, code is read many more times than it is written. Spending time reworking some code to make it easier to read will pay off over the long term.

(There's the question of whether making code more compact but more "clever" truly makes it easier to read, but that's a separate point.)

dsymonds··on The Clockwise/Spiral Rule of C declarations
Go's defererence operator `*` is prefix, like in C.

The point here is that type declarations are regular to read, and those tend to be the tricky ones. Expressions tend not to be so difficult, and are more commonly factored if they become complex. For various reason, type declarations are not so practically factorable.

dsymonds··on Golang – encoding/csv: Reading is slow
The standard regexp package, unlike PCRE, is actually a proper regular expression parser/matcher. Anything doing backtracking is at risk of exponential blowup and isn't safe.

https://swtch.com/~rsc/regexp/regexp1.html

dsymonds··on Google Calendar for Android: Find a time for my meeting
Okay, how do you find a string of N 1's in a very long bit pattern? What's the space and time complexity of your solution? (hint: you can do a lot better)
dsymonds··on Google Calendar for Android: Find a time for my meeting
It only works when you already have access to see the other people's calendars (and hints at this with "Designed specifically for organizations where sharing your calendar with colleagues is the norm").
dsymonds··on Google Calendar for Android: Find a time for my meeting
Try having actual time ranges, not just slots, and you need to find, say, a 30m contiguous block of time.
dsymonds··on Go debugger using delve for Atom
Nobody is "struggling" with debugging Go programs in the way you were implying. You seemed to be deliberately trying to antagonise, disguising it behind "Interesting, ...".
dsymonds··on Go debugger using delve for Atom
No need to troll. GDB has worked (to a limited degree) on Go binaries for years, but has never really understood some of its features; Delve is a newer debugger that's specifically targeted to Go.
dsymonds··on Proposal: Go should have generics
It isn't a new stance either. For years people have been posting their ideas for Go generics to golang-nuts, and the questions inevitably lead to asking how they'd implement it, how it would interact with interfaces, and so on. Most of the time the proposer hadn't thought it all the way through in those regards. The point of publishing these proposals is to help speed up that process: now the first response can be to point at these and ask for a similar level of thoroughness.
dsymonds··on Proposal: Go should have generics
It's not so much "let's all talk about it", but "here's how detailed a proposal needs to be to make it worth considering".
dsymonds··on GCE down in all regions
Google and GCP run on the same infrastructure, but this was a GCP problem, not a problem with that common infrastructure.
dsymonds··on Squash your commits
This is for a "pull request", namely an individual logical change. Your two points don't apply. If you're dealing with whole branches with multiple developers, stick with merging, but this isn't that.
dsymonds··on Go 1.6 is Released
The SSA changes are not in Go 1.6. They're expected to be in Go 1.7.
dsymonds··on Go 1.6 Release Candidate 1 is released
There's nothing specified that setting a value won't cause a map rebalance or rehash. The implementation is allowed to change things under the hood.
dsymonds··on Also Out at Twitter: Engineering Head Roetter (and More to Come)
Large scale distributed systems aren't that simple. I don't know any internal details of Twitter, but from what I've gathered they are trying to hit the kind of QoS you are dismissing. Imagine some celebrity with millions of followers says something controversial: it would be confusing to a lot of people if they start getting retweets or discussions of that tweet significantly before they see that tweet themselves. And that's just one scenario.

I don't know about the 500 vs. 1000 employee question, but Twitter is a big engineering challenge.

dsymonds··on “Subject: Urgent Warning”
What license did you give Waze for using your code? Your repo (I'm guessing https://github.com/robterrell/TVOutManager?) doesn't mention the license, so Waze either shouldn't be using it, or you've specified some license to them directly. Did you pick a license with an attribution-required clause?
dsymonds··on Uber becomes legal in NSW, Australia – taxi owners to be compensated
None of the particular examples you link to are somehow impossible to occur in existing "legal" taxis. Anecdotally, Uber cars are safer in those regards than taxis, despite regulation there.
dsymonds··on Google’s S2, geometry on the sphere, cells and Hilbert curve
There's also a Go port of S2: http://godoc.org/github.com/golang/geo/s2
dsymonds··on How Go was Made
No, goroutines are never cleaned up until they exit. If they are blocked on a channel that no-one else references then they'll be blocked forever.
← PreviousPage 2 of 9Next →